- How to do sega cd emulator pdf#
- How to do sega cd emulator software#
- How to do sega cd emulator code#
- How to do sega cd emulator iso#
If none of these are present, the header will not be recognized. The first four characters must be 'MAIN' or the last three must be 'SYS', 'SUB', or 'DAT'.
How to do sega cd emulator code#
After it copies the data it expects to find a header that defines entry points to the code at 6000h.Īt offset 0h from the beginning of the header there is an 11 character(12 if you count the NULL character), null-terminated string. These numbers don't have to be sector aligned, but the least significant bits are truncated when they get converted to block numbers. The longword at offset 40h is the start address of the data to be copied to 6000h (just after the BIOS in Program RAM), the longword at offset 44h is the length. The security code does not clear VRAM when it's done and conveniently leaves an ASCII font loaded. The security code executes and displays the Sega logo, when it's done execution continues at FF0584h. Once start is pressed, the MAIN CPU does a jump to FF0000h. This is not a problem as long as your CD has at least 20h(64KB) sectors on it.Īfter this is done 2000h longwords(32KB) are copied from the beginning of Word RAM to the beginning of Genesis RAM. It should be noted that at least in the Model 1 BIOS there is a bug that causes it to always use FFFF(I think) as the length resulting in 20h sectors being copied. This only occurs if the data from 200h - 783h matches the copy that is in the BIOS. These numbers don't have to be sector aligned but they do get truncated when they are converted to blocks. The longword at 30h is the start address and the longword at 34h is the length. If the longwords at offsets 30h and 34h are not 200h and 600h respectively, more sectors are copied. Used, and it would appear that SEGADISC and SEGADATADISC are not bootable identifiers.īy default, the data from 200h to 800h(the security code and a little more) is loaded into the beginning of Word RAM. I do know that it only performs the security check if SEGABOOTDISC or SEGADISCSYSTEM are Is used, but I'm not exactly sure what the difference is at the moment. The boot process is effected by which one 'SEGABOOTDISC ', 'SEGADATADISC ', or 'SEGADISCSYSTEM '. The BIOS expects to find one of the following 16byte identifiers at the very beginning of the CD: 'SEGADISC ', I put together a little document on this chip, get it here So you need to multiply the addresses listed in the datasheet by 2 and add $FF0001 to get the coresponding Sega CD address. Since the chip is an 8-bit device, it's mapped only to odd addresses starting at $FF0001. The scale on the waveform graph doesn't correspond to the binary data that produces the waveform in a logical way. The PCM chip is clocked at ~12.5MHz despite the fact that the datasheet lists 10MHz as the max.
How to do sega cd emulator pdf#
You can get the datasheet in PDF format here If you have trouble compiling it, feel free to e-mail me.įor an explanation as to what SLO is supposed to do, go to the SLO page.Ĭharles MacDonald managed to find the datasheet for a functionally equivalent PCM chip to the one used in the Sega CD. The first file contains the source for the main CPU and the second is an ISO-9660 library which runs on the sub CPU. If someone wants to give it a pretty GUI I'd be more than happy to send them the source. It's text based and has a couple of limitations (biggest of whichīeing that you can't use spaces.
How to do sega cd emulator iso#
This is a little tool that will insert boot code into an ISO and build the data structure described below. Part V: Subroutines, Exceptions and the Stack Part III: Addition, Subtraction and Two's Complement If you have any questions feel free to e-mail me at Assembly
How to do sega cd emulator software#
Although there is fairly adequate documentationįor the Genesis/MegaDrive there is very little available for the Sega CD/Mega CD and certainly not enough to write any software for it. The goal of this page is to provide the Sega development community with documentation on the Sega CD. Sega CD Development Sega CD Development Home Sega CD SLO 32X Transfer ConvSCD