Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Posts posted by SebRmv

  1. Two tricky questions from SCPCD to begin with.


    - is it possible to add specific initialisation/code before entering the "main" function ?


    Not really.


    The first code to be executed is located in crt0.s (of jlibc).

    As you can see, it perform basic initialisation and then jump to main function.

    If I remember correctly, gcc insert some code in the main function to call

    __main function before entering into main user code (this __main function is

    located in start.c of jlibc... basically, it initialises the memory allocator)


    If you need to perform some other steps of low-level initialisations,

    the simpler is probably to write them in assembly and then call these functions

    at the very beginning of the C main function.

    I guess it is sufficient in most of the cases but maybe you were something

    to a tricky scenario?


    - can we "deinit" the library ?

    => desactivate GPU/DSP through a specific function ?

    => else how can we do make it properly ?


    Why would one do that :P ?

    No, you are right, this is something missing, clearly ;)


    To stop GPU or DSP, the cleanest way is to write a small GPU/DSP routine

    that stops the GPU (or DSP) and call this piece of code as a normal

    GPU/DSP routine (ie copy it in GPU/DSP RAM and call it thanks to the

    jump_gpu_subroutine / jump_dsp_subroutine functions)

    I may consider add this functionnality in future versions of the library.

  2. I intended to open a special thread on Jagware to answer possible questions about the Removers library.

    As SCPCD suggested the same thing yesterday, let's do it!


    In this thread, please post your questions/bug reports/...


    I guess installation issues should be kept apart from this thread.



  3. I found a bug in Ray's package. I've got a file which is badly depacked (or badly packed, I don't know).


    Moreover, the 68k version is a bit slow.


    Anyone has a good packing/unpacking rout' to suggest?

    I need an ultra-fast unpacking routine and I need reasonable compression ratio (lz77 was ok regarding the compression ratio).





  4. 1 or 2, I don't think that this will change something significaly.


    Ok, thanks


    Actually, I asked that because I suspect there is a (very rare & unpredictible) bug in the blitter when using B_SRCD as logical mask

    which affects memory transfers.

  5. Are there here some blitter gurus who can answer these few questions:


    - what is the right way to fill a buffer with a constant value ?


    1-use B_SRCD to set fill pattern and work with LFU_S ?

    2-use B_DSTD to set fill pattern and work with LFU_D ?

    3-use B_PATD to set fill pattern and work with PATDSEL ?


    - what is the right way to apply a logical operation to a buffer

    (for instance XORing with 0x80) ?


    1-use B_SRCD to set constant value and work with LFU_S_XOR_D|DSTEN ?

    2-use B_DSTD to set constant value and work with LFU_S_XOR_D|SRCEN ?

    (this latest solution implies that A1 = A2)

    3-err, no... this does not work with B_PATD ;)



  6. // First, interrupts must be initialized via call of function. Basically, put this call in main()
    // Then, somewhere when we want interrupt to start, we need to use the set_timer firunction, in order to program an automatic call of rotary() :
    set_timer(200<<16 | 360,rotary);


    Great post Fadest :flowers:

    (better late than never for me to comment this thread ;))


    The magic values correspond to PIT0 and PIT1 values


    The frequency of the interrupt is computed as follows:


    Frq = (Clock / (PIT0+1)) / (PIT1+1)


    The set_timer function takes thus as first parameter the long word equal to (PIT0<<16)|(PIT1)


    The system clock is approximately 26.5 MHz (SCPCD or Zerosquare, could you please recall us the exact value?)


    Thus, in your case, you generate an interruption at a frequency of about 26500000/201/361 = 365,209961 Hz ie about every 2 ms

    (compare to a VBL which is every 20 ms for 50 Hz display)


    Maybe I should add some words about this in the documentation of my library :whistling:

  7. Sure, no problem. When you update the library I will update the working live CD I have now. Once I get a couple testers after that, I can make it available to the masses. I take it your Jaguar C library is up to date?


    Yes, I think the jlibc is up-to-date, indeed.

    If I got some time tonight, I'll package the updated version of rmvlib.

    Do you need binary distribution?


    edit: which of vbcc archives should I take to install it on linux?

  8. Well Frank did most of the work. I just gave him info on the Jaguar, and he did some source work. Then all I had to do was retarget for Windows and tweak a few things.


    Seb, do you care if I include your library on a live linux CD for Jag development?


    No problem for me. Maybe I should release the debugged version of my library first ;) (skunkboard I/O)


  9. Hi, got your mail but prefer to answer directly here...


    As for me, I can also probably extend my Jag Image Converter to do the reverse operation...

    I'll probably get some time during my holydays to have a look at this... we'll see.



  10. I did not look at the details of the encryption process.


    I have tested quickly and it happens that the Jag cannot synchronize with the PC (SkunkRESET fails)

    or fails during the transfer.


    Maybe you are right, regarding memory space. What should I do then?

    Do you want the source file of my current mod?


  11. Sympa :)


    Quelques p'tites remarques :


    - du JPG aurait suffi, ça va plus vite à charger

    - utiliser les images d'origine comme vignette, c'est pââââs bien :P

    - lier la vignette à la version 1:1 de l'image pour qu'on puisse cliquer dessus, c'est bien :)


    Good points. Just added the thumbnails thus...