org $0 DiscIdent: dc.b 'SEGADISCSYSTEM ' ; Sega System Disc VoluIdent: dc.b 'SEGAIPSAMP ', 0 ; Disc title VolSys: dc.w 0 ; Prototype VolType: dc.w 1 ; CD-ROM Disc SysName: dc.b 'SYSTEM NAME', 0 ; System name SysVer: dc.w 0 ; System version dc.w 0 ; Always 0 IPOrg: dc.l $800 ; IP origin address IPSize: dc.l $800 ; IP size IPStart: dc.l $0 ; IP entry point IPRAM: dc.l $0 ; IP RAM size SPOrg: dc.l $1000 ; SP origin address SPSize: dc.l $7000 ; SP size SPStart: dc.l 0 ; SP entry point SPRAM: dc.l 0 ; SP RAM size dcb.b $B0, $20 ; Pad with space char System: dc.b 'SEGA MEGA DRIVE ' ; Console Copyright: dc.b '(C)SEGA 1993.APR' ; Copyright Title_Dom: dc.b 'CD-SONIC THE HEDGEHOG ' Title_Int: dc.b 'CD-SONIC THE HEDGEHOG ' Serial: dc.b 'XX 00000000-00' dcb.b $2, $20 IOSupport: dc.b 'J ' dcb.b $1E, $20 MODEMSupport: dc.b ' ', ' ', ' ', ' ' dcb.b $26, $20 Regions: dc.b 'J ' ; --------------------------------------------------------------------------- org $FF0000 SecurityCode: lea SecurityData, a1 ; Load security data to a1 jsr $364 ; Jump to BIOS routine bra.w IPStart ; Start IP ; --------------------------------------------------------------------------- SecurityData: incbin sec.bin even ; --------------------------------------------------------------------------- IPStart: move.l #SubCPUInt, ($FFFFFD08).w ; $FD08 calls level 2 on SubCPU move.w #$FD0C, ($A12006).l ; Set H-Int location to $FD0C move.l #SubCPURet, ($FFFFFD0E).w ; $FD0E calls return from exception bset #1, ($A12003).l ; Set DMNA flag lea ($A12010).l, a0 ; Communication command moveq #0, d0 move.b d0, -2(a0) ; Close communications move.l d0, (a0)+ ; Clear communication bank move.l d0, (a0)+ move.l d0, (a0)+ move.l d0, (a0)+ lea MainOS, a0 ; a0 -> MainOS lea (MainOSLoc).l, a1 ; a1 -> Load location move.w #$4B, d7 ; Size of MainOS LoadMainOS: move.b (a0)+, (a1)+ ; Load the MainOS dbf d7, LoadMainOS jmp MainOSLoc ; Jump to the MainOS ; --------------------------------------------------------------------------- MainOS: incbin mainos.bin even ; --------------------------------------------------------------------------- SubCPUInt: bset #0, ($A12000).l ; --------------------------------------------------------------------------- SubCPURet: rte ; --------------------------------------------------------------------------- ; Padding: dcb.b $DC, 0 ; --------------------------------------------------------------------------- org $ff1000 MainOSLoc: dcb.b $600, 0 end
Comments
0 B
|👍
/👎
0 B
|👍
/👎