Jump to content
Jagware

SebRmv

Level1
  • Content count

    1,553
  • Joined

  • Last visited

  • Days Won

    1

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).

     

    Thanks!

     

     


  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 ;)

     

    Thanks!


  6. // First, interrupts must be initialized via call of function. Basically, put this call in main()
    init_interrupts();
    
    // 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.

     

    Cheers


  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...

×