Annotation of doom/p_move.gas, revision 1.1.1.1

1.1       root        1:  .long
                      2:        .dc.l   codeend-_p_move_start
                      3: _p_move_start::
                      4:  .gpu
                      5:        .org $f1b140
                      6: 
                      7: S_LE   .ccdef  $14     ; PL
                      8: U_LE   .ccdef  $04     ; CC
                      9: S_GT    .ccdef $18     ; MI
                     10: U_GT    .ccdef $08     ; CS
                     11: 
                     12: S_LT   .ccdef  $15             ; PL+NE
                     13: U_LT   .ccdef  $05             ; CC+NE
                     14: 
                     15: FP .equr r14
                     16: scratch .equr r10
                     17: scratch2 .equr r11
                     18: RETURNVALUE .equr r29
                     19: RETURNPOINT .equr r28
                     20: MATH_A .equr r27
                     21: MATH_B .equr r26
                     22: MATH_C .equr r25
                     23: MATH_RTS .equr r24
                     24: MATH_SIGN .equr r23
                     25: 
                     26:        movei   #codestart,scratch
                     27:        jump    T,(scratch)
                     28:        nop
                     29: 
                     30: 
                     31: GPU_IMUL:
                     32:  move MATH_A,MATH_SIGN
                     33:  xor MATH_B,MATH_SIGN
                     34:  abs MATH_A
                     35:  abs MATH_B
                     36:  move MATH_A,MATH_C
                     37:  mult MATH_B,MATH_C
                     38:  move MATH_B,scratch2
                     39:  shrq #16,scratch2
                     40:  mult MATH_A,scratch2
                     41:  shlq #16,scratch2
                     42:  add scratch2,MATH_C
                     43:  move MATH_A,scratch2
                     44:  shrq #16,scratch2
                     45:  mult MATH_B,scratch2
                     46:  shlq #16,scratch2
                     47:  add scratch2, MATH_C
                     48:  btst #31,MATH_SIGN
                     49:  jump EQ,(MATH_RTS)
                     50:  nop
                     51:  jump T,(MATH_RTS)
                     52:  neg MATH_C
                     53:        
                     54: 
                     55: ;=============================================================================
                     56: _PM_PointInSubsector::         ; subsector_t * (fixed_t x, fixed_t y)
                     57: ;=============================================================================
                     58:        .extern _nodes, _numnodes, _subsectors
                     59:        
                     60: pi_node                        .equr   r15
                     61: pi_x                   .equr   r16
                     62: pi_y                   .equr   r17
                     63: pi_side                        .equr   r18
                     64: pi_nodebase            .equr   r19
                     65: pi_nodex               .equr   r20
                     66: pi_nodey               .equr   r21
                     67: pi_nodedx              .equr   r22
                     68: pi_nodedy              .equr   r23
                     69: 
                     70:        load    (FP),pi_x
                     71:        load    (FP+1),pi_y
                     72:        
                     73:        movei   #_nodes,pi_nodebase
                     74:        load    (pi_nodebase),pi_nodebase
                     75:        
                     76:        movei   #_numnodes,pi_node
                     77:        load    (pi_node),pi_node
                     78:        subq    #1,pi_node                              ; nodenum = numnodes-1
                     79:        
                     80: nodeloop:
                     81:        btst    #15,pi_node
                     82:        jr              EQ,notsubsec
                     83:        nop
                     84: 
                     85:        bclr    #15,pi_node
                     86:        moveq   #12,scratch
                     87:        mult    scratch,pi_node
                     88:        movei   #_subsectors,RETURNVALUE
                     89:        load    (RETURNVALUE),RETURNVALUE
                     90: 
                     91:        jump    T,(RETURNPOINT)
                     92:        add             pi_node,RETURNVALUE             ; delay slot
                     93:        
                     94: notsubsec:
                     95:  
                     96:        movei   #56,scratch
                     97:        mult    scratch,pi_node
                     98:        add             pi_nodebase,pi_node
                     99: ;
                    100: ; pi_side = pointonnodeside (x,y,node)
                    101: ;
                    102:        load    (pi_node),pi_nodex
                    103:        load    (pi_node+1),pi_nodey
                    104:        load    (pi_node+2),pi_nodedx
                    105:        load    (pi_node+3),pi_nodedy
                    106:        
                    107:        move    pi_x,scratch
                    108:        sub             pi_nodex,scratch
                    109: 
                    110:        move    pi_y,scratch2   
                    111:        sub             pi_nodey,scratch2
                    112:        
                    113:        sharq   #16,scratch
                    114:        sharq   #16,scratch2
                    115:        sharq   #16,pi_nodedx
                    116:        sharq   #16,pi_nodedy
                    117:        
                    118:        imult   pi_nodedy,scratch
                    119:        imult   pi_nodedx,scratch2
                    120:  
                    121:        cmp             scratch2,scratch
                    122:        jr              S_GT,backside
                    123:        nop
                    124: 
                    125:        movei   #48,scratch
                    126:        jr              T,gotside
                    127:        nop
                    128: backside:
                    129:        movei   #52,scratch
                    130: gotside:
                    131: ; got a subsector, return &subsectors[nodenum&~NF_SUBSECTOR];
                    132: 
                    133: ;
                    134: ; nodenum = node->children[side]
                    135: ;
                    136:        add             scratch,pi_node
                    137:        movei   #nodeloop,scratch
                    138:        jump    T,(scratch)
                    139:        load    (pi_node),pi_node
                    140: 
                    141: ;==============================================================================
                    142: _PM_UnsetThingPosition::
                    143: ;==============================================================================
                    144: us_thing       .equr   r15
                    145: us_blockx      .equr   r16
                    146: us_blocky      .equr   r17
                    147: us_next                .equr   r18
                    148: us_prev                .equr   r19
                    149: 
                    150:        load    (FP),us_thing
                    151:        
                    152:        load    (us_thing+6),us_next    ; thing->snext
                    153:        load    (us_thing+7),us_prev    ; thing->sprev
                    154: 
                    155:        or              us_next,us_next
                    156:        jr              EQ,nosnext
                    157:        nop
                    158:        moveq   #7*4,scratch
                    159:        add             us_next,scratch         ; thing->snext->sprev
                    160:        load    (scratch),r31           ; DSP BUG
                    161:        store   us_prev,(scratch)       
                    162: nosnext:
                    163: 
                    164:        or              us_prev,us_prev
                    165:        jr              EQ,nosprev
                    166:        nop
                    167:        moveq   #6*4,scratch
                    168:        add             us_prev,scratch         ; thing->sprev->snext
                    169:        load    (scratch),r31           ; DSP BUG
                    170:        store   us_next,(scratch)       
                    171:        jr              T,slinksdone
                    172:        nop
                    173:        
                    174: nosprev:
                    175: 
                    176:        load    (us_thing+13),scratch   ; thing->subsector
                    177:        load    (scratch),scratch               ; thing->subsector->sector
                    178:        movei   #20*4,scratch2
                    179:        add             scratch2,scratch                ; thing->subsector->sector->thinglist
                    180:        load    (scratch),r31           ; DSP BUG
                    181:        store   us_next,(scratch)
                    182:        
                    183: slinksdone:
                    184: 
                    185:        load    (us_thing+25),scratch   ; thing->flags
                    186:        btst    #4,scratch                              ; MF_NOBLOCKMAP 
                    187:        jump    NE,(RETURNPOINT)
                    188:        nop
                    189:        
                    190: ;
                    191: ; block links
                    192: ;
                    193:        load    (us_thing+11),us_next
                    194:        load    (us_thing+12),us_prev
                    195: 
                    196:        or              us_next,us_next
                    197:        jr              EQ,nobnext
                    198:        nop
                    199:        movei   #12*4,scratch
                    200:        add             us_next,scratch         ; thing->bnext->bprev
                    201:        load    (scratch),r31           ; DSP BUG
                    202:        store   us_prev,(scratch)       
                    203: nobnext:
                    204: 
                    205:        or              us_prev,us_prev
                    206:        jr              EQ,nobprev
                    207:        nop
                    208:        movei   #11*4,scratch
                    209:        add             us_prev,scratch
                    210:        load    (scratch),r31           ; DSP BUG
                    211:        store   us_next,(scratch)       
                    212:        jump    T,(RETURNPOINT)
                    213:        nop
                    214:        
                    215: nobprev:
                    216: 
                    217:        load    (us_thing+3),us_blockx
                    218:        movei   #_bmaporgx,scratch
                    219:        load    (scratch),scratch
                    220:        sub             scratch,us_blockx
                    221:        shrq    #23,us_blockx
                    222:        
                    223:        load    (us_thing+4),us_blocky
                    224:        movei   #_bmaporgy,scratch
                    225:        load    (scratch),scratch
                    226:        sub             scratch,us_blocky
                    227:        shrq    #23,us_blocky
                    228: 
                    229:        movei   #_bmapwidth,scratch
                    230:        load    (scratch),scratch
                    231:        mult    scratch,us_blocky
                    232:        add             us_blockx,us_blocky
                    233:        shlq    #2,us_blocky                    ; int width table
                    234:        
                    235:        movei   #_blocklinks,scratch
                    236:        load    (scratch),scratch
                    237:        
                    238:        add             us_blocky,scratch
                    239:        
                    240:        load    (scratch),r31           ; DSP BUG
                    241:        store   us_next,(scratch)
                    242:        
                    243:        jump    T,(RETURNPOINT)
                    244:        nop
                    245: 
                    246: 
                    247: codestart:
                    248: ; unfuckdsp output -- add loads before external dsp stores
                    249: 
                    250: ;====================
                    251: _P_TryMove2::
                    252: ;3 dag registers  0 register variables
                    253: ;localoffset:4  regoffset:4  argoffset:20
                    254: ;====================
                    255:  subq #20,FP
                    256: 
                    257:  movei #_trymove2,r0
                    258:  moveq #0,r1
                    259:  load (r0),r30 ; FUCKING dsp!
                    260:  or r30,r30 ; FUCKING dsp!
                    261:  store r1,(r0)
                    262:  movei #_floatok,r0
                    263:  load (r0),r30 ; FUCKING dsp!
                    264:  or r30,r30 ; FUCKING dsp!
                    265:  store r1,(r0)
                    266:  movei #_oldx,r0
                    267:  movei #_tmthing,r1
                    268:  load (r1),r1
                    269:  move r1,r2
                    270:  addq #12,r2
                    271:  load (r2),r2
                    272:  load (r0),r30 ; FUCKING dsp!
                    273:  or r30,r30 ; FUCKING dsp!
                    274:  store r2,(r0)
                    275:  movei #_oldy,r0
                    276:  addq #16,r1
                    277:  load (r1),r1
                    278:  load (r0),r30 ; FUCKING dsp!
                    279:  or r30,r30 ; FUCKING dsp!
                    280:  store r1,(r0)
                    281:  movei #_PM_CheckPosition,r0
                    282:  store r28,(FP+1) ; push ;(RETURNPOINT)
                    283:  movei #L86,RETURNPOINT
                    284:  jump T,(r0)
                    285:  nop ; delay slot
                    286: L86:
                    287:  load (FP+1), RETURNPOINT ; pop
                    288: 
                    289:  movei #_checkposonly,r0
                    290:  load (r0),r0
                    291:  moveq #0,r1
                    292:  cmp r0,r1
                    293:  movei #L72,scratch
                    294:  jump EQ,(scratch)
                    295:  nop
                    296: 
                    297:  movei #_checkposonly,r0
                    298:  moveq #0,r1
                    299:  load (r0),r30 ; FUCKING dsp!
                    300:  or r30,r30 ; FUCKING dsp!
                    301:  store r1,(r0)
                    302: 
                    303:  movei #L71,r0
                    304:  jump T,(r0)
                    305:  nop
                    306: 
                    307: L72:
                    308: 
                    309:  movei #_trymove2,r0
                    310:  load (r0),r0
                    311:  moveq #0,r1
                    312:  cmp r0,r1
                    313:  movei #L74,scratch
                    314:  jump NE,(scratch)
                    315:  nop
                    316: 
                    317: 
                    318:  movei #L71,r0
                    319:  jump T,(r0)
                    320:  nop
                    321: 
                    322: L74:
                    323: 
                    324:  movei #_tmthing,r0
                    325:  load (r0),r0
                    326:  movei #100,r1
                    327:  add r1,r0
                    328:  load (r0),r0
                    329:  movei #4096,r1
                    330:  and r1,r0
                    331:  moveq #0,r1
                    332:  cmp r0,r1
                    333:  movei #L76,scratch
                    334:  jump NE,(scratch)
                    335:  nop
                    336: 
                    337:  movei #_trymove2,r0
                    338:  moveq #0,r1
                    339:  load (r0),r30 ; FUCKING dsp!
                    340:  or r30,r30 ; FUCKING dsp!
                    341:  store r1,(r0)
                    342:  movei #_tmceilingz,r0
                    343:  load (r0),r0
                    344:  movei #_tmfloorz,r1
                    345:  load (r1),r1
                    346:  sub r1,r0
                    347:  movei #_tmthing,r1
                    348:  load (r1),r1
                    349:  movei #68,r2
                    350:  add r2,r1
                    351:  load (r1),r1
                    352:  cmp r0,r1
                    353:  movei #L78,scratch
                    354:  jump EQ,(scratch)
                    355:  nop
                    356:  jump MI,(scratch)
                    357:  nop
                    358: 
                    359: 
                    360:  movei #L71,r0
                    361:  jump T,(r0)
                    362:  nop
                    363: 
                    364: L78:
                    365: 
                    366:  movei #_floatok,r0
                    367:  moveq #1,r1
                    368:  load (r0),r30 ; FUCKING dsp!
                    369:  or r30,r30 ; FUCKING dsp!
                    370:  store r1,(r0)
                    371:  movei #_tmthing,r0
                    372:  load (r0),r0
                    373:  movei #100,r1
                    374:  move r0,r2
                    375:  add r1,r2
                    376:  load (r2),r1
                    377:  movei #32768,r2
                    378:  and r2,r1
                    379:  moveq #0,r2
                    380:  cmp r1,r2
                    381:  movei #L80,scratch
                    382:  jump NE,(scratch)
                    383:  nop
                    384:  movei #_tmceilingz,r1
                    385:  load (r1),r1
                    386:  move r0,r2
                    387:  addq #20,r2
                    388:  load (r2),r2
                    389:  sub r2,r1
                    390:  movei #68,r2
                    391:  add r2,r0
                    392:  load (r0),r0
                    393:  cmp r1,r0
                    394:  movei #L80,scratch
                    395:  jump EQ,(scratch)
                    396:  nop
                    397:  jump MI,(scratch)
                    398:  nop
                    399: 
                    400: 
                    401:  movei #L71,r0
                    402:  jump T,(r0)
                    403:  nop
                    404: 
                    405: L80:
                    406: 
                    407:  movei #_tmthing,r0
                    408:  load (r0),r0
                    409:  movei #100,r1
                    410:  move r0,r2
                    411:  add r1,r2
                    412:  load (r2),r1
                    413:  movei #32768,r2
                    414:  and r2,r1
                    415:  moveq #0,r2
                    416:  cmp r1,r2
                    417:  movei #L82,scratch
                    418:  jump NE,(scratch)
                    419:  nop
                    420:  movei #_tmfloorz,r1
                    421:  load (r1),r1
                    422:  addq #20,r0
                    423:  load (r0),r0
                    424:  sub r0,r1
                    425:  movei #1572864,r0
                    426:  cmp r1,r0
                    427:  movei #L82,scratch
                    428:  jump PL,(scratch)
                    429:  nop
                    430: 
                    431: 
                    432:  movei #L71,r0
                    433:  jump T,(r0)
                    434:  nop
                    435: 
                    436: L82:
                    437: 
                    438:  movei #_tmthing,r0
                    439:  load (r0),r0
                    440:  movei #100,r1
                    441:  add r1,r0
                    442:  load (r0),r0
                    443:  movei #17408,r1
                    444:  and r1,r0
                    445:  moveq #0,r1
                    446:  cmp r0,r1
                    447:  movei #L84,scratch
                    448:  jump NE,(scratch)
                    449:  nop
                    450:  movei #_tmfloorz,r0
                    451:  load (r0),r0
                    452:  movei #_tmdropoffz,r1
                    453:  load (r1),r1
                    454:  sub r1,r0
                    455:  movei #1572864,r1
                    456:  cmp r0,r1
                    457:  movei #L84,scratch
                    458:  jump PL,(scratch)
                    459:  nop
                    460: 
                    461: 
                    462:  movei #L71,r0
                    463:  jump T,(r0)
                    464:  nop
                    465: 
                    466: L84:
                    467: 
                    468: L76:
                    469: 
                    470:  movei #_tmthing,r0
                    471:  load (r0),r0
                    472:  store r0,(FP) ; arg[]
                    473:  movei #_PM_UnsetThingPosition,r0
                    474:  store r28,(FP+1) ; push ;(RETURNPOINT)
                    475:  movei #L87,RETURNPOINT
                    476:  jump T,(r0)
                    477:  nop ; delay slot
                    478: L87:
                    479:  load (FP+1), RETURNPOINT ; pop
                    480: 
                    481:  movei #_tmthing,r0
                    482:  load (r0),r0
                    483:  movei #56,r1
                    484:  add r1,r0
                    485:  movei #_tmfloorz,r1
                    486:  load (r1),r1
                    487:  load (r0),r30 ; FUCKING dsp!
                    488:  or r30,r30 ; FUCKING dsp!
                    489:  store r1,(r0)
                    490: 
                    491:  movei #_tmthing,r0
                    492:  load (r0),r0
                    493:  movei #60,r1
                    494:  add r1,r0
                    495:  movei #_tmceilingz,r1
                    496:  load (r1),r1
                    497:  load (r0),r30 ; FUCKING dsp!
                    498:  or r30,r30 ; FUCKING dsp!
                    499:  store r1,(r0)
                    500: 
                    501:  movei #_tmthing,r0
                    502:  load (r0),r0
                    503:  addq #12,r0
                    504:  movei #_tmx,r1
                    505:  load (r1),r1
                    506:  load (r0),r30 ; FUCKING dsp!
                    507:  or r30,r30 ; FUCKING dsp!
                    508:  store r1,(r0)
                    509: 
                    510:  movei #_tmthing,r0
                    511:  load (r0),r0
                    512:  addq #16,r0
                    513:  movei #_tmy,r1
                    514:  load (r1),r1
                    515:  load (r0),r30 ; FUCKING dsp!
                    516:  or r30,r30 ; FUCKING dsp!
                    517:  store r1,(r0)
                    518: 
                    519:  movei #_tmthing,r0
                    520:  load (r0),r0
                    521:  store r0,(FP) ; arg[]
                    522:  movei #_PM_SetThingPosition,r0
                    523:  store r28,(FP+1) ; push ;(RETURNPOINT)
                    524:  movei #L88,RETURNPOINT
                    525:  jump T,(r0)
                    526:  nop ; delay slot
                    527: L88:
                    528:  load (FP+1), RETURNPOINT ; pop
                    529: 
                    530:  movei #_trymove2,r0
                    531:  moveq #1,r1
                    532:  load (r0),r30 ; FUCKING dsp!
                    533:  or r30,r30 ; FUCKING dsp!
                    534:  store r1,(r0)
                    535: 
                    536: L71:
                    537:  jump T,(RETURNPOINT)
                    538:  addq #20,FP ; delay slot
                    539: 
                    540: ;====================
                    541: _PM_PointOnLineSide::
                    542: ;6 dag registers  0 register variables
                    543: ;localoffset:0  regoffset:16  argoffset:16
                    544: ;====================
                    545:  subq #16,FP
                    546: 
                    547:  move FP,r0 ; &dx
                    548:  load (FP+4),r1 ; local x
                    549:  load (FP+6),r2 ; local line
                    550:  load (r2),r3
                    551:  load (r3),r3
                    552:  sub r3,r1
                    553:  load (r0),r30 ; FUCKING dsp!
                    554:  or r30,r30 ; FUCKING dsp!
                    555:  store r1,(r0)
                    556:  move FP,r1
                    557:  addq #4,r1 ; &dy
                    558:  load (FP+5),r3 ; local y
                    559:  load (r2),r4
                    560:  addq #4,r4
                    561:  load (r4),r4
                    562:  sub r4,r3
                    563:  load (r1),r30 ; FUCKING dsp!
                    564:  or r30,r30 ; FUCKING dsp!
                    565:  store r3,(r1)
                    566:  move FP,r3
                    567:  addq #8,r3 ; &left
                    568:  move r2,r4
                    569:  addq #12,r4
                    570:  load (r4),r4
                    571:  moveq #16,r5
                    572:  sha r5,r4
                    573:  load (r0),r0
                    574:  sha r5,r0
                    575:  move r4,MATH_A
                    576:  movei #L92,MATH_RTS
                    577:  movei #GPU_IMUL,scratch
                    578:  jump T,(scratch)
                    579:  move r0,MATH_B ; delay slot
                    580: L92:
                    581:  move MATH_C,r4
                    582:  load (r3),r30 ; FUCKING dsp!
                    583:  or r30,r30 ; FUCKING dsp!
                    584:  store r4,(r3)
                    585:  move FP,r0
                    586:  addq #12,r0 ; &right
                    587:  load (r1),r1
                    588:  sha r5,r1
                    589:  addq #8,r2
                    590:  load (r2),r2
                    591:  sha r5,r2
                    592:  move r1,MATH_A
                    593:  movei #L93,MATH_RTS
                    594:  movei #GPU_IMUL,scratch
                    595:  jump T,(scratch)
                    596:  move r2,MATH_B ; delay slot
                    597: L93:
                    598:  move MATH_C,r1
                    599:  load (r0),r30 ; FUCKING dsp!
                    600:  or r30,r30 ; FUCKING dsp!
                    601:  store r1,(r0)
                    602:  load (r0),r0
                    603:  load (r3),r1
                    604:  cmp r0,r1
                    605:  movei #L90,scratch
                    606:  jump EQ,(scratch)
                    607:  nop
                    608:  jump MI,(scratch)
                    609:  nop
                    610: 
                    611:  moveq #0,r0
                    612:  move r0,RETURNVALUE
                    613: 
                    614:  movei #L89,r0
                    615:  jump T,(r0)
                    616:  nop
                    617: 
                    618: L90:
                    619: 
                    620:  moveq #1,r0
                    621:  move r0,RETURNVALUE
                    622: 
                    623: L89:
                    624:  jump T,(RETURNPOINT)
                    625:  addq #16,FP ; delay slot
                    626: 
                    627: ;====================
                    628: _PM_SetThingPosition::
                    629: ;5 dag registers  0 register variables
                    630: ;localoffset:0  regoffset:20  argoffset:20
                    631: ;====================
                    632:  subq #20,FP
                    633: 
                    634:  move FP,r0
                    635:  addq #12,r0 ; &ss
                    636:  movei #_newsubsec,r1
                    637:  load (r1),r1
                    638:  load (r0),r30 ; FUCKING dsp!
                    639:  or r30,r30 ; FUCKING dsp!
                    640:  store r1,(r0)
                    641:  load (FP+5),r0 ; local thing
                    642:  movei #52,r2
                    643:  add r2,r0
                    644:  load (r0),r30 ; FUCKING dsp!
                    645:  or r30,r30 ; FUCKING dsp!
                    646:  store r1,(r0)
                    647: 
                    648:  load (FP+5),r0 ; local thing
                    649:  movei #100,r1
                    650:  add r1,r0
                    651:  load (r0),r0
                    652:  moveq #8,r1
                    653:  and r1,r0
                    654:  moveq #0,r1
                    655:  cmp r0,r1
                    656:  movei #L95,scratch
                    657:  jump NE,(scratch)
                    658:  nop
                    659: 
                    660:  move FP,r0 ; &sec
                    661:  load (FP+3),r1 ; local ss
                    662:  load (r1),r1
                    663:  load (r0),r30 ; FUCKING dsp!
                    664:  or r30,r30 ; FUCKING dsp!
                    665:  store r1,(r0)
                    666:  load (FP+5),r0 ; local thing
                    667:  addq #28,r0
                    668:  moveq #0,r1
                    669:  load (r0),r30 ; FUCKING dsp!
                    670:  or r30,r30 ; FUCKING dsp!
                    671:  store r1,(r0)
                    672: 
                    673:  load (FP+5),r0 ; local thing
                    674:  addq #24,r0
                    675:  load (FP),r1 ; local sec
                    676:  movei #80,r2
                    677:  add r2,r1
                    678:  load (r1),r1
                    679:  load (r0),r30 ; FUCKING dsp!
                    680:  or r30,r30 ; FUCKING dsp!
                    681:  store r1,(r0)
                    682: 
                    683:  load (FP),r0 ; local sec
                    684:  movei #80,r1
                    685:  add r1,r0
                    686:  load (r0),r0
                    687:  moveq #0,r1
                    688:  cmp r0,r1
                    689:  movei #L97,scratch
                    690:  jump EQ,(scratch)
                    691:  nop
                    692: 
                    693:  load (FP),r0 ; local sec
                    694:  movei #80,r1
                    695:  add r1,r0
                    696:  load (r0),r0
                    697:  addq #28,r0
                    698:  load (FP+5),r1 ; local thing
                    699:  load (r0),r30 ; FUCKING dsp!
                    700:  or r30,r30 ; FUCKING dsp!
                    701:  store r1,(r0)
                    702: 
                    703: L97:
                    704: 
                    705:  load (FP),r0 ; local sec
                    706:  movei #80,r1
                    707:  add r1,r0
                    708:  load (FP+5),r1 ; local thing
                    709:  load (r0),r30 ; FUCKING dsp!
                    710:  or r30,r30 ; FUCKING dsp!
                    711:  store r1,(r0)
                    712: 
                    713: L95:
                    714: 
                    715:  load (FP+5),r0 ; local thing
                    716:  movei #100,r1
                    717:  add r1,r0
                    718:  load (r0),r0
                    719:  moveq #16,r1
                    720:  and r1,r0
                    721:  moveq #0,r1
                    722:  cmp r0,r1
                    723:  movei #L99,scratch
                    724:  jump NE,(scratch)
                    725:  nop
                    726: 
                    727:  move FP,r0
                    728:  addq #4,r0 ; &blockx
                    729:  load (FP+5),r1 ; local thing
                    730:  move r1,r2
                    731:  addq #12,r2
                    732:  load (r2),r2
                    733:  movei #_bmaporgx,r3
                    734:  load (r3),r3
                    735:  sub r3,r2
                    736:  moveq #23,r3
                    737:  sha r3,r2
                    738:  load (r0),r30 ; FUCKING dsp!
                    739:  or r30,r30 ; FUCKING dsp!
                    740:  store r2,(r0)
                    741:  move FP,r2
                    742:  addq #8,r2 ; &blocky
                    743:  addq #16,r1
                    744:  load (r1),r1
                    745:  movei #_bmaporgy,r4
                    746:  load (r4),r4
                    747:  sub r4,r1
                    748:  sha r3,r1
                    749:  load (r2),r30 ; FUCKING dsp!
                    750:  or r30,r30 ; FUCKING dsp!
                    751:  store r1,(r2)
                    752:  load (r0),r0
                    753:  moveq #0,r1
                    754:  cmp r0,r1
                    755:  movei #L101,scratch
                    756:  jump S_LT,(scratch)
                    757:  nop
                    758:  movei #_bmapwidth,r3
                    759:  load (r3),r3
                    760:  cmp r0,r3
                    761:  movei #L101,scratch
                    762:  jump EQ,(scratch)
                    763:  nop
                    764:  jump MI,(scratch)
                    765:  nop
                    766:  load (r2),r0
                    767:  cmp r0,r1
                    768:  movei #L101,scratch
                    769:  jump S_LT,(scratch)
                    770:  nop
                    771:  movei #_bmapheight,r1
                    772:  load (r1),r1
                    773:  cmp r0,r1
                    774:  movei #L101,scratch
                    775:  jump EQ,(scratch)
                    776:  nop
                    777:  jump MI,(scratch)
                    778:  nop
                    779: 
                    780:  move FP,r0
                    781:  addq #16,r0 ; &link
                    782:  load (FP+2),r1 ; local blocky
                    783:  movei #_bmapwidth,r2
                    784:  load (r2),r2
                    785:  move r1,MATH_A
                    786:  movei #L105,MATH_RTS
                    787:  movei #GPU_IMUL,scratch
                    788:  jump T,(scratch)
                    789:  move r2,MATH_B ; delay slot
                    790: L105:
                    791:  move MATH_C,r1
                    792:  load (FP+1),r2 ; local blockx
                    793:  add r2,r1
                    794:  shlq #2,r1
                    795:  movei #_blocklinks,r2
                    796:  load (r2),r2
                    797:  add r2,r1
                    798:  load (r0),r30 ; FUCKING dsp!
                    799:  or r30,r30 ; FUCKING dsp!
                    800:  store r1,(r0)
                    801:  load (FP+5),r0 ; local thing
                    802:  movei #48,r1
                    803:  add r1,r0
                    804:  moveq #0,r1
                    805:  load (r0),r30 ; FUCKING dsp!
                    806:  or r30,r30 ; FUCKING dsp!
                    807:  store r1,(r0)
                    808: 
                    809:  load (FP+5),r0 ; local thing
                    810:  movei #44,r1
                    811:  add r1,r0
                    812:  load (FP+4),r1 ; local link
                    813:  load (r1),r1
                    814:  load (r0),r30 ; FUCKING dsp!
                    815:  or r30,r30 ; FUCKING dsp!
                    816:  store r1,(r0)
                    817: 
                    818:  load (FP+4),r0 ; local link
                    819:  load (r0),r0
                    820:  moveq #0,r1
                    821:  cmp r0,r1
                    822:  movei #L103,scratch
                    823:  jump EQ,(scratch)
                    824:  nop
                    825: 
                    826:  load (FP+4),r0 ; local link
                    827:  load (r0),r0
                    828:  movei #48,r1
                    829:  add r1,r0
                    830:  load (FP+5),r1 ; local thing
                    831:  load (r0),r30 ; FUCKING dsp!
                    832:  or r30,r30 ; FUCKING dsp!
                    833:  store r1,(r0)
                    834: 
                    835: L103:
                    836: 
                    837:  load (FP+4),r0 ; local link
                    838:  load (FP+5),r1 ; local thing
                    839:  load (r0),r30 ; FUCKING dsp!
                    840:  or r30,r30 ; FUCKING dsp!
                    841:  store r1,(r0)
                    842: 
                    843:  movei #L102,r0
                    844:  jump T,(r0)
                    845:  nop
                    846: 
                    847: L101:
                    848: 
                    849:  load (FP+5),r0 ; local thing
                    850:  movei #48,r1
                    851:  move r0,r2
                    852:  add r1,r2
                    853:  moveq #0,r1
                    854:  load (r2),r30 ; FUCKING dsp!
                    855:  or r30,r30 ; FUCKING dsp!
                    856:  store r1,(r2)
                    857:  movei #44,r2
                    858:  add r2,r0
                    859:  load (r0),r30 ; FUCKING dsp!
                    860:  or r30,r30 ; FUCKING dsp!
                    861:  store r1,(r0)
                    862: 
                    863: L102:
                    864: 
                    865: L99:
                    866: 
                    867: 
                    868: L94:
                    869:  jump T,(RETURNPOINT)
                    870:  addq #20,FP ; delay slot
                    871: 
                    872: ;====================
                    873: _PM_CheckPosition::
                    874: ;5 dag registers  6 register variables
                    875: ;localoffset:8  regoffset:8  argoffset:56
                    876: ;====================
                    877:  movei #56,scratch
                    878:  sub scratch,FP
                    879: 
                    880:  movei #_tmflags,r0
                    881:  movei #_tmthing,r1
                    882:  load (r1),r1
                    883:  movei #100,r2
                    884:  move r1,r3
                    885:  add r2,r3
                    886:  load (r3),r2
                    887:  load (r0),r30 ; FUCKING dsp!
                    888:  or r30,r30 ; FUCKING dsp!
                    889:  store r2,(r0)
                    890:  movei #_tmbbox,r0
                    891:  movei #_tmy,r2
                    892:  load (r2),r2
                    893:  movei #64,r3
                    894:  add r3,r1
                    895:  load (r1),r3
                    896:  move r2,r4
                    897:  add r3,r4
                    898:  load (r0),r30 ; FUCKING dsp!
                    899:  or r30,r30 ; FUCKING dsp!
                    900:  store r4,(r0)
                    901:  movei #_tmbbox+4,r0
                    902:  load (r1),r1
                    903:  sub r1,r2
                    904:  load (r0),r30 ; FUCKING dsp!
                    905:  or r30,r30 ; FUCKING dsp!
                    906:  store r2,(r0)
                    907: 
                    908:  movei #_tmbbox+12,r0
                    909:  movei #_tmx,r1
                    910:  load (r1),r1
                    911:  movei #_tmthing,r2
                    912:  load (r2),r2
                    913:  movei #64,r3
                    914:  add r3,r2
                    915:  load (r2),r2
                    916:  add r2,r1
                    917:  load (r0),r30 ; FUCKING dsp!
                    918:  or r30,r30 ; FUCKING dsp!
                    919:  store r1,(r0)
                    920: 
                    921:  movei #_tmbbox+8,r0
                    922:  movei #_tmx,r1
                    923:  load (r1),r1
                    924:  movei #_tmthing,r2
                    925:  load (r2),r2
                    926:  movei #64,r3
                    927:  add r3,r2
                    928:  load (r2),r2
                    929:  sub r2,r1
                    930:  load (r0),r30 ; FUCKING dsp!
                    931:  or r30,r30 ; FUCKING dsp!
                    932:  store r1,(r0)
                    933: 
                    934:  movei #_tmx,r0
                    935:  load (r0),r0
                    936:  store r0,(FP) ; arg[]
                    937:  movei #_tmy,r0
                    938:  load (r0),r0
                    939:  or r0,scratch ; scoreboard bug
                    940:  store r0,(FP+1) ; arg[]
                    941:  movei #_PM_PointInSubsector,r0
                    942:  store r28,(FP+2) ; push ;(RETURNPOINT)
                    943:  store r20,(FP+3) ; push ;(xl)
                    944:  store r19,(FP+4) ; push ;(yl)
                    945:  store r18,(FP+5) ; push ;(xh)
                    946:  store r17,(FP+6) ; push ;(yh)
                    947:  store r16,(FP+7) ; push ;(bx)
                    948:  movei #L154,RETURNPOINT
                    949:  jump T,(r0)
                    950:  store r15,(FP+8) ; delay slot push ;(by)
                    951: L154:
                    952:  load (FP+3),r20 ; pop ;(xl)
                    953:  load (FP+4),r19 ; pop ;(yl)
                    954:  load (FP+5),r18 ; pop ;(xh)
                    955:  load (FP+6),r17 ; pop ;(yh)
                    956:  load (FP+7),r16 ; pop ;(bx)
                    957:  load (FP+8),r15 ; pop ;(by)
                    958:  load (FP+2), RETURNPOINT ; pop
                    959:  movei #_newsubsec,r0
                    960:  move r29,r1 ;(RETURNVALUE)
                    961:  load (r0),r30 ; FUCKING dsp!
                    962:  or r30,r30 ; FUCKING dsp!
                    963:  store r1,(r0)
                    964:  movei #_tmdropoffz,r0
                    965:  movei #_newsubsec,r1
                    966:  load (r1),r1
                    967:  load (r1),r2
                    968:  load (r2),r2
                    969:  load (r0),r30 ; FUCKING dsp!
                    970:  or r30,r30 ; FUCKING dsp!
                    971:  store r2,(r0)
                    972:  movei #_tmfloorz,r0
                    973:  load (r0),r30 ; FUCKING dsp!
                    974:  or r30,r30 ; FUCKING dsp!
                    975:  store r2,(r0)
                    976:  movei #_tmceilingz,r0
                    977:  load (r1),r1
                    978:  addq #4,r1
                    979:  load (r1),r1
                    980:  load (r0),r30 ; FUCKING dsp!
                    981:  or r30,r30 ; FUCKING dsp!
                    982:  store r1,(r0)
                    983:  movei #_validcount,r0
                    984:  load (r0),r1
                    985:  addq #1,r1
                    986:  load (r0),r30 ; FUCKING dsp!
                    987:  or r30,r30 ; FUCKING dsp!
                    988:  store r1,(r0)
                    989:  movei #_movething,r0
                    990:  moveq #0,r1
                    991:  load (r0),r30 ; FUCKING dsp!
                    992:  or r30,r30 ; FUCKING dsp!
                    993:  store r1,(r0)
                    994:  movei #_blockline,r0
                    995:  load (r0),r30 ; FUCKING dsp!
                    996:  or r30,r30 ; FUCKING dsp!
                    997:  store r1,(r0)
                    998:  movei #_tmflags,r0
                    999:  load (r0),r0
                   1000:  movei #4096,r1
                   1001:  and r1,r0
                   1002:  moveq #0,r1
                   1003:  cmp r0,r1
                   1004:  movei #L110,scratch
                   1005:  jump EQ,(scratch)
                   1006:  nop
                   1007: 
                   1008:  movei #_trymove2,r0
                   1009:  moveq #1,r1
                   1010:  load (r0),r30 ; FUCKING dsp!
                   1011:  or r30,r30 ; FUCKING dsp!
                   1012:  store r1,(r0)
                   1013: 
                   1014:  movei #L106,r0
                   1015:  jump T,(r0)
                   1016:  nop
                   1017: 
                   1018: L110:
                   1019: 
                   1020:  movei #_tmbbox+8,r0
                   1021:  load (r0),r0
                   1022:  movei #_bmaporgx,r1
                   1023:  load (r1),r1
                   1024:  sub r1,r0
                   1025:  movei #2097152,r2
                   1026:  sub r2,r0
                   1027:  moveq #23,r3
                   1028:  sha r3,r0
                   1029:  move r0,r20 ;(xl)
                   1030:  movei #_tmbbox+12,r0
                   1031:  load (r0),r0
                   1032:  sub r1,r0
                   1033:  add r2,r0
                   1034:  sha r3,r0
                   1035:  move r0,r18 ;(xh)
                   1036:  movei #_tmbbox+4,r0
                   1037:  load (r0),r0
                   1038:  movei #_bmaporgy,r1
                   1039:  load (r1),r1
                   1040:  sub r1,r0
                   1041:  sub r2,r0
                   1042:  sha r3,r0
                   1043:  move r0,r19 ;(yl)
                   1044:  movei #_tmbbox,r0
                   1045:  load (r0),r0
                   1046:  sub r1,r0
                   1047:  add r2,r0
                   1048:  sha r3,r0
                   1049:  move r0,r17 ;(yh)
                   1050:  moveq #0,r0
                   1051:  cmp r20,r0 ;(xl)
                   1052:  movei #L115,scratch
                   1053:  jump EQ,(scratch)
                   1054:  nop
                   1055:  jump MI,(scratch)
                   1056:  nop
                   1057: 
                   1058:  moveq #0,r0
                   1059:  move r0,r20 ;(xl)
                   1060: 
                   1061: L115:
                   1062: 
                   1063:  moveq #0,r0
                   1064:  cmp r19,r0 ;(yl)
                   1065:  movei #L117,scratch
                   1066:  jump EQ,(scratch)
                   1067:  nop
                   1068:  jump MI,(scratch)
                   1069:  nop
                   1070: 
                   1071:  moveq #0,r0
                   1072:  move r0,r19 ;(yl)
                   1073: 
                   1074: L117:
                   1075: 
                   1076:  movei #_bmapwidth,r0
                   1077:  load (r0),r0
                   1078:  cmp r18,r0 ;(xh)
                   1079:  movei #L119,scratch
                   1080:  jump S_LT,(scratch)
                   1081:  nop
                   1082: 
                   1083:  movei #_bmapwidth,r0
                   1084:  load (r0),r0
                   1085:  subq #1,r0
                   1086:  move r0,r18 ;(xh)
                   1087: 
                   1088: L119:
                   1089: 
                   1090:  movei #_bmapheight,r0
                   1091:  load (r0),r0
                   1092:  cmp r17,r0 ;(yh)
                   1093:  movei #L121,scratch
                   1094:  jump S_LT,(scratch)
                   1095:  nop
                   1096: 
                   1097:  movei #_bmapheight,r0
                   1098:  load (r0),r0
                   1099:  subq #1,r0
                   1100:  move r0,r17 ;(yh)
                   1101: 
                   1102: L121:
                   1103: 
                   1104:  move r20,r16 ;(xl)(bx)
                   1105: 
                   1106:  movei #L126,r0
                   1107:  jump T,(r0)
                   1108:  nop
                   1109: 
                   1110: L123:
                   1111: 
                   1112:  move r19,r15 ;(yl)(by)
                   1113: 
                   1114:  movei #L130,r0
                   1115:  jump T,(r0)
                   1116:  nop
                   1117: 
                   1118: L127:
                   1119: 
                   1120:  store r16,(FP) ; arg[] ;(bx)
                   1121:  or r15,scratch ; scoreboard bug ;(by)
                   1122:  store r15,(FP+1) ; arg[] ;(by)
                   1123:  movei #_PM_MoveThingsIterator,r0
                   1124:  store r28,(FP+2) ; push ;(RETURNPOINT)
                   1125:  store r20,(FP+3) ; push ;(xl)
                   1126:  store r19,(FP+4) ; push ;(yl)
                   1127:  store r18,(FP+5) ; push ;(xh)
                   1128:  store r17,(FP+6) ; push ;(yh)
                   1129:  store r16,(FP+7) ; push ;(bx)
                   1130:  movei #L155,RETURNPOINT
                   1131:  jump T,(r0)
                   1132:  store r15,(FP+8) ; delay slot push ;(by)
                   1133: L155:
                   1134:  load (FP+3),r20 ; pop ;(xl)
                   1135:  load (FP+4),r19 ; pop ;(yl)
                   1136:  load (FP+5),r18 ; pop ;(xh)
                   1137:  load (FP+6),r17 ; pop ;(yh)
                   1138:  load (FP+7),r16 ; pop ;(bx)
                   1139:  load (FP+8),r15 ; pop ;(by)
                   1140:  load (FP+2), RETURNPOINT ; pop
                   1141:  moveq #0,r0
                   1142:  cmp r29,r0 ;(RETURNVALUE)
                   1143:  movei #L131,scratch
                   1144:  jump NE,(scratch)
                   1145:  nop
                   1146: 
                   1147:  movei #_trymove2,r0
                   1148:  moveq #0,r1
                   1149:  load (r0),r30 ; FUCKING dsp!
                   1150:  or r30,r30 ; FUCKING dsp!
                   1151:  store r1,(r0)
                   1152: 
                   1153:  movei #L106,r0
                   1154:  jump T,(r0)
                   1155:  nop
                   1156: 
                   1157: L131:
                   1158: 
                   1159: L128:
                   1160: 
                   1161:  move r15,r0 ;(by)
                   1162:  addq #1,r0
                   1163:  move r0,r15 ;(by)
                   1164: 
                   1165: L130:
                   1166: 
                   1167:  cmp r15,r17 ;(by)(yh)
                   1168:  movei #L127,scratch
                   1169:  jump PL,(scratch)
                   1170:  nop
                   1171: 
                   1172: L124:
                   1173: 
                   1174:  move r16,r0 ;(bx)
                   1175:  addq #1,r0
                   1176:  move r0,r16 ;(bx)
                   1177: 
                   1178: L126:
                   1179: 
                   1180:  cmp r16,r18 ;(bx)(xh)
                   1181:  movei #L123,scratch
                   1182:  jump PL,(scratch)
                   1183:  nop
                   1184: 
                   1185:  movei #_tmbbox+8,r0
                   1186:  load (r0),r0
                   1187:  movei #_bmaporgx,r1
                   1188:  load (r1),r1
                   1189:  sub r1,r0
                   1190:  moveq #23,r2
                   1191:  sha r2,r0
                   1192:  move r0,r20 ;(xl)
                   1193:  movei #_tmbbox+12,r0
                   1194:  load (r0),r0
                   1195:  sub r1,r0
                   1196:  sha r2,r0
                   1197:  move r0,r18 ;(xh)
                   1198:  movei #_tmbbox+4,r0
                   1199:  load (r0),r0
                   1200:  movei #_bmaporgy,r1
                   1201:  load (r1),r1
                   1202:  sub r1,r0
                   1203:  sha r2,r0
                   1204:  move r0,r19 ;(yl)
                   1205:  movei #_tmbbox,r0
                   1206:  load (r0),r0
                   1207:  sub r1,r0
                   1208:  sha r2,r0
                   1209:  move r0,r17 ;(yh)
                   1210:  moveq #0,r0
                   1211:  cmp r20,r0 ;(xl)
                   1212:  movei #L136,scratch
                   1213:  jump EQ,(scratch)
                   1214:  nop
                   1215:  jump MI,(scratch)
                   1216:  nop
                   1217: 
                   1218:  moveq #0,r0
                   1219:  move r0,r20 ;(xl)
                   1220: 
                   1221: L136:
                   1222: 
                   1223:  moveq #0,r0
                   1224:  cmp r19,r0 ;(yl)
                   1225:  movei #L138,scratch
                   1226:  jump EQ,(scratch)
                   1227:  nop
                   1228:  jump MI,(scratch)
                   1229:  nop
                   1230: 
                   1231:  moveq #0,r0
                   1232:  move r0,r19 ;(yl)
                   1233: 
                   1234: L138:
                   1235: 
                   1236:  movei #_bmapwidth,r0
                   1237:  load (r0),r0
                   1238:  cmp r18,r0 ;(xh)
                   1239:  movei #L140,scratch
                   1240:  jump S_LT,(scratch)
                   1241:  nop
                   1242: 
                   1243:  movei #_bmapwidth,r0
                   1244:  load (r0),r0
                   1245:  subq #1,r0
                   1246:  move r0,r18 ;(xh)
                   1247: 
                   1248: L140:
                   1249: 
                   1250:  movei #_bmapheight,r0
                   1251:  load (r0),r0
                   1252:  cmp r17,r0 ;(yh)
                   1253:  movei #L142,scratch
                   1254:  jump S_LT,(scratch)
                   1255:  nop
                   1256: 
                   1257:  movei #_bmapheight,r0
                   1258:  load (r0),r0
                   1259:  subq #1,r0
                   1260:  move r0,r17 ;(yh)
                   1261: 
                   1262: L142:
                   1263: 
                   1264:  move r20,r16 ;(xl)(bx)
                   1265: 
                   1266:  movei #L147,r0
                   1267:  jump T,(r0)
                   1268:  nop
                   1269: 
                   1270: L144:
                   1271: 
                   1272:  move r19,r15 ;(yl)(by)
                   1273: 
                   1274:  movei #L151,r0
                   1275:  jump T,(r0)
                   1276:  nop
                   1277: 
                   1278: L148:
                   1279: 
                   1280:  store r16,(FP) ; arg[] ;(bx)
                   1281:  or r15,scratch ; scoreboard bug ;(by)
                   1282:  store r15,(FP+1) ; arg[] ;(by)
                   1283:  movei #_PM_MoveLinesIterator,r0
                   1284:  store r28,(FP+2) ; push ;(RETURNPOINT)
                   1285:  store r20,(FP+3) ; push ;(xl)
                   1286:  store r19,(FP+4) ; push ;(yl)
                   1287:  store r18,(FP+5) ; push ;(xh)
                   1288:  store r17,(FP+6) ; push ;(yh)
                   1289:  store r16,(FP+7) ; push ;(bx)
                   1290:  movei #L156,RETURNPOINT
                   1291:  jump T,(r0)
                   1292:  store r15,(FP+8) ; delay slot push ;(by)
                   1293: L156:
                   1294:  load (FP+3),r20 ; pop ;(xl)
                   1295:  load (FP+4),r19 ; pop ;(yl)
                   1296:  load (FP+5),r18 ; pop ;(xh)
                   1297:  load (FP+6),r17 ; pop ;(yh)
                   1298:  load (FP+7),r16 ; pop ;(bx)
                   1299:  load (FP+8),r15 ; pop ;(by)
                   1300:  load (FP+2), RETURNPOINT ; pop
                   1301:  moveq #0,r0
                   1302:  cmp r29,r0 ;(RETURNVALUE)
                   1303:  movei #L152,scratch
                   1304:  jump NE,(scratch)
                   1305:  nop
                   1306: 
                   1307:  movei #_trymove2,r0
                   1308:  moveq #0,r1
                   1309:  load (r0),r30 ; FUCKING dsp!
                   1310:  or r30,r30 ; FUCKING dsp!
                   1311:  store r1,(r0)
                   1312: 
                   1313:  movei #L106,r0
                   1314:  jump T,(r0)
                   1315:  nop
                   1316: 
                   1317: L152:
                   1318: 
                   1319: L149:
                   1320: 
                   1321:  move r15,r0 ;(by)
                   1322:  addq #1,r0
                   1323:  move r0,r15 ;(by)
                   1324: 
                   1325: L151:
                   1326: 
                   1327:  cmp r15,r17 ;(by)(yh)
                   1328:  movei #L148,scratch
                   1329:  jump PL,(scratch)
                   1330:  nop
                   1331: 
                   1332: L145:
                   1333: 
                   1334:  move r16,r0 ;(bx)
                   1335:  addq #1,r0
                   1336:  move r0,r16 ;(bx)
                   1337: 
                   1338: L147:
                   1339: 
                   1340:  cmp r16,r18 ;(bx)(xh)
                   1341:  movei #L144,scratch
                   1342:  jump PL,(scratch)
                   1343:  nop
                   1344: 
                   1345:  movei #_trymove2,r0
                   1346:  moveq #1,r1
                   1347:  load (r0),r30 ; FUCKING dsp!
                   1348:  or r30,r30 ; FUCKING dsp!
                   1349:  store r1,(r0)
                   1350: 
                   1351: L106:
                   1352:  movei #56,scratch
                   1353:  jump T,(RETURNPOINT)
                   1354:  add scratch,FP ; delay slot
                   1355: 
                   1356: ;====================
                   1357: _PM_BoxCrossLine::
                   1358: ;4 dag registers  5 register variables
                   1359: ;localoffset:0  regoffset:40  argoffset:40
                   1360: ;====================
                   1361:  movei #40,scratch
                   1362:  sub scratch,FP
                   1363: 
                   1364:  movei #_tmbbox+12,r0
                   1365:  load (r0),r0
                   1366:  load (FP+10),r1 ; local ld
                   1367:  movei #44,r2
                   1368:  move r1,r3
                   1369:  add r2,r3
                   1370:  load (r3),r2
                   1371:  cmp r0,r2
                   1372:  movei #L165,scratch
                   1373:  jump PL,(scratch)
                   1374:  nop
                   1375:  movei #_tmbbox+8,r0
                   1376:  load (r0),r0
                   1377:  movei #48,r2
                   1378:  move r1,r3
                   1379:  add r2,r3
                   1380:  load (r3),r2
                   1381:  cmp r0,r2
                   1382:  movei #L165,scratch
                   1383:  jump EQ,(scratch)
                   1384:  nop
                   1385:  jump MI,(scratch)
                   1386:  nop
                   1387:  movei #_tmbbox,r0
                   1388:  load (r0),r0
                   1389:  movei #40,r2
                   1390:  move r1,r3
                   1391:  add r2,r3
                   1392:  load (r3),r2
                   1393:  cmp r0,r2
                   1394:  movei #L165,scratch
                   1395:  jump PL,(scratch)
                   1396:  nop
                   1397:  movei #_tmbbox+4,r0
                   1398:  load (r0),r0
                   1399:  movei #36,r2
                   1400:  add r2,r1
                   1401:  load (r1),r1
                   1402:  cmp r0,r1
                   1403:  movei #L158,scratch
                   1404:  jump S_LT,(scratch)
                   1405:  nop
                   1406: L165:
                   1407: 
                   1408:  moveq #0,r0
                   1409:  move r0,RETURNVALUE
                   1410: 
                   1411:  movei #L157,r0
                   1412:  jump T,(r0)
                   1413:  nop
                   1414: 
                   1415: L158:
                   1416: 
                   1417:  move FP,r0
                   1418:  addq #4,r0 ; &y1
                   1419:  movei #_tmbbox,r1
                   1420:  load (r1),r1
                   1421:  load (r0),r30 ; FUCKING dsp!
                   1422:  or r30,r30 ; FUCKING dsp!
                   1423:  store r1,(r0)
                   1424:  move FP,r0
                   1425:  addq #12,r0 ; &y2
                   1426:  movei #_tmbbox+4,r1
                   1427:  load (r1),r1
                   1428:  load (r0),r30 ; FUCKING dsp!
                   1429:  or r30,r30 ; FUCKING dsp!
                   1430:  store r1,(r0)
                   1431:  load (FP+10),r0 ; local ld
                   1432:  movei #52,r1
                   1433:  add r1,r0
                   1434:  load (r0),r0
                   1435:  moveq #2,r1
                   1436:  cmp r0,r1
                   1437:  movei #L167,scratch
                   1438:  jump NE,(scratch)
                   1439:  nop
                   1440: 
                   1441:  move FP,r0 ; &x1
                   1442:  movei #_tmbbox+8,r1
                   1443:  load (r1),r1
                   1444:  load (r0),r30 ; FUCKING dsp!
                   1445:  or r30,r30 ; FUCKING dsp!
                   1446:  store r1,(r0)
                   1447:  move FP,r0
                   1448:  addq #8,r0 ; &x2
                   1449:  movei #_tmbbox+12,r1
                   1450:  load (r1),r1
                   1451:  load (r0),r30 ; FUCKING dsp!
                   1452:  or r30,r30 ; FUCKING dsp!
                   1453:  store r1,(r0)
                   1454: 
                   1455:  movei #L168,r0
                   1456:  jump T,(r0)
                   1457:  nop
                   1458: 
                   1459: L167:
                   1460: 
                   1461:  move FP,r0 ; &x1
                   1462:  movei #_tmbbox+12,r1
                   1463:  load (r1),r1
                   1464:  load (r0),r30 ; FUCKING dsp!
                   1465:  or r30,r30 ; FUCKING dsp!
                   1466:  store r1,(r0)
                   1467:  move FP,r0
                   1468:  addq #8,r0 ; &x2
                   1469:  movei #_tmbbox+8,r1
                   1470:  load (r1),r1
                   1471:  load (r0),r30 ; FUCKING dsp!
                   1472:  or r30,r30 ; FUCKING dsp!
                   1473:  store r1,(r0)
                   1474: 
                   1475: L168:
                   1476: 
                   1477:  load (FP+10),r0 ; local ld
                   1478:  load (r0),r1
                   1479:  load (r1),r1
                   1480:  move r1,r15 ;(lx)
                   1481:  load (r0),r1
                   1482:  addq #4,r1
                   1483:  load (r1),r1
                   1484:  move r1,r16 ;(ly)
                   1485:  move r0,r1
                   1486:  addq #8,r1
                   1487:  load (r1),r1
                   1488:  moveq #16,r2
                   1489:  sha r2,r1
                   1490:  move r1,r17 ;(ldx)
                   1491:  addq #12,r0
                   1492:  load (r0),r0
                   1493:  sha r2,r0
                   1494:  move r0,r18 ;(ldy)
                   1495:  move FP,r0
                   1496:  addq #16,r0 ; &dx1
                   1497:  load (FP),r1 ; local x1
                   1498:  sub r15,r1 ;(lx)
                   1499:  sha r2,r1
                   1500:  load (r0),r30 ; FUCKING dsp!
                   1501:  or r30,r30 ; FUCKING dsp!
                   1502:  store r1,(r0)
                   1503:  move FP,r0
                   1504:  addq #20,r0 ; &dy1
                   1505:  load (FP+1),r1 ; local y1
                   1506:  sub r16,r1 ;(ly)
                   1507:  sha r2,r1
                   1508:  load (r0),r30 ; FUCKING dsp!
                   1509:  or r30,r30 ; FUCKING dsp!
                   1510:  store r1,(r0)
                   1511:  move FP,r0
                   1512:  addq #24,r0 ; &dx2
                   1513:  load (FP+2),r1 ; local x2
                   1514:  sub r15,r1 ;(lx)
                   1515:  sha r2,r1
                   1516:  load (r0),r30 ; FUCKING dsp!
                   1517:  or r30,r30 ; FUCKING dsp!
                   1518:  store r1,(r0)
                   1519:  move FP,r0
                   1520:  addq #28,r0 ; &dy2
                   1521:  load (FP+3),r1 ; local y2
                   1522:  sub r16,r1 ;(ly)
                   1523:  sha r2,r1
                   1524:  load (r0),r30 ; FUCKING dsp!
                   1525:  or r30,r30 ; FUCKING dsp!
                   1526:  store r1,(r0)
                   1527:  load (FP+4),r0 ; local dx1
                   1528:  move r18,MATH_A ;(ldy)
                   1529:  movei #L180,MATH_RTS
                   1530:  movei #GPU_IMUL,scratch
                   1531:  jump T,(scratch)
                   1532:  move r0,MATH_B ; delay slot
                   1533: L180:
                   1534:  move MATH_C,r1
                   1535:  load (FP+5),r0 ; local dy1
                   1536:  move r0,MATH_A
                   1537:  movei #L181,MATH_RTS
                   1538:  movei #GPU_IMUL,scratch
                   1539:  jump T,(scratch)
                   1540:  move r17,MATH_B ; delay slot ;(ldx)
                   1541: L181:
                   1542:  move MATH_C,r0
                   1543:  cmp r1,r0
                   1544:  movei #L174,scratch
                   1545:  jump EQ,(scratch)
                   1546:  nop
                   1547:  jump MI,(scratch)
                   1548:  nop
                   1549:  moveq #1,r0
                   1550:  move r0,r19 ;(173)
                   1551:  movei #L175,r0
                   1552:  jump T,(r0)
                   1553:  nop
                   1554: L174:
                   1555:  moveq #0,r0
                   1556:  move r0,r19 ;(173)
                   1557: L175:
                   1558:  move FP,r0
                   1559:  addq #32,r0 ; &side1
                   1560:  load (r0),r30 ; FUCKING dsp!
                   1561:  or r30,r30 ; FUCKING dsp!
                   1562:  store r19,(r0) ;(173)
                   1563:  load (FP+6),r0 ; local dx2
                   1564:  move r18,MATH_A ;(ldy)
                   1565:  movei #L182,MATH_RTS
                   1566:  movei #GPU_IMUL,scratch
                   1567:  jump T,(scratch)
                   1568:  move r0,MATH_B ; delay slot
                   1569: L182:
                   1570:  move MATH_C,r1
                   1571:  load (FP+7),r0 ; local dy2
                   1572:  move r0,MATH_A
                   1573:  movei #L183,MATH_RTS
                   1574:  movei #GPU_IMUL,scratch
                   1575:  jump T,(scratch)
                   1576:  move r17,MATH_B ; delay slot ;(ldx)
                   1577: L183:
                   1578:  move MATH_C,r0
                   1579:  cmp r1,r0
                   1580:  movei #L176,scratch
                   1581:  jump EQ,(scratch)
                   1582:  nop
                   1583:  jump MI,(scratch)
                   1584:  nop
                   1585:  moveq #1,r0
                   1586:  move r0,r19 ;(173)
                   1587:  movei #L177,r0
                   1588:  jump T,(r0)
                   1589:  nop
                   1590: L176:
                   1591:  moveq #0,r0
                   1592:  move r0,r19 ;(173)
                   1593: L177:
                   1594:  movei #36,r0
                   1595:  add FP,r0 ; &side2
                   1596:  load (r0),r30 ; FUCKING dsp!
                   1597:  or r30,r30 ; FUCKING dsp!
                   1598:  store r19,(r0) ;(173)
                   1599:  load (FP+8),r0 ; local side1
                   1600:  load (FP+9),r1 ; local side2
                   1601:  cmp r0,r1
                   1602:  movei #L178,scratch
                   1603:  jump EQ,(scratch)
                   1604:  nop
                   1605:  moveq #1,r0
                   1606:  move r0,r19 ;(173)
                   1607:  movei #L179,r0
                   1608:  jump T,(r0)
                   1609:  nop
                   1610: L178:
                   1611:  moveq #0,r0
                   1612:  move r0,r19 ;(173)
                   1613: L179:
                   1614:  move r19,RETURNVALUE ;(173)
                   1615: 
                   1616: L157:
                   1617:  movei #40,scratch
                   1618:  jump T,(RETURNPOINT)
                   1619:  add scratch,FP ; delay slot
                   1620: 
                   1621: ;====================
                   1622: _PIT_CheckLine::
                   1623: ;3 dag registers  2 register variables
                   1624: ;localoffset:0  regoffset:12  argoffset:12
                   1625: ;====================
                   1626:  subq #12,FP
                   1627: 
                   1628:  load (FP+3),r0 ; local ld
                   1629:  movei #60,r1
                   1630:  add r1,r0
                   1631:  load (r0),r0
                   1632:  moveq #0,r1
                   1633:  cmp r0,r1
                   1634:  movei #L185,scratch
                   1635:  jump NE,(scratch)
                   1636:  nop
                   1637: 
                   1638:  moveq #0,r0
                   1639:  move r0,RETURNVALUE
                   1640: 
                   1641:  movei #L184,r0
                   1642:  jump T,(r0)
                   1643:  nop
                   1644: 
                   1645: L185:
                   1646: 
                   1647:  movei #_tmthing,r0
                   1648:  load (r0),r0
                   1649:  movei #100,r1
                   1650:  add r1,r0
                   1651:  load (r0),r0
                   1652:  movei #65536,r1
                   1653:  and r1,r0
                   1654:  moveq #0,r1
                   1655:  cmp r0,r1
                   1656:  movei #L187,scratch
                   1657:  jump NE,(scratch)
                   1658:  nop
                   1659: 
                   1660:  load (FP+3),r0 ; local ld
                   1661:  addq #16,r0
                   1662:  load (r0),r0
                   1663:  moveq #1,r1
                   1664:  and r1,r0
                   1665:  moveq #0,r1
                   1666:  cmp r0,r1
                   1667:  movei #L189,scratch
                   1668:  jump EQ,(scratch)
                   1669:  nop
                   1670: 
                   1671:  moveq #0,r0
                   1672:  move r0,RETURNVALUE
                   1673: 
                   1674:  movei #L184,r0
                   1675:  jump T,(r0)
                   1676:  nop
                   1677: 
                   1678: L189:
                   1679: 
                   1680:  movei #_tmthing,r0
                   1681:  load (r0),r0
                   1682:  movei #128,r1
                   1683:  add r1,r0
                   1684:  load (r0),r0
                   1685:  moveq #0,r1
                   1686:  cmp r0,r1
                   1687:  movei #L191,scratch
                   1688:  jump NE,(scratch)
                   1689:  nop
                   1690:  load (FP+3),r0 ; local ld
                   1691:  addq #16,r0
                   1692:  load (r0),r0
                   1693:  moveq #2,r1
                   1694:  and r1,r0
                   1695:  moveq #0,r1
                   1696:  cmp r0,r1
                   1697:  movei #L191,scratch
                   1698:  jump EQ,(scratch)
                   1699:  nop
                   1700: 
                   1701:  moveq #0,r0
                   1702:  move r0,RETURNVALUE
                   1703: 
                   1704:  movei #L184,r0
                   1705:  jump T,(r0)
                   1706:  nop
                   1707: 
                   1708: L191:
                   1709: 
                   1710: L187:
                   1711: 
                   1712:  load (FP+3),r0 ; local ld
                   1713:  movei #56,r1
                   1714:  move r0,r2
                   1715:  add r1,r2
                   1716:  load (r2),r1
                   1717:  move r1,r15 ;(front)
                   1718:  movei #60,r1
                   1719:  add r1,r0
                   1720:  load (r0),r0
                   1721:  move r0,r16 ;(back)
                   1722:  moveq #4,r0
                   1723:  move r15,r1 ;(front)
                   1724:  add r0,r1
                   1725:  load (r1),r1
                   1726:  load (r15),r2 ;(front)
                   1727:  cmp r1,r2
                   1728:  movei #L195,scratch
                   1729:  jump EQ,(scratch)
                   1730:  nop
                   1731:  move r16,r1 ;(back)
                   1732:  add r0,r1
                   1733:  load (r1),r0
                   1734:  load (r16),r1 ;(back)
                   1735:  cmp r0,r1
                   1736:  movei #L193,scratch
                   1737:  jump NE,(scratch)
                   1738:  nop
                   1739: L195:
                   1740: 
                   1741:  movei #_blockline,r0
                   1742:  load (FP+3),r1 ; local ld
                   1743:  load (r0),r30 ; FUCKING dsp!
                   1744:  or r30,r30 ; FUCKING dsp!
                   1745:  store r1,(r0)
                   1746:  moveq #0,r0
                   1747:  move r0,RETURNVALUE
                   1748: 
                   1749:  movei #L184,r0
                   1750:  jump T,(r0)
                   1751:  nop
                   1752: 
                   1753: L193:
                   1754: 
                   1755:  moveq #4,r0
                   1756:  move r15,r1 ;(front)
                   1757:  add r0,r1
                   1758:  load (r1),r1
                   1759:  move r16,r2 ;(back)
                   1760:  add r0,r2
                   1761:  load (r2),r0
                   1762:  cmp r1,r0
                   1763:  movei #L196,scratch
                   1764:  jump EQ,(scratch)
                   1765:  nop
                   1766:  jump MI,(scratch)
                   1767:  nop
                   1768: 
                   1769:  move FP,r0 ; &pm_opentop
                   1770:  move r15,r1 ;(front)
                   1771:  addq #4,r1
                   1772:  load (r1),r1
                   1773:  load (r0),r30 ; FUCKING dsp!
                   1774:  or r30,r30 ; FUCKING dsp!
                   1775:  store r1,(r0)
                   1776: 
                   1777:  movei #L197,r0
                   1778:  jump T,(r0)
                   1779:  nop
                   1780: 
                   1781: L196:
                   1782: 
                   1783:  move FP,r0 ; &pm_opentop
                   1784:  move r16,r1 ;(back)
                   1785:  addq #4,r1
                   1786:  load (r1),r1
                   1787:  load (r0),r30 ; FUCKING dsp!
                   1788:  or r30,r30 ; FUCKING dsp!
                   1789:  store r1,(r0)
                   1790: 
                   1791: L197:
                   1792: 
                   1793:  load (r15),r0 ;(front)
                   1794:  load (r16),r1 ;(back)
                   1795:  cmp r0,r1
                   1796:  movei #L198,scratch
                   1797:  jump PL,(scratch)
                   1798:  nop
                   1799: 
                   1800:  move FP,r0
                   1801:  addq #4,r0 ; &pm_openbottom
                   1802:  load (r15),r1 ;(front)
                   1803:  load (r0),r30 ; FUCKING dsp!
                   1804:  or r30,r30 ; FUCKING dsp!
                   1805:  store r1,(r0)
                   1806:  move FP,r0
                   1807:  addq #8,r0 ; &pm_lowfloor
                   1808:  load (r16),r1 ;(back)
                   1809:  load (r0),r30 ; FUCKING dsp!
                   1810:  or r30,r30 ; FUCKING dsp!
                   1811:  store r1,(r0)
                   1812: 
                   1813:  movei #L199,r0
                   1814:  jump T,(r0)
                   1815:  nop
                   1816: 
                   1817: L198:
                   1818: 
                   1819:  move FP,r0
                   1820:  addq #4,r0 ; &pm_openbottom
                   1821:  load (r16),r1 ;(back)
                   1822:  load (r0),r30 ; FUCKING dsp!
                   1823:  or r30,r30 ; FUCKING dsp!
                   1824:  store r1,(r0)
                   1825:  move FP,r0
                   1826:  addq #8,r0 ; &pm_lowfloor
                   1827:  load (r15),r1 ;(front)
                   1828:  load (r0),r30 ; FUCKING dsp!
                   1829:  or r30,r30 ; FUCKING dsp!
                   1830:  store r1,(r0)
                   1831: 
                   1832: L199:
                   1833: 
                   1834:  load (FP),r0 ; local pm_opentop
                   1835:  movei #_tmceilingz,r1
                   1836:  load (r1),r1
                   1837:  cmp r0,r1
                   1838:  movei #L200,scratch
                   1839:  jump EQ,(scratch)
                   1840:  nop
                   1841:  jump MI,(scratch)
                   1842:  nop
                   1843: 
                   1844:  movei #_tmceilingz,r0
                   1845:  load (FP),r1 ; local pm_opentop
                   1846:  load (r0),r30 ; FUCKING dsp!
                   1847:  or r30,r30 ; FUCKING dsp!
                   1848:  store r1,(r0)
                   1849: 
                   1850: L200:
                   1851: 
                   1852:  load (FP+1),r0 ; local pm_openbottom
                   1853:  movei #_tmfloorz,r1
                   1854:  load (r1),r1
                   1855:  cmp r0,r1
                   1856:  movei #L202,scratch
                   1857:  jump PL,(scratch)
                   1858:  nop
                   1859: 
                   1860:  movei #_tmfloorz,r0
                   1861:  load (FP+1),r1 ; local pm_openbottom
                   1862:  load (r0),r30 ; FUCKING dsp!
                   1863:  or r30,r30 ; FUCKING dsp!
                   1864:  store r1,(r0)
                   1865: 
                   1866: L202:
                   1867: 
                   1868:  load (FP+2),r0 ; local pm_lowfloor
                   1869:  movei #_tmdropoffz,r1
                   1870:  load (r1),r1
                   1871:  cmp r0,r1
                   1872:  movei #L204,scratch
                   1873:  jump EQ,(scratch)
                   1874:  nop
                   1875:  jump MI,(scratch)
                   1876:  nop
                   1877: 
                   1878:  movei #_tmdropoffz,r0
                   1879:  load (FP+2),r1 ; local pm_lowfloor
                   1880:  load (r0),r30 ; FUCKING dsp!
                   1881:  or r30,r30 ; FUCKING dsp!
                   1882:  store r1,(r0)
                   1883: 
                   1884: L204:
                   1885: 
                   1886:  moveq #1,r0
                   1887:  move r0,RETURNVALUE
                   1888: 
                   1889: L184:
                   1890:  jump T,(RETURNPOINT)
                   1891:  addq #12,FP ; delay slot
                   1892: 
                   1893: ;====================
                   1894: _PIT_CheckThing::
                   1895: ;4 dag registers  4 register variables
                   1896: ;localoffset:0  regoffset:0  argoffset:0
                   1897: ;====================
                   1898: 
                   1899:  load (FP),r0 ; local thing
                   1900:  movei #100,r1
                   1901:  add r1,r0
                   1902:  load (r0),r0
                   1903:  moveq #7,r1
                   1904:  and r1,r0
                   1905:  moveq #0,r1
                   1906:  cmp r0,r1
                   1907:  movei #L207,scratch
                   1908:  jump NE,(scratch)
                   1909:  nop
                   1910: 
                   1911:  moveq #1,r0
                   1912:  move r0,RETURNVALUE
                   1913: 
                   1914:  movei #L206,r0
                   1915:  jump T,(r0)
                   1916:  nop
                   1917: 
                   1918: L207:
                   1919: 
                   1920:  load (FP),r0 ; local thing
                   1921:  movei #64,r1
                   1922:  move r0,r2
                   1923:  add r1,r2
                   1924:  load (r2),r2
                   1925:  movei #_tmthing,r3
                   1926:  load (r3),r3
                   1927:  add r1,r3
                   1928:  load (r3),r1
                   1929:  add r1,r2
                   1930:  move r2,r16 ;(blockdist)
                   1931:  addq #12,r0
                   1932:  load (r0),r0
                   1933:  movei #_tmx,r1
                   1934:  load (r1),r1
                   1935:  sub r1,r0
                   1936:  move r0,r15 ;(delta)
                   1937:  moveq #0,r0
                   1938:  cmp r15,r0 ;(delta)
                   1939:  movei #L209,scratch
                   1940:  jump EQ,(scratch)
                   1941:  nop
                   1942:  jump MI,(scratch)
                   1943:  nop
                   1944: 
                   1945:  move r15,r0 ;(delta)
                   1946:  neg r0
                   1947:  move r0,r15 ;(delta)
                   1948: 
                   1949: L209:
                   1950: 
                   1951:  cmp r15,r16 ;(delta)(blockdist)
                   1952:  movei #L211,scratch
                   1953:  jump S_LT,(scratch)
                   1954:  nop
                   1955: 
                   1956:  moveq #1,r0
                   1957:  move r0,RETURNVALUE
                   1958: 
                   1959:  movei #L206,r0
                   1960:  jump T,(r0)
                   1961:  nop
                   1962: 
                   1963: L211:
                   1964: 
                   1965:  load (FP),r0 ; local thing
                   1966:  addq #16,r0
                   1967:  load (r0),r0
                   1968:  movei #_tmy,r1
                   1969:  load (r1),r1
                   1970:  sub r1,r0
                   1971:  move r0,r15 ;(delta)
                   1972:  moveq #0,r0
                   1973:  cmp r15,r0 ;(delta)
                   1974:  movei #L213,scratch
                   1975:  jump EQ,(scratch)
                   1976:  nop
                   1977:  jump MI,(scratch)
                   1978:  nop
                   1979: 
                   1980:  move r15,r0 ;(delta)
                   1981:  neg r0
                   1982:  move r0,r15 ;(delta)
                   1983: 
                   1984: L213:
                   1985: 
                   1986:  cmp r15,r16 ;(delta)(blockdist)
                   1987:  movei #L215,scratch
                   1988:  jump S_LT,(scratch)
                   1989:  nop
                   1990: 
                   1991:  moveq #1,r0
                   1992:  move r0,RETURNVALUE
                   1993: 
                   1994:  movei #L206,r0
                   1995:  jump T,(r0)
                   1996:  nop
                   1997: 
                   1998: L215:
                   1999: 
                   2000:  load (FP),r0 ; local thing
                   2001:  movei #_tmthing,r1
                   2002:  load (r1),r1
                   2003:  cmp r0,r1
                   2004:  movei #L217,scratch
                   2005:  jump NE,(scratch)
                   2006:  nop
                   2007: 
                   2008:  moveq #1,r0
                   2009:  move r0,RETURNVALUE
                   2010: 
                   2011:  movei #L206,r0
                   2012:  jump T,(r0)
                   2013:  nop
                   2014: 
                   2015: L217:
                   2016: 
                   2017:  movei #_tmthing,r0
                   2018:  load (r0),r0
                   2019:  movei #100,r1
                   2020:  add r1,r0
                   2021:  load (r0),r0
                   2022:  movei #16777216,r1
                   2023:  and r1,r0
                   2024:  moveq #0,r1
                   2025:  cmp r0,r1
                   2026:  movei #L219,scratch
                   2027:  jump EQ,(scratch)
                   2028:  nop
                   2029: 
                   2030:  movei #_movething,r0
                   2031:  load (FP),r1 ; local thing
                   2032:  load (r0),r30 ; FUCKING dsp!
                   2033:  or r30,r30 ; FUCKING dsp!
                   2034:  store r1,(r0)
                   2035:  moveq #0,r0
                   2036:  move r0,RETURNVALUE
                   2037: 
                   2038:  movei #L206,r0
                   2039:  jump T,(r0)
                   2040:  nop
                   2041: 
                   2042: L219:
                   2043: 
                   2044:  movei #_tmthing,r0
                   2045:  load (r0),r0
                   2046:  movei #100,r1
                   2047:  add r1,r0
                   2048:  load (r0),r0
                   2049:  movei #65536,r1
                   2050:  and r1,r0
                   2051:  moveq #0,r1
                   2052:  cmp r0,r1
                   2053:  movei #L221,scratch
                   2054:  jump EQ,(scratch)
                   2055:  nop
                   2056: 
                   2057:  movei #_tmthing,r0
                   2058:  load (r0),r0
                   2059:  moveq #20,r1
                   2060:  add r1,r0
                   2061:  load (r0),r0
                   2062:  load (FP),r2 ; local thing
                   2063:  move r2,r3
                   2064:  add r1,r3
                   2065:  load (r3),r1
                   2066:  movei #68,r3
                   2067:  add r3,r2
                   2068:  load (r2),r2
                   2069:  add r2,r1
                   2070:  cmp r0,r1
                   2071:  movei #L223,scratch
                   2072:  jump PL,(scratch)
                   2073:  nop
                   2074: 
                   2075:  moveq #1,r0
                   2076:  move r0,RETURNVALUE
                   2077: 
                   2078:  movei #L206,r0
                   2079:  jump T,(r0)
                   2080:  nop
                   2081: 
                   2082: L223:
                   2083: 
                   2084:  movei #_tmthing,r0
                   2085:  load (r0),r0
                   2086:  moveq #20,r1
                   2087:  move r0,r2
                   2088:  add r1,r2
                   2089:  load (r2),r2
                   2090:  movei #68,r3
                   2091:  add r3,r0
                   2092:  load (r0),r0
                   2093:  add r0,r2
                   2094:  load (FP),r0 ; local thing
                   2095:  add r1,r0
                   2096:  load (r0),r0
                   2097:  cmp r2,r0
                   2098:  movei #L225,scratch
                   2099:  jump EQ,(scratch)
                   2100:  nop
                   2101:  jump MI,(scratch)
                   2102:  nop
                   2103: 
                   2104:  moveq #1,r0
                   2105:  move r0,RETURNVALUE
                   2106: 
                   2107:  movei #L206,r0
                   2108:  jump T,(r0)
                   2109:  nop
                   2110: 
                   2111: L225:
                   2112: 
                   2113:  movei #_tmthing,r0
                   2114:  load (r0),r0
                   2115:  movei #116,r1
                   2116:  add r1,r0
                   2117:  load (r0),r0
                   2118:  movei #84,r1
                   2119:  add r1,r0
                   2120:  load (r0),r0
                   2121:  load (FP),r2 ; local thing
                   2122:  add r1,r2
                   2123:  load (r2),r1
                   2124:  cmp r0,r1
                   2125:  movei #L227,scratch
                   2126:  jump NE,(scratch)
                   2127:  nop
                   2128: 
                   2129:  load (FP),r0 ; local thing
                   2130:  movei #_tmthing,r1
                   2131:  load (r1),r1
                   2132:  movei #116,r2
                   2133:  add r2,r1
                   2134:  load (r1),r1
                   2135:  cmp r0,r1
                   2136:  movei #L229,scratch
                   2137:  jump NE,(scratch)
                   2138:  nop
                   2139: 
                   2140:  moveq #1,r0
                   2141:  move r0,RETURNVALUE
                   2142: 
                   2143:  movei #L206,r0
                   2144:  jump T,(r0)
                   2145:  nop
                   2146: 
                   2147: L229:
                   2148: 
                   2149:  load (FP),r0 ; local thing
                   2150:  movei #84,r1
                   2151:  add r1,r0
                   2152:  load (r0),r0
                   2153:  moveq #0,r1
                   2154:  cmp r0,r1
                   2155:  movei #L231,scratch
                   2156:  jump EQ,(scratch)
                   2157:  nop
                   2158: 
                   2159:  moveq #0,r0
                   2160:  move r0,RETURNVALUE
                   2161: 
                   2162:  movei #L206,r0
                   2163:  jump T,(r0)
                   2164:  nop
                   2165: 
                   2166: L231:
                   2167: 
                   2168: L227:
                   2169: 
                   2170:  load (FP),r0 ; local thing
                   2171:  movei #100,r1
                   2172:  add r1,r0
                   2173:  load (r0),r0
                   2174:  moveq #4,r1
                   2175:  and r1,r0
                   2176:  moveq #0,r1
                   2177:  cmp r0,r1
                   2178:  movei #L233,scratch
                   2179:  jump NE,(scratch)
                   2180:  nop
                   2181: 
                   2182:  load (FP),r0 ; local thing
                   2183:  movei #100,r1
                   2184:  add r1,r0
                   2185:  load (r0),r0
                   2186:  moveq #2,r1
                   2187:  and r1,r0
                   2188:  moveq #0,r1
                   2189:  cmp r0,r1
                   2190:  movei #L236,scratch
                   2191:  jump NE,(scratch)
                   2192:  nop
                   2193:  moveq #1,r0
                   2194:  move r0,r17 ;(235)
                   2195:  movei #L237,r0
                   2196:  jump T,(r0)
                   2197:  nop
                   2198: L236:
                   2199:  moveq #0,r0
                   2200:  move r0,r17 ;(235)
                   2201: L237:
                   2202:  move r17,RETURNVALUE ;(235)
                   2203: 
                   2204:  movei #L206,r0
                   2205:  jump T,(r0)
                   2206:  nop
                   2207: 
                   2208: L233:
                   2209: 
                   2210:  movei #_movething,r0
                   2211:  load (FP),r1 ; local thing
                   2212:  load (r0),r30 ; FUCKING dsp!
                   2213:  or r30,r30 ; FUCKING dsp!
                   2214:  store r1,(r0)
                   2215:  moveq #0,r0
                   2216:  move r0,RETURNVALUE
                   2217: 
                   2218:  movei #L206,r0
                   2219:  jump T,(r0)
                   2220:  nop
                   2221: 
                   2222: L221:
                   2223: 
                   2224:  load (FP),r0 ; local thing
                   2225:  movei #100,r1
                   2226:  add r1,r0
                   2227:  load (r0),r0
                   2228:  moveq #1,r1
                   2229:  and r1,r0
                   2230:  moveq #0,r1
                   2231:  cmp r0,r1
                   2232:  movei #L238,scratch
                   2233:  jump EQ,(scratch)
                   2234:  nop
                   2235:  movei #_tmflags,r0
                   2236:  load (r0),r0
                   2237:  movei #2048,r2
                   2238:  and r2,r0
                   2239:  cmp r0,r1
                   2240:  movei #L238,scratch
                   2241:  jump EQ,(scratch)
                   2242:  nop
                   2243: 
                   2244:  movei #_movething,r0
                   2245:  load (FP),r1 ; local thing
                   2246:  load (r0),r30 ; FUCKING dsp!
                   2247:  or r30,r30 ; FUCKING dsp!
                   2248:  store r1,(r0)
                   2249:  moveq #1,r0
                   2250:  move r0,RETURNVALUE
                   2251: 
                   2252:  movei #L206,r0
                   2253:  jump T,(r0)
                   2254:  nop
                   2255: 
                   2256: L238:
                   2257: 
                   2258:  load (FP),r0 ; local thing
                   2259:  movei #100,r1
                   2260:  add r1,r0
                   2261:  load (r0),r0
                   2262:  moveq #2,r1
                   2263:  and r1,r0
                   2264:  moveq #0,r1
                   2265:  cmp r0,r1
                   2266:  movei #L241,scratch
                   2267:  jump NE,(scratch)
                   2268:  nop
                   2269:  moveq #1,r0
                   2270:  move r0,r18 ;(240)
                   2271:  movei #L242,r0
                   2272:  jump T,(r0)
                   2273:  nop
                   2274: L241:
                   2275:  moveq #0,r0
                   2276:  move r0,r18 ;(240)
                   2277: L242:
                   2278:  move r18,RETURNVALUE ;(240)
                   2279: 
                   2280: L206:
                   2281:  jump T,(RETURNPOINT)
                   2282:  nop ; delay slot
                   2283: 
                   2284: ;====================
                   2285: _PM_MoveLinesIterator::
                   2286: ;3 dag registers  3 register variables
                   2287: ;localoffset:4  regoffset:4  argoffset:32
                   2288: ;====================
                   2289:  subq #32,FP
                   2290: 
                   2291:  load (FP+9),r0 ; local y
                   2292:  movei #_bmapwidth,r1
                   2293:  load (r1),r1
                   2294:  move r0,MATH_A
                   2295:  movei #L254,MATH_RTS
                   2296:  movei #GPU_IMUL,scratch
                   2297:  jump T,(scratch)
                   2298:  move r1,MATH_B ; delay slot
                   2299: L254:
                   2300:  move MATH_C,r0
                   2301:  load (FP+8),r1 ; local x
                   2302:  add r1,r0
                   2303:  move r0,r17 ;(offset)
                   2304:  movei #-1,r0
                   2305:  move r17,r1 ;(offset)
                   2306:  sha r0,r1
                   2307:  movei #_blockmap,r2
                   2308:  load (r2),r2
                   2309:  add r2,r1
                   2310:  loadw (r1),r1
                   2311:  movei #$ffff8000,scratch
                   2312:  add scratch,r1
                   2313:  xor scratch,r1
                   2314:  move r1,r17 ;(offset)
                   2315:  move r17,r1 ;(offset)
                   2316:  sha r0,r1
                   2317:  movei #_blockmaplump,r0
                   2318:  load (r0),r0
                   2319:  add r0,r1
                   2320:  move r1,r16 ;(list)
                   2321: 
                   2322:  movei #L247,r0
                   2323:  jump T,(r0)
                   2324:  nop
                   2325: 
                   2326: L244:
                   2327: 
                   2328:  movei #76,r0
                   2329:  loadw (r16),r1 ;(list)
                   2330:  movei #$ffff8000,scratch
                   2331:  add scratch,r1
                   2332:  xor scratch,r1
                   2333:  move r0,MATH_A
                   2334:  movei #L255,MATH_RTS
                   2335:  movei #GPU_IMUL,scratch
                   2336:  jump T,(scratch)
                   2337:  move r1,MATH_B ; delay slot
                   2338: L255:
                   2339:  move MATH_C,r0
                   2340:  movei #_lines,r1
                   2341:  load (r1),r1
                   2342:  add r1,r0
                   2343:  move r0,r15 ;(ld)
                   2344:  movei #64,r0
                   2345:  move r15,r1 ;(ld)
                   2346:  add r0,r1
                   2347:  load (r1),r0
                   2348:  movei #_validcount,r1
                   2349:  load (r1),r1
                   2350:  cmp r0,r1
                   2351:  movei #L248,scratch
                   2352:  jump NE,(scratch)
                   2353:  nop
                   2354: 
                   2355:  movei #L245,r0
                   2356:  jump T,(r0)
                   2357:  nop
                   2358: 
                   2359: L248:
                   2360: 
                   2361:  movei #64,r0
                   2362:  move r15,r1 ;(ld)
                   2363:  add r0,r1
                   2364:  movei #_validcount,r0
                   2365:  load (r0),r0
                   2366:  load (r1),r30 ; FUCKING dsp!
                   2367:  or r30,r30 ; FUCKING dsp!
                   2368:  store r0,(r1)
                   2369: 
                   2370:  store r15,(FP) ; arg[] ;(ld)
                   2371:  movei #_PM_BoxCrossLine,r0
                   2372:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   2373:  store r17,(FP+2) ; push ;(offset)
                   2374:  store r16,(FP+3) ; push ;(list)
                   2375:  movei #L256,RETURNPOINT
                   2376:  jump T,(r0)
                   2377:  store r15,(FP+4) ; delay slot push ;(ld)
                   2378: L256:
                   2379:  load (FP+2),r17 ; pop ;(offset)
                   2380:  load (FP+3),r16 ; pop ;(list)
                   2381:  load (FP+4),r15 ; pop ;(ld)
                   2382:  load (FP+1), RETURNPOINT ; pop
                   2383:  moveq #0,r0
                   2384:  cmp r29,r0 ;(RETURNVALUE)
                   2385:  movei #L250,scratch
                   2386:  jump EQ,(scratch)
                   2387:  nop
                   2388: 
                   2389:  store r15,(FP) ; arg[] ;(ld)
                   2390:  movei #_PIT_CheckLine,r0
                   2391:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   2392:  store r17,(FP+2) ; push ;(offset)
                   2393:  store r16,(FP+3) ; push ;(list)
                   2394:  movei #L257,RETURNPOINT
                   2395:  jump T,(r0)
                   2396:  store r15,(FP+4) ; delay slot push ;(ld)
                   2397: L257:
                   2398:  load (FP+2),r17 ; pop ;(offset)
                   2399:  load (FP+3),r16 ; pop ;(list)
                   2400:  load (FP+4),r15 ; pop ;(ld)
                   2401:  load (FP+1), RETURNPOINT ; pop
                   2402:  moveq #0,r0
                   2403:  cmp r29,r0 ;(RETURNVALUE)
                   2404:  movei #L252,scratch
                   2405:  jump NE,(scratch)
                   2406:  nop
                   2407: 
                   2408:  moveq #0,r0
                   2409:  move r0,RETURNVALUE
                   2410: 
                   2411:  movei #L243,r0
                   2412:  jump T,(r0)
                   2413:  nop
                   2414: 
                   2415: L252:
                   2416: 
                   2417: L250:
                   2418: 
                   2419: L245:
                   2420: 
                   2421:  move r16,r0 ;(list)
                   2422:  addq #2,r0
                   2423:  move r0,r16 ;(list)
                   2424: 
                   2425: L247:
                   2426: 
                   2427:  loadw (r16),r0 ;(list)
                   2428:  movei #$ffff8000,scratch
                   2429:  add scratch,r0
                   2430:  xor scratch,r0
                   2431:  movei #-1,r1
                   2432:  cmp r0,r1
                   2433:  movei #L244,scratch
                   2434:  jump NE,(scratch)
                   2435:  nop
                   2436: 
                   2437:  moveq #1,r0
                   2438:  move r0,RETURNVALUE
                   2439: 
                   2440: L243:
                   2441:  jump T,(RETURNPOINT)
                   2442:  addq #32,FP ; delay slot
                   2443: 
                   2444: ;====================
                   2445: _PM_MoveThingsIterator::
                   2446: ;2 dag registers  1 register variables
                   2447: ;localoffset:4  regoffset:4  argoffset:20
                   2448: ;====================
                   2449:  subq #20,FP
                   2450: 
                   2451:  load (FP+6),r0 ; local y
                   2452:  movei #_bmapwidth,r1
                   2453:  load (r1),r1
                   2454:  move r0,MATH_A
                   2455:  movei #L265,MATH_RTS
                   2456:  movei #GPU_IMUL,scratch
                   2457:  jump T,(scratch)
                   2458:  move r1,MATH_B ; delay slot
                   2459: L265:
                   2460:  move MATH_C,r0
                   2461:  load (FP+5),r1 ; local x
                   2462:  add r1,r0
                   2463:  shlq #2,r0
                   2464:  movei #_blocklinks,r1
                   2465:  load (r1),r1
                   2466:  add r1,r0
                   2467:  load (r0),r0
                   2468:  move r0,r15 ;(mobj)
                   2469: 
                   2470:  movei #L262,r0
                   2471:  jump T,(r0)
                   2472:  nop
                   2473: 
                   2474: L259:
                   2475: 
                   2476:  store r15,(FP) ; arg[] ;(mobj)
                   2477:  movei #_PIT_CheckThing,r0
                   2478:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   2479:  movei #L266,RETURNPOINT
                   2480:  jump T,(r0)
                   2481:  store r15,(FP+2) ; delay slot push ;(mobj)
                   2482: L266:
                   2483:  load (FP+2),r15 ; pop ;(mobj)
                   2484:  load (FP+1), RETURNPOINT ; pop
                   2485:  moveq #0,r0
                   2486:  cmp r29,r0 ;(RETURNVALUE)
                   2487:  movei #L263,scratch
                   2488:  jump NE,(scratch)
                   2489:  nop
                   2490: 
                   2491:  moveq #0,r0
                   2492:  move r0,RETURNVALUE
                   2493: 
                   2494:  movei #L258,r0
                   2495:  jump T,(r0)
                   2496:  nop
                   2497: 
                   2498: L263:
                   2499: 
                   2500: L260:
                   2501: 
                   2502:  movei #44,r0
                   2503:  move r15,r1 ;(mobj)
                   2504:  add r0,r1
                   2505:  load (r1),r0
                   2506:  move r0,r15 ;(mobj)
                   2507: 
                   2508: L262:
                   2509: 
                   2510:  move r15,r0 ;(mobj)
                   2511:  moveq #0,r1
                   2512:  cmp r0,r1
                   2513:  movei #L259,scratch
                   2514:  jump NE,(scratch)
                   2515:  nop
                   2516: 
                   2517:  moveq #1,r0
                   2518:  move r0,RETURNVALUE
                   2519: 
                   2520: L258:
                   2521:  jump T,(RETURNPOINT)
                   2522:  addq #20,FP ; delay slot
                   2523: 
                   2524: ;=======================
                   2525: 
                   2526:  .long
                   2527: _tmflags::
                   2528:  .dc.l 0
                   2529:  .long
                   2530: _tmbbox::
                   2531:  .dc.l 0
                   2532:  .dc.l 0
                   2533:  .dc.l 0
                   2534:  .dc.l 0
                   2535:  .long
                   2536: _oldy::
                   2537:  .dc.l 0
                   2538:  .long
                   2539: _oldx::
                   2540:  .dc.l 0
                   2541:  .long
                   2542: _blockline::
                   2543:  .dc.l 0
                   2544:  .long
                   2545: _newsubsec::
                   2546:  .dc.l 0
                   2547:  .long
                   2548: _tmdropoffz::
                   2549:  .dc.l 0
                   2550:  .long
                   2551: _trymove2::
                   2552:  .dc.l 0
                   2553:  .extern _checkposonly
                   2554:  .extern _tmy
                   2555:  .extern _tmx
                   2556:  .extern _tmthing
                   2557:  .extern _PM_UnsetThingPosition
                   2558:  .extern _PM_PointInSubsector
                   2559:  .extern _blocklinks
                   2560:  .extern _bmaporgy
                   2561:  .extern _bmaporgx
                   2562:  .extern _bmapheight
                   2563:  .extern _bmapwidth
                   2564:  .extern _blockmap
                   2565:  .extern _blockmaplump
                   2566:  .long
                   2567: _movething::
                   2568:  .dc.l 0
                   2569:  .long
                   2570: _tmceilingz::
                   2571:  .dc.l 0
                   2572:  .long
                   2573: _tmfloorz::
                   2574:  .dc.l 0
                   2575:  .long
                   2576: _floatok::
                   2577:  .dc.l 0
                   2578:  .extern _validcount
                   2579:  .extern _lines
                   2580: 
                   2581:        .phrase
                   2582:        .68000
                   2583: codeend:

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.