Code:
seg1b:0002A2A2 MAIN_LOOP_Setup: ; CODE XREF: LOOP_A+1A8p
seg1b:0002A2A2 movem.l d0-d1/a0-a1/a4,-(sp)
seg1b:0002A2A6 move.l #$FFC872,-(sp)
seg1b:0002A2AC moveq #$64,d1 ; 'd'
seg1b:0002A2AE movea.l #MLOOP7loc,a1
seg1b:0002A2B4 move.l #$150,d0
seg1b:0002A2BA movea.l #$FF95C6,a4
seg1b:0002A2C0 movea.l a4,a0
seg1b:0002A2C2 jsr sub_28696
seg1b:0002A2C8 moveq #$50,d0 ; 'P'
seg1b:0002A2CA movea.l #$FF9560,a1
seg1b:0002A2D0 movea.l a4,a0
seg1b:0002A2D2 jsr sub_286FC
seg1b:0002A2D8 move.l #$FFC71C,-(sp)
seg1b:0002A2DE moveq #$5A,d1 ; 'Z'
seg1b:0002A2E0 movea.l #MLOOP6loc,a1
seg1b:0002A2E6 move.l #$156,d0
seg1b:0002A2EC movea.l #$FF95B6,a4
seg1b:0002A2F2 movea.l a4,a0
seg1b:0002A2F4 jsr sub_28696
seg1b:0002A2FA moveq #$10,d0
seg1b:0002A2FC movea.l #$FF955A,a1
seg1b:0002A302 movea.l a4,a0
seg1b:0002A304 jsr sub_286FC
seg1b:0002A30A move.l #$FFC45A,-(sp)
seg1b:0002A310 moveq #$50,d1 ; 'P'
seg1b:0002A312 movea.l #MLOOP5loc,a1
seg1b:0002A318 move.l #$166,d0
seg1b:0002A31E movea.l #$FF95A6,a4
seg1b:0002A324 movea.l a4,a0
seg1b:0002A326 jsr sub_28696
seg1b:0002A32C moveq #8,d0
seg1b:0002A32E movea.l #$FF9554,a1
seg1b:0002A334 movea.l a4,a0
seg1b:0002A336 jsr sub_286FC
seg1b:0002A33C move.l #$FFC5C0,-(sp)
seg1b:0002A342 moveq #$46,d1 ; 'F'
seg1b:0002A344 movea.l #MLOOP4loc,a1
seg1b:0002A34A move.l #$15C,d0
seg1b:0002A350 movea.l #$FF9596,a4
seg1b:0002A356 movea.l a4,a0
seg1b:0002A358 jsr sub_28696
seg1b:0002A35E moveq #4,d0
seg1b:0002A360 movea.l #$FF954E,a1
seg1b:0002A366 movea.l a4,a0
seg1b:0002A368 jsr sub_286FC
seg1b:0002A36E move.l #$FFC136,-(sp)
seg1b:0002A374 moveq #$3C,d1 ; '<'
seg1b:0002A376 movea.l #MLOOP3loc,a1
seg1b:0002A37C move.l #$1AC,d0
seg1b:0002A382 movea.l #$FF9586,a4
seg1b:0002A388 movea.l a4,a0
seg1b:0002A38A jsr sub_28696
seg1b:0002A390 moveq #2,d0
seg1b:0002A392 movea.l #$FF9548,a1
seg1b:0002A398 movea.l a4,a0
seg1b:0002A39A jsr sub_286FC
seg1b:0002A3A0 move.l #$FFC2E2,-(sp)
seg1b:0002A3A6 moveq #$32,d1 ; '2'
seg1b:0002A3A8 movea.l #MLOOP2loc,a1
seg1b:0002A3AE move.l #$178,d0
seg1b:0002A3B4 movea.l #$FF9576,a4
seg1b:0002A3BA movea.l a4,a0
seg1b:0002A3BC jsr sub_28696
seg1b:0002A3C2 moveq #1,d0
seg1b:0002A3C4 movea.l #$FF9542,a1
seg1b:0002A3CA movea.l a4,a0
seg1b:0002A3CC jsr sub_286FC
seg1b:0002A3D2 clr.l (dword_FFFF953C).w
seg1b:0002A3D6 clr.w (word_FFFF9540).w
seg1b:0002A3DA move.l #$FFC9C2,-(sp)
seg1b:0002A3E0 moveq #$A,d1
seg1b:0002A3E2 movea.l #MLOOP1loc,a1
seg1b:0002A3E8 move.l #$136,d0
seg1b:0002A3EE movea.l #$FF9566,a4
seg1b:0002A3F4 movea.l a4,a0
seg1b:0002A3F6 jsr sub_28696
seg1b:0002A3FC movea.l a4,a0
seg1b:0002A3FE jsr sub_2874A
seg1b:0002A404 movem.l (sp)+,d0-d1/a0-a1/a4
seg1b:0002A408 rts
seg1b:0002A408 ; End of function MAIN_LOOP_Setup
this indexes routines that look like this and contain the subroutine addresses for the actual mainloops. Like this (note this is usually directly above the main loop setup routine):
Code:
seg1b:0002A1DE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
seg1b:0002A1DE
seg1b:0002A1DE
seg1b:0002A1DE MLOOP1loc: ; DATA XREF: MAIN_LOOP_Setup+140o
seg1b:0002A1DE move sr,-(sp)
seg1b:0002A1E0 andi #$F8FF,sr
seg1b:0002A1E4 move.l a0,-(sp)
seg1b:0002A1E6
seg1b:0002A1E6 loc_2A1E6: ; CODE XREF: MLOOP1loc+1Aj
seg1b:0002A1E6 movea.l #$FF953C,a0
seg1b:0002A1EC jsr sub_28782
seg1b:0002A1F2 jsr MAIN_LOOP_1
seg1b:0002A1F8 bra.s loc_2A1E6
seg1b:0002A1F8 ; End of function MLOOP1loc
seg1b:0002A1F8
seg1b:0002A1FA
seg1b:0002A1FA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
seg1b:0002A1FA
seg1b:0002A1FA
seg1b:0002A1FA MLOOP2loc: ; DATA XREF: MAIN_LOOP_Setup+106o
seg1b:0002A1FA move sr,-(sp)
seg1b:0002A1FC andi #$F8FF,sr
seg1b:0002A200 move.l a0,-(sp)
seg1b:0002A202
seg1b:0002A202 loc_2A202: ; CODE XREF: MLOOP2loc+1Aj
seg1b:0002A202 movea.l #$FF9542,a0
seg1b:0002A208 jsr sub_28782
seg1b:0002A20E jsr MAIN_LOOP_2
seg1b:0002A214 bra.s loc_2A202
seg1b:0002A214 ; End of function MLOOP2loc
seg1b:0002A214
seg1b:0002A216
etc...
From there you can disassemble the main loops, since they are probably not at this stage. The main loops are long and do many things... but at least now you'll have most of the important code disassembled. I number the Main Loops 1-7 from top to bottom.