This is my second post here and I thought I'd introduce myself a bit...
I'm the same OzOnE from the ASSEMblergames forum and I'm still working on bypassing the GD drive and loading from CF / HDD / SD instead.
I hope it's OK to post a link to the forum? Just so people can catch up on the last few pages...
http://www.assemblergames.com/forums/sh ... roup/page8
I'm famous for typing / talking a lot, so there are now two fairly big threads on AG forums about my efforts with the FPGA board.
I will likely repeat some stuff below, but I thought I'd tell the basic story...
Basically, after I got stuck with the FPGA project, it was suggested (by @cybdyn and others) to try bypassing the BIOS GD syscalls themselves...
This lead to the interesting combination of a Dreamcast with an IDE cable soldered directly to the G1 port test pads and a cheap CF adapter hanging off the other end.
![Wink :wink:](./images/smilies/icon_e_wink.gif)
Well, I've never coded for the DC before, and I'm still learning C/C++. I found the DC DEV R4 ISO and installed it fine, then compiled some KOS examples (eventually) and managed to send commands directly to the hardware regs and talk to the CF card...
I've got it to a point where I can redirect the basic GD DMA syscall and force it to read the data from CF card instead.
The good thing is that it works with the CF card set to Slave, so you don't need to unplug the GDD (and GD disks still boot fine with the stock BIOS).
I think it's important to note that it is NOT YET BOOTING from CF / HDD!
![Cool 8-)](./images/smilies/icon_cool.gif)
So, I was hoping to get some help here with the programming side of things now that it's turned into a DC coding effort.
atm, I have a small debug app which can read sectors from a real GD disk via PIO (DMA not working yet), I can then enable GD syscall redirection (Y button) to read from ATA (CF card). DMA is working fine from CF card (which is what the stock BIOS syscall uses).
I've also managed to spoof the basic 3-track GD TOC and can even WRITE back to the CF card (although it freezes the DC afterwards).
What I'm stuck with is how to actually start the stock boot process? I'm using the Dreamshell "Bootloader with BIOS" flash, which I understand is based on BIOS version "1_004_01.bios".
I need to be able to jump directly to the boot function in the stock part of the BIOS, but only AFTER it has written it's GD syscall vector to 0x8c0000bc.
I'm hoping the stock BIOS will at least attempt to read IP.BIN after it finds my TOC?
The problem is that I'm using the KOS libraries, so my .bin file is big (~270KB).
(probably best to read my post #159 on the AG forum for the other KOS issues.)
Anyway, I think you get the idea. Please help!
![Neutral :|](./images/smilies/icon_neutral.gif)
Cheers,
OzOnE.