Created
March 7, 2018 22:06
-
-
Save ssrb/6bdeea9d6bb43c898476e3af85383324 to your computer and use it in GitHub Desktop.
ASM dump of state of the art track loader
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
000DC000 dc.b $44 ; D | |
000DC001 dc.b $4F ; O | |
000DC002 dc.b $53 ; S | |
000DC003 dc.b 0 | |
000DC004 dc.b $70 ; p | |
000DC005 dc.b $5E ; ^ | |
000DC006 dc.b $10 | |
000DC007 dc.b $C4 ; - | |
000DC008 dc.b $53 ; S | |
000DC009 dc.b $4B ; K | |
000DC00A dc.b $49 ; I | |
000DC00B dc.b $44 ; D | |
000DC00C ; --------------------------------------------------------------------------- | |
000DC00C bsr.w sub_DC2B4 | |
000DC010 move.w #$7FFF,(word_DFF09A).l | |
000DC018 movea.l #$9A0,sp | |
000DC01E lea $DC034,a0 | |
000DC022 lea $DC2B4,a1 | |
000DC026 lea ($100).w,a2 | |
000DC02A | |
000DC02A loc_DC02A: ; CODE XREF: RAM:000DC02Ej | |
000DC02A move.b (a0)+,(a2)+ | |
000DC02C cmpa.l a0,a1 | |
000DC02E bne.s loc_DC02A | |
000DC030 jmp $100 | |
000DC034 ; --------------------------------------------------------------------------- | |
000DC034 | |
000DC034 loc_DC034: | |
000DC034 lea $DC03E,a0 | |
000DC038 move.l a0,($80).w | |
000DC03C trap #0 | |
000DC03E | |
000DC03E loc_DC03E: | |
000DC03E movea.l ($7C).w,sp | |
000DC042 adda.l #$7FFF0,sp | |
000DC048 move.w #$FFF,($20292).l | |
000DC050 move.w #$FFF,($7FFF0).l | |
000DC058 lea $DC294,a0 | |
000DC05C move.l a0,(dword_DFF080).l | |
000DC062 move.w (word_DFF088).l,d0 | |
000DC068 move.w #$83C0,(word_DFF096).l | |
000DC070 | |
000DC070 loc_DC070: ; CODE XREF: RAM:000DC078j | |
000DC070 btst #$E,(byte_DFF002).l | |
000DC078 bne.s loc_DC070 | |
000DC07A move.l #$1000000,(dword_DFF040).l | |
000DC084 move.l #$FFFFFFFF,(dword_DFF044).l | |
000DC08E move.w #0,(word_DFF066).l | |
000DC096 move.l #$60000,(dword_DFF054).l | |
000DC0A0 move.w #$FFFF,(word_DFF058).l | |
000DC0A8 movea.l #$3EC00,a0 | |
000DC0AE move.w #0,d0 | |
000DC0B2 moveq #2,d1 | |
000DC0B4 bsr.s sub_DC0BC | |
000DC0B6 jmp $3F000 | |
000DC0BC | |
000DC0BC sub_DC0BC: ; CODE XREF: RAM:000DC0B4p | |
000DC0BC movem.l d0-a6,-(sp) | |
000DC0C0 bsr.w sub_DC266 | |
000DC0C4 bsr.s sub_DC0CC | |
000DC0C6 movem.l (sp)+,d0-a6 | |
000DC0CA rts | |
000DC0CC | |
000DC0CC sub_DC0CC: ; CODE XREF: RAM:000DC0C4p | |
000DC0CC lea ($DFF000).l,a5 | |
000DC0D2 subq.w #1,d1 | |
000DC0D4 st (byte_BFD100).l | |
000DC0DA bsr.w sub_DC284 | |
000DC0DE bclr #7,(byte_BFD100).l | |
000DC0E6 bsr.w sub_DC284 | |
000DC0EA bclr #3,(byte_BFD100).l | |
000DC0F2 bsr.w sub_DC284 | |
000DC0F6 bsr.w sub_DC278 | |
000DC0FA bset #1,(byte_BFD100).l | |
000DC102 | |
000DC102 loc_DC102: ; CODE XREF: RAM:000DC124j | |
000DC102 btst #4,(byte_BFE001).l | |
000DC10A beq.s loc_DC126 | |
000DC10C bclr #0,(byte_BFD100).l | |
000DC114 bsr.w sub_DC284 | |
000DC118 bset #0,(byte_BFD100).l | |
000DC120 bsr.w sub_DC28A | |
000DC124 bra.s loc_DC102 | |
000DC126 ; --------------------------------------------------------------------------- | |
000DC126 | |
000DC126 loc_DC126: ; CODE XREF: RAM:000DC10Aj | |
000DC126 bset #2,(byte_BFD100).l | |
000DC12E moveq #0,d2 | |
000DC130 move.b d0,d2 | |
000DC132 lsr.w #1,d2 | |
000DC134 bcc.s loc_DC13E | |
000DC136 bclr #2,(byte_BFD100).l | |
000DC13E | |
000DC13E loc_DC13E: ; CODE XREF: RAM:000DC134j | |
000DC13E subq.w #1,d2 | |
000DC140 bmi.s loc_DC166 | |
000DC142 bclr #1,(byte_BFD100).l | |
000DC14A | |
000DC14A loc_DC14A: ; CODE XREF: RAM:000DC162j | |
000DC14A bclr #0,(byte_BFD100).l | |
000DC152 bsr.w sub_DC284 | |
000DC156 bset #0,(byte_BFD100).l | |
000DC15E bsr.w sub_DC28A | |
000DC162 dbf d2,loc_DC14A | |
000DC166 | |
000DC166 loc_DC166: ; CODE XREF: RAM:000DC140j | |
000DC166 ; RAM:loc_DC232j | |
000DC166 bsr.w sub_DC284 | |
000DC16A move.w #$8500,$9E(a5) | |
000DC170 move.w #$4489,$7E(a5) | |
000DC176 bsr.w sub_DC278 | |
000DC17A move.w #$4000,$24(a5) | |
000DC180 move.l #$600,$20(a5) | |
000DC188 move.w #$9F40,$24(a5) | |
000DC18E move.w #$9F40,$24(a5) | |
000DC194 move.w #2,$9C(a5) | |
000DC19A bsr.w sub_DC284 | |
000DC19E | |
000DC19E loc_DC19E: ; CODE XREF: RAM:000DC1A4j | |
000DC19E btst #1,$1F(a5) | |
000DC1A4 beq.s loc_DC19E | |
000DC1A6 bsr.w sub_DC284 | |
000DC1AA move.w #$4000,$24(a5) | |
000DC1B0 move.w #$400,$9E(a5) | |
000DC1B6 lea ($600).l,a2 | |
000DC1BC moveq #$A,d5 | |
000DC1BE | |
000DC1BE loc_DC1BE: ; CODE XREF: RAM:000DC204j | |
000DC1BE move.l #$55555555,d7 | |
000DC1C4 | |
000DC1C4 loc_DC1C4: ; CODE XREF: RAM:000DC1C8j | |
000DC1C4 cmpi.w #$4489,(a2)+ | |
000DC1C8 bne.s loc_DC1C4 | |
000DC1CA cmpi.w #$4489,(a2) | |
000DC1CE bne.s loc_DC1D2 | |
000DC1D0 addq.l #2,a2 | |
000DC1D2 | |
000DC1D2 loc_DC1D2: ; CODE XREF: RAM:000DC1CEj | |
000DC1D2 move.l (a2),d3 | |
000DC1D4 move.w 6(a2),d4 | |
000DC1D8 and.w d7,d3 | |
000DC1DA and.w d7,d4 | |
000DC1DC add.w d3,d3 | |
000DC1DE or.w d4,d3 | |
000DC1E0 add.w d3,d3 | |
000DC1E2 movea.l a0,a3 | |
000DC1E4 andi.w #$FF00,d3 | |
000DC1E8 adda.w d3,a3 | |
000DC1EA lea $38(a2),a2 | |
000DC1EE moveq #$7F,d6 | |
000DC1F0 | |
000DC1F0 loc_DC1F0: ; CODE XREF: RAM:000DC200j | |
000DC1F0 move.l $200(a2),d3 | |
000DC1F4 move.l (a2)+,d4 | |
000DC1F6 and.l d7,d4 | |
000DC1F8 and.l d7,d3 | |
000DC1FA add.l d4,d4 | |
000DC1FC or.l d3,d4 | |
000DC1FE move.l d4,(a3)+ | |
000DC200 dbf d6,loc_DC1F0 | |
000DC204 dbf d5,loc_DC1BE | |
000DC208 lea $1600(a0),a0 | |
000DC20C nop | |
000DC20E nop | |
000DC210 nop | |
000DC212 nop | |
000DC214 bchg #2,(byte_BFD100).l | |
000DC21C bne.s loc_DC232 | |
000DC21E andi.b #$FC,(byte_BFD100).l | |
000DC226 bsr.s sub_DC284 | |
000DC228 bset #0,(byte_BFD100).l | |
000DC230 bsr.s sub_DC28A | |
000DC232 | |
000DC232 loc_DC232: ; CODE XREF: RAM:000DC21Cj | |
000DC232 dbf d1,loc_DC166 | |
000DC236 bset #3,(byte_BFD100).l | |
000DC23E bsr.s sub_DC284 | |
000DC240 bset #7,(byte_BFD100).l | |
000DC248 bsr.s sub_DC284 | |
000DC24A bclr #3,(byte_BFD100).l | |
000DC252 bsr.s sub_DC284 | |
000DC254 bset #3,(byte_BFD100).l | |
000DC25C bclr #1,(byte_BFE001).l | |
000DC264 rts | |
000DC266 | |
000DC266 sub_DC266: ; CODE XREF: RAM:000DC0C0p | |
000DC266 move.b #$7D,(byte_BFD100).l | |
000DC26E move.b #$77,(byte_BFD100).l | |
000DC276 rts | |
000DC278 | |
000DC278 sub_DC278: ; CODE XREF: RAM:000DC0F6p | |
000DC278 ; RAM:000DC176p ... | |
000DC278 btst #5,(byte_BFE001).l | |
000DC280 bne.s sub_DC278 | |
000DC282 rts | |
000DC284 | |
000DC284 sub_DC284: ; CODE XREF: RAM:000DC0DAp | |
000DC284 ; RAM:000DC0E6p ... | |
000DC284 nop | |
000DC286 nop | |
000DC288 rts | |
000DC28A | |
000DC28A sub_DC28A: ; CODE XREF: RAM:000DC120p | |
000DC28A ; RAM:000DC15Ep ... | |
000DC28A move.w #$1600,d7 | |
000DC28E | |
000DC28E loc_DC28E: ; CODE XREF: RAM:loc_DC28Ej | |
000DC28E dbf d7,loc_DC28E | |
000DC292 rts | |
000DC292 ; --------------------------------------------------------------------------- | |
000DC294 off_DC294: dc.l $109FFFE | |
000DC298 dc.b 1 | |
000DC299 dc.b $80 ; Ç | |
000DC29A dc.b $F | |
000DC29B dc.b $FF | |
000DC29C dc.b 1 | |
000DC29D dc.b 0 | |
000DC29E dc.b 2 | |
000DC29F dc.b 0 | |
000DC2A0 dc.b $FF | |
000DC2A1 dc.b $FF | |
000DC2A2 dc.b $FF | |
000DC2A3 dc.b $FE ; ¦ | |
000DC2A4 dc.b 1 | |
000DC2A5 dc.b 9 | |
000DC2A6 dc.b $FF | |
000DC2A7 dc.b $FE ; ¦ | |
000DC2A8 dc.b 1 | |
000DC2A9 dc.b 0 | |
000DC2AA dc.b 2 | |
000DC2AB dc.b 0 | |
000DC2AC dc.b 1 | |
000DC2AD dc.b $80 ; Ç | |
000DC2AE dc.b 0 | |
000DC2AF dc.b 0 | |
000DC2B0 dc.b $FF | |
000DC2B1 dc.b $FF | |
000DC2B2 dc.b $FF | |
000DC2B3 dc.b $FE ; ¦ | |
000DC2B4 | |
000DC2B4 sub_DC2B4: ; CODE XREF: RAM:000DC00Cp | |
000DC2B4 move.l #$52414D43,(dword_C001FC).l | |
000DC2BE cmpi.l #$52414D43,(dword_C001FC).l | |
000DC2C8 bne.s loc_DC2D4 | |
000DC2CA move.l #$C00000,($7C).w | |
000DC2D2 rts | |
000DC2D4 ; --------------------------------------------------------------------------- | |
000DC2D4 | |
000DC2D4 loc_DC2D4: ; CODE XREF: RAM:000DC2C8j | |
000DC2D4 move.l #$52414D46,(dword_200000).l | |
000DC2DE cmpi.l #$52414D46,(dword_200000).l | |
000DC2E8 bne.s loc_DC2F4 | |
000DC2EA move.l #$200000,($7C).w | |
000DC2F2 rts | |
000DC2F4 ; --------------------------------------------------------------------------- | |
000DC2F4 | |
000DC2F4 loc_DC2F4: ; CODE XREF: RAM:000DC2E8j | |
000DC2F4 clr.l (0).w | |
000DC2F8 move.l #$43484950,($80000).l | |
000DC302 move.l (0).w,d0 | |
000DC306 cmp.l ($80000).l,d0 | |
000DC30C beq.s loc_DC318 | |
000DC30E move.l #$80000,($7C).w | |
000DC316 rts | |
000DC318 ; --------------------------------------------------------------------------- | |
000DC318 | |
000DC318 loc_DC318: ; CODE XREF: RAM:000DC30Cj | |
000DC318 ; RAM:000DC322j | |
000DC318 move.w (word_DFF006).l,(word_DFF180).l | |
000DC322 bra.w loc_DC318 | |
000DC322 ; --------------------------------------------------------------------------- | |
000DC326 dc.b 0 | |
000DC327 dc.b 0 | |
000DC328 dc.b 0 | |
000DC329 dc.b 0 | |
000DC32A dc.b 0 | |
000DC32B dc.b 0 | |
000DC32C dc.b 0 | |
000DC32D dc.b 0 | |
000DC32E dc.b 0 | |
000DC32F dc.b 0 | |
000DC330 dc.b 0 | |
000DC331 dc.b 0 | |
000DC332 dc.b 0 | |
000DC333 dc.b 0 | |
000DC334 dc.b 0 | |
000DC335 dc.b 0 | |
000DC336 dc.b 0 | |
000DC337 dc.b 0 | |
000DC338 dc.b 0 | |
000DC339 dc.b 0 | |
000DC33A dc.b 0 | |
000DC33B dc.b 0 | |
000DC33C dc.b 0 | |
000DC33D dc.b 0 | |
000DC33E dc.b 0 | |
000DC33F dc.b 0 | |
000DC340 dc.b $20 | |
000DC341 dc.b $20 | |
000DC342 dc.b $20 | |
000DC343 dc.b $20 | |
000DC344 dc.b $20 | |
000DC345 dc.b $20 | |
000DC346 dc.b $20 | |
000DC347 dc.b $20 | |
000DC348 dc.b $20 | |
000DC349 dc.b $41 ; A | |
000DC34A dc.b $4E ; N | |
000DC34B dc.b $4F ; O | |
000DC34C dc.b $54 ; T | |
000DC34D dc.b $48 ; H | |
000DC34E dc.b $45 ; E | |
000DC34F dc.b $52 ; R | |
000DC350 dc.b $20 | |
000DC351 dc.b $4C ; L | |
000DC352 dc.b $41 ; A | |
000DC353 dc.b $4D ; M | |
000DC354 dc.b $45 ; E | |
000DC355 dc.b $20 | |
000DC356 dc.b $44 ; D | |
000DC357 dc.b $45 ; E | |
000DC358 dc.b $4D ; M | |
000DC359 dc.b $4F ; O | |
000DC35A dc.b $20 | |
000DC35B dc.b $46 ; F | |
000DC35C dc.b $55 ; U | |
000DC35D dc.b $43 ; C | |
000DC35E dc.b $4B ; K | |
000DC35F dc.b $45 ; E | |
000DC360 dc.b $44 ; D | |
000DC361 dc.b $20 | |
000DC362 dc.b $55 ; U | |
000DC363 dc.b $50 ; P | |
000DC364 dc.b $20 | |
000DC365 dc.b $42 ; B | |
000DC366 dc.b $59 ; Y | |
000DC367 dc.b $20 | |
000DC368 dc.b $53 ; S | |
000DC369 dc.b $50 ; P | |
000DC36A dc.b $41 ; A | |
000DC36B dc.b $43 ; C | |
000DC36C dc.b $45 ; E | |
000DC36D dc.b $42 ; B | |
000DC36E dc.b $41 ; A | |
000DC36F dc.b $4C ; L | |
000DC370 dc.b $4C ; L | |
000DC371 dc.b $53 ; S | |
000DC372 dc.b $21 ; ! | |
000DC373 dc.b $21 ; ! | |
000DC374 dc.b $21 ; ! | |
000DC375 dc.b $21 ; ! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment