Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by SebRmv

  1. Q&A about the Removers library

    Yes, you can, if you use the "hotspot" mechanism. Simply set the coordinates you want to consider as being the "centre" of the sprite with hotspot_x and hotspot_y (or is it hx, hy) and enable the hotspot by setting the corresponding bit. Otherwise, you'll have to compute that manually.
  2. Q&A about the Removers library

    the OP list is double buffered this means that it is at the second vsync that you can be sure this will be displayed sometimes, I regret this choice of having double buffered the OP list this is clearly not well suited for framebuffered games (eg Another World does not use this display manager) but I fear this is the price to pay to draw lots of sprites
  3. Unpacking rout

    Probably, yes
  4. Unpacking rout

    I have written my own GPU implementation of the lz77 unpacker. I will release it soon.
  5. Q&A about the Removers library

    The GPU code start when init_display_driver is called. Same applies for the DSP and init_sound_driver.
  6. Unpacking rout

    ok finally I switched back to lz77 ! I realized, thanks to SCPCD, I did not use the latest release of lz77...
  7. Matmook's Birthday

    Bon anniv' Matmook!
  8. Q&A about the Removers library

    I wrote once a small article on the Removers'spip (in french) It is far from being complete, but it may help More here: http://removers.free.fr/spip/?92-je-veux-d...opper-sur-atari
  9. Q&A about the Removers library

    Two tricky questions from SCPCD to begin with. 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? Why would one do that ? 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.
  10. Unpacking rout

    I tried lzjag, seems to work quite well!
  11. Unpacking rout

    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!
  12. Blitter questions

    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!
  13. Blitter questions

    Never say blitter is bugged! It's always the programmer's own fault! I FOUND THE BUG :yes: :yes:
  14. Blitter questions

    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.
  15. Joypads, teamtaps and other controllers

    Great post Fadest (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
  16. 0 0 0 0 0 0 0 0

    happy zero birthday!
  17. VBCC for Jaguar

    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?
  18. VBCC for Jaguar

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

    Ok belboz, I was not sure you did the port to vbcc Basically, I think the "difficult" part is to respect the calling conventions of "my" gcc. We'll see if I get some time to do the adaptation.
  20. VBCC for Jaguar

    Great news indeed! I'll have to look at it, definitely.
  21. Project One

    Same for me. The pause screen is hilarious!
  22. Another Birthday Yes !!

    Joyeux anniversaire Fred!
  23. Next Release :