Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Add Comment
Please, Sign In to add comment