Jump to content


  • Content count

  • Joined

  • Last visited

Posts posted by SCPCD

  1. Ooops, I forgot we can do C :D

    Another solution is to add, into the makefile, a line that execute JiFFi automatically to convert the binary file to another file format, since JiFFi can be used in command line.

    I think that something like that should work :

        wine jiffi -i test.bin -o test.j64 -load 4000 -start 4000 -rom


    For VBCC/GCC, I don't know which one is better to another.

    I think that it depends of the user preference.


  2. There is a version that use the skunboard interface :



    EDIT :

    Sorry, I think it was somonelse that has a skunkboard :P


    I think that Orion_ use another way : maybe with BJL.

    Maybe in his JagCD dev pack : http://onorisoft.free.fr/rdl.php?url=jag/jagcddevpack.zip


    Else there is another solution by using JiFFi to produced the JagCD directly on the PC (only for BJL type application) :


  3. Normalement dans les dernières version de VJ tu as un parametre pour basculer en mode "alpine" (--alpine je crois, il faudrait vérifier) qui possede des interfaces pour aider au débuggage.

    Si je ne dis pas de conneries, tu peux du coup lui faire avaler n'importe quel binaire (via la ligne de commande), et me semble qu'il y a aussi un parametre pour choisir l'adresse de destination.



    Néanmoins, je te conseil de générer un .abs ("absolute file") plutot qu'un .bin lors du linkage afin qu'il integre l'adresse d'upload et de démarrage du binaire directement dans le fichier (il suffit de retirer le parametre "-n" dans la ligne de commande du linker).

    Tu n'auras ainsi plus besoin de passer par JiFFi vu que VJ supporte directement les .abs.



    Pour la deuxieme question, je pense que c'est un bug de VJ :P



    Et welcome :)


  4. I think that you need to add "-tao" on both command line to use the "Track At Once" writing mode :

    The log show that the "-tao" is automaticaly set for the multisession mode (-multi), but the "-sao" (Session At Once) is set for the next session, but in multisession, -tao should always be set.


    your command line should be :

    cdrecord -speed=1 -dev=0,1,0 -pad -tao -audio -multi warning.wav
    cdrecord -speed=1 -dev=0,1,0 -pad -tao -audio cden16cd.raw pm_dummy.raw trk_2.raw

    Sorry to not see it before you write a CD :(

  5. A few questions:


    1. What is the disadvantage of only have a 16-bit bus access oppose to the standard 32-bit real cartridges use? Will it be slower at loading/accessing?

    Standard jaguar cartridge is 32-bit in 10 clock cycles speed.

    New generation cartridge with flash memory in 16-bit works in 5 clock cycles.

    So we can say that the throughput is almost the same.

    2. I didn't see an answer posted in regards to using sizes above 4MB. Would this require some sort of multi-banking or is 6MB+ actually possible rather easily?

    The Jaguar ROM address space is limited to a direct 6MB, to use more memory, you need external hardware to do software bankswitching with, for example, logical device, PAL, GAL or CPLD.



  6. Yes, that is what the document states 1K Addresses (locations) x 32 bits = 32786 / 8 = 4K bytes but...

    $F03000 to $F03FFF = 4096 Addresses (locations) = x 32 bits / 8 = 16K bytes!


    So why does document say 4K bytes only?

    All address in the documentation is in byte unit else it would be impossible to read/write into all the GPU/DSP memory from the 68k.

    so $F03000 to $F03FFF is 4096 bytes arrenged like that from the 24-bit address source :


    addr bits [1..0] => converted in bytes enables for the internal memory depending of the read/write mode (byte, word and longword)

    addr bits [11..2] => connected to address bits of the internal memory.

  7. Hello,


    • Local Ram

      Local ram for GPU is 4K organised as 1K of 32bit.

      $F03000 to $F03FFF is GPU local RAM with 16-bit external memory access (32-bit internal).

      $F04000 to $F0AFFF is reserved (and have nothing internally connected)

      $F0B000 to $F0BFFF is GPU local RAM mirror with 32-bit external memory access (32-bit internal) to speed up data transfert with blitter ($F03000+$8000) (only for write operation)

      $F0C000 to $F0FFFF is reserved (and have nothing internally connected).


      not sure if it was the question, I haven't understand all the question :)

    • Divide Unit

      by enabling the 16.16 mode, the divide unit can compute 16.16 fixed point division.

    • Source Z registers :

      B_SRCZ1 & B_SRCZ2 are used for :

      - latch source Z value (when reading memory with SRCENZ enabled)

      - result of GOURZ computation (SRCZ1 = integer part of the GOURZ compute, SRCZ2 = fractional part of the GOURZ)

  8. I bring you a set of tools and sources code for Jaguar CD development !

    Including CD encryption tool, CD record tool, CD Make track tool, CD File system, Jaguar CD library (data/FS/audio), Memory Track library, and Cinepak Movie Player module !

    Now you don't have any excuse to not use the Jaguar CD to it's full potential, and not just for BJL game loading ;p


    See the tools section of my jaguar page:


    I don't found the files on the site and I'm sure to see it the over day :blink:



  9. @SCPCD: How does that work? Does the OP see that it's a scaled bitmap and then decide to drop the low 4 bits to get the rest of the data?

    The OP detect that it's a scaled object and read the extra phrase at [ObjectAddr | (1<<4)] that is wrong if the object is not at an 32-byte aligned addr.



  10. I thought also in the past that the joystick bus was directly connected to the DSP, but it's not the case.

    In fact, the data read from the joystick port is shared with the cartridge bus that is shared with the main bus.

    If you read from DSP : the DSP will take the bus to read joysticks bits

    If you read from another CPU : the CPU joystick addr will be decoded from the DSP and the DSP will enable the joystick input transceivers.


    The advantage to read joystick from the DSP is that it has the highest priority on the bus (after the OP) so it can read with accuracy rotary and mouse controller.


  11. OP list should have :

    - Bitmap object in double phrase aligned

    - Scaled bitmap in quad phrase aligned

    - others in phrase aligned.


    when accessing internal RISC ram with the DSP/GPU :

    - loadb, loadw and loadp is replaced by a load

    - storeb, storew and storp is replaced by a store