Sega Virtua Processor/Virtua Racing Research

Discussion in 'Engineering & Reverse Engineering' started by Ralakimus, Nov 12, 2018.

  1. PhyChris

    PhyChris

    Member
    7
    2
    3
    haha! I knew it! I have you looked at Test/Proto SVP board pics floating around? could not find a trace back ROM A19.

    YOU ARE BLOWING MY MIND!!

    Edit: missed your 1st few posts somehow. You already confirmed the flashcart thing LOL!
     
    Last edited: Feb 1, 2021
  2. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    @PhyChris Hahaha thanks!! I think A19 (B7 in the cartridge right?) is connected to pin 160 in the SVP chip in the prototype picture (and also in my cartridge board). What I find interesting is that the cartridge pin for A20 is also connected to the SVP (to pin 1) which obviously means some of the unused pins in the IC leads to a ROM PIN for A20. A shame not knowing what it'd be, but the chip seems prepared for 4MB games!

    EDIT: now that I think about it, that might be a conjecture on my part. A20 and A21 are used in MD accesses to the external cartridge's DRAM.
     
    Last edited: Feb 1, 2021
  3. PhyChris

    PhyChris

    Member
    7
    2
    3
    one last question before I someday try to wire this extra cart slot I have kicking around here. was the dump byteswapped like a normal Genesis ROM?
     
  4. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    @PhyChris yeah, the dump I got directly from the ROM chip was byteswapped :)) I've already written a small tool to do that (and splitting the ROMs) to be ready when I can plug EPROMs to this thing :)
     
  5. RetroKoH

    RetroKoH

    Member
    1,660
    15
    18
    Project Sonic 8x16
    Figured I would post an update on this courtesy of Ralakimus himself, considering the new progress made by the community with this. He sent this my way and asked if I could spread the word.

    https://github.com/Ralakimus/svp-blender

    EDIT: I apologize, I misunderstood. This isn't brand new. It's his old Blender plugin. He was finally able to get it online recently. All should be good, aside from one flag that controls Z sorting that he couldn't quite figure out.

    Enjoy!
     
    Last edited: Feb 2, 2021
  6. vexatious

    vexatious

    Misfit
    44
    2
    8
    To Ralakimus:

    I'm not wondering what made you join these forums or what you're doing; if you know what I mean?
     
  7. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    I'm still waiting for the hardware boards that I need to see if I can get custom code running on the real SVP, but as it's taking a while to arrive home I decided to release what I have so far. I've rearranged the repository that I created for the SVP assembler I built a couple of years ago to contain also some sample code for the SVP/Mega Drive, and also the development tools used for it (the boards will be released there too as soon as I double check they're working OK). Here's the new URL for the repo: https://github.com/jdesiloniz/svpdev
     
  8. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    Well, here's the ROM that I mentioned the other day running on a real SVP!

    [​IMG]

    Also Virtua Racing running correctly from the external EPROM:

    [​IMG]

    And these are the two current boards (the one that is soldered in the actual Virtua Racing cartridge exposing its pins to a more accessible connector, and the other one that's connected to it allowing the cartridge to boot up from an actual EPROM):

    [​IMG]

    I'll release the designs for these two boards soon in the repo I posted above, probably tomorrow. I'll post a message when that's available for everyone.

    PS: I'm so happy! Doors open to actually research on the REAL chip!!
     
    • Like Like x 3
    • Informative Informative x 1
    • List
  9. rata

    rata

    Member
    590
    19
    18
    Argentina
    Trying to be useful somehow.
    I want to give all the rates I could because I can't decide if it is informative, useful, just like, or whatever. What a brilliant piece of work.
     
  10. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    Wow thanks @rata! I'm really happy as this is probably my first hardware project that works! (considering that my previous attempt with the SVP was a half-failure, I'm really excited with this).

    My goal is to research this chip as much as possible, document everything and try to get SVP development as accessible as possible. I'm really bad with graphics and 3D stuff but I'm sure there are great devs willing to try something with this. Also emulation could improve, I've already noticed some differences on how soft emulators execute the ROM I showed the other day and how it runs on the chip. It's gonna be fun :D
     
  11. PhyChris

    PhyChris

    Member
    7
    2
    3
    @JaviTaiyou w00t! Now for the love of god try to load a normal genesis ROM and see if it will act like a (Passthrough) chip and kill this question I have had for years haha!!

    Edit: w00t! w00t!
     
    Last edited: Feb 11, 2021
  12. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    @PhyChris I had zero doubts about it but yeah, a normal game works with the SVP! (I uploaded a video of Sonic 2 running on it on the Twitter thread I had with all these stuff: https://twitter.com/JaviTaiyou/status/1360023935643967489)

    I'm designing another board to use another cartridge as a ROM, but I still gotta wait for cartridge slots to arrive before manufacturing it. I'm not so confident on a normal cartridge booting up on this though, I think "regular" ROMs are way slower and probably the SVP would interfere in normal accesses - I'll just design this so everdrive/flash cartridge devs can easily iterate code changes on this.

    Hope this answers your question Chris!
     
  13. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    Well, it turns out that the SVP has an internal 2KB firmware, apparently only accessible from the SVP side (I haven't tried it yet but I don't think the 68000 can see it). I had a suspicion about it, so it wasn't that hard to find once I knew where to look. I have just dumped it but haven't disassembled it yet. I see lots of IRAM data movement, and also what seems to be a security trigger similar to TMSS (it checks that the letters "SV" are in the "notes" field in the ROM header, I guess as in "SEGA VIRTUA" - funnily I hadn't even consider the SVP could see the ROM header in any case).

    I'll probably release the disassembly once I have it (I guess there shouldn't be any issues about it at this point, right?), and let you guys know what I find :)

    PS: I had to transcribe this thing based on pictures of my TV (while the Mega Drive was dumping the data to the screen) - not fun writing 1024 hexadecimal words by hand lol
     
  14. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,142
    313
    63
    Berkshire, England
    Learning Cymraeg
    Interesting - any chance of getting the raw binary as well?
     
  15. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    I'm a bit wary about sharing the binary, but my idea is to share the disassembled code (that you could create your own binary too). I mean, I doubt SEGA would care at all about this but you never know :). Once I have it ready and if you're interested I can guide you on this.
     
  16. PhyChris

    PhyChris

    Member
    7
    2
    3
    think this "SV" check in the ROM header done by the SVP internal 2KB firmware was a way to shut up the chip and DRAM for non SVP games?


    Edit: Don't wanna flood this sacred thread :P

    @JaviTaiyou... Holy shit, seen you found that old thread I made on RomHacking.NET with that simple question in the Newcomer's Board, will it act as pass-through and run sonic 2? Thanks man :)
     
    Last edited: Feb 16, 2021
  17. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    Could be, but the chip doesn't seem to shut down, it just enters an infinite loop.


    Haha i didn't notice that was you over there! That thread set me in the right path for this whole approach (it would've taken me a longer time to confirm the ROM pinout if you hadn't posted that in there!). Thanks a lot PhyChris!
     
    Last edited: Feb 16, 2021
  18. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
  19. JaviTaiyou

    JaviTaiyou

    Member
    26
    33
    13
    Hi! I've updated the previous link (https://github.com/jdesiloniz/svpdev/wiki/Internal-ROM) with the full disassembly of SVP's internal ROM. I've tried to document it as best as I could, but some of the math stuff is out of my league, so maybe other smarter devs can chime in and see if my assumptions on some of these routines are good or not :). In any case, enjoy!
     
  20. ICEknight

    ICEknight

    Researcher Researcher
    I'm pretty sure that they 100% won't be bothered by such thing being on the internet. They may even find a use for it in future official projects.