Search results

  1. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    streaming planes new thread

    The link is right there in the post. I added it in last night.
  2. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    streaming planes new thread

    Planes are at a fixed size, and when scrolling goes past the end of a plane, it wraps, so you do have to overwrite old tile IDs in the plane to do so. A DMA transfer should work with auto-increment $80, since it's reading word by word from m68k memory, and if you set your plane size to 64 tiles...
  3. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    streaming planes new thread

    VDP register $F (written to the VDP control port as $8Fxx) sets the read/write auto-increment. VDP register $10 (written to the VDP control port as $90xx) changes the size of the planes.
  4. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    streaming planes new thread

    Let's say that the width of the plane is 64 tiles. The size of a tile ID in bytes is 2 bytes, so the stride of the plane would be 128 bytes. Setting the auto-increment value to that would make it so that when you write a tile ID, it will increment the VRAM address by that amount automatically...
  5. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    streaming planes new thread

    Horizontal scrolling is controlled by a table stored in VRAM. Using VDP registers, you can set its location in VRAM and also the horizontal scroll mode (scroll the entire screen, scroll individual 8 pixel high rows, or scroll every individual scanline). The table itself is just an array of...
  6. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    streaming planes old thread

    Access is restricted. Other than that, I'm having a difficult time following on what you are talking about.
  7. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    (WIP) Sonic CD disassembly

    More updates: Opening FMV Main CPU program Opening FMV Sub CPU program Pencil test FMV Sub CPU program Time warp cutscene DA Garden Visual Mode menu The rest of the title screen secrets (stage select, best of staff times, special stage 8 credits, and those unused DUMMY files that actually hold...
  8. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Sega CD General

    If it's reading at the same time the other CPU is writing, then it seems it's possible that it'll read the old data before the new data is actually written to.
  9. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Sega CD General

    I did come across this tidbit in the manual:
  10. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Sega CD General

    It depends on the size of the output. The larger the image it has to render, the slower it is. You also have to watch out for the bandwidth when copying to VRAM as well. Smaller images can probably allow for 60 FPS.
  11. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Sega CD General

    I... don't remember saying anything like that at all. Honestly, you're probably better off just mass copying all the data into regular work RAM after the operation is done and then transferring that to VRAM while the ASIC starts up again.
  12. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Optimized CalcAngle (atan2 function)

    Another small update: did a quick optimization of the edge case where Y = 0, and it picks between 0 and 180 degrees (thanks to "Spicy Bread SSR" for pointing this out).
  13. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Sega CD General

    I've never really had any problems with them on actual hardware, nor have I seen any official code do checks to ensure things are written. Where did the recommendation come from? Just curious.
  14. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Optimized CalcAngle (atan2 function)

    Quick update: accidentally used a wrong register in a place. That's been fixed now.
  15. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Optimized CalcAngle (atan2 function)

    Some years ago, there was an attempt to optimize this function by using logarithmic division instead. Unfortunately, there were some glaring issues with it that prevented it from working correctly, notably the fact that it failed to take into account the fact that the function that was used as...
  16. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    (WIP) Sonic CD disassembly

    So, how about some specifications for the special stage maps (possibly to use for making a tool)? The map itself is just a standard 4096x4096px Sega CD stamp map, with 32x32 stamps. Stamp data and stamp map data are compressed in Kosinski. Stamps are basically just Genesis tiles, arranged...
  17. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    (WIP) Sonic CD disassembly

    Update time! I now have... R61A SMPS (FM) with SMPS2ASM SMPS-PCM (R1, R3, R4, R6) with SMPS2ASM Ending FMV Sub CPU Program Special Stage
  18. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Strange carts

    Definitely get in touch with Hidden Palace, they'd probably know more about this kind of stuff, as they specialize in documentation and preservation, whereas this place is more about just developing stuff for the Mega Drive.
  19. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Mini-tutorials Thread - MDDC Edition

    Looks like it uses that old Amiga 68000 cycle count reference, too. Even then, according to that, it still adds up to 22, so I have no idea where 20 came from. Maybe a parsing error? Because, looking through the code, it looks like it *intended* to calculate 22. You'd be better off converting...
  20. βΈΈ π•―π–Šπ–›π–”π–“ βΈΈ

    Mini-tutorials Thread - MDDC Edition

    Sorry to break it to you, but no, it's not. movem.w obVelX(a0),d0/d2 ; 24 (16+(4*2)) lsl.l #8,d0 ; 24 (8+(2*8)) add.l d0,obX(a0) ; 24 lsl.l #8,d2 ; 24 (8+(2*8)) add.l d2,obY(a0) ...
Top