Annotation of doom/p_base.gas, revision 1.1.1.1

1.1       root        1:  .long
                      2:        .dc.l   codeend-_p_base_start
                      3: _p_base_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: _PB_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: ;==============================================================================
                    143: _PB_UnsetThingPosition::
                    144: ;==============================================================================
                    145: us_thing       .equr   r15
                    146: us_blockx      .equr   r16
                    147: us_blocky      .equr   r17
                    148: us_next                .equr   r18
                    149: us_prev                .equr   r19
                    150: 
                    151:        load    (FP),us_thing
                    152:        
                    153:        load    (us_thing+6),us_next    ; thing->snext
                    154:        load    (us_thing+7),us_prev    ; thing->sprev
                    155: 
                    156:        or              us_next,us_next
                    157:        jr              EQ,nosnext
                    158:        nop
                    159:        moveq   #7*4,scratch
                    160:        add             us_next,scratch         ; thing->snext->sprev
                    161:        load    (scratch),r31           ; DSP BUG
                    162:        store   us_prev,(scratch)       
                    163: nosnext:
                    164: 
                    165:        or              us_prev,us_prev
                    166:        jr              EQ,nosprev
                    167:        nop
                    168:        moveq   #6*4,scratch
                    169:        add             us_prev,scratch         ; thing->sprev->snext
                    170:        load    (scratch),r31           ; DSP BUG
                    171:        store   us_next,(scratch)       
                    172:        jr              T,slinksdone
                    173:        nop
                    174:        
                    175: nosprev:
                    176: 
                    177:        load    (us_thing+13),scratch   ; thing->subsector
                    178:        load    (scratch),scratch               ; thing->subsector->sector
                    179:        movei   #20*4,scratch2
                    180:        add             scratch2,scratch                ; thing->subsector->sector->thinglist
                    181:        load    (scratch),r31           ; DSP BUG
                    182:        store   us_next,(scratch)
                    183:        
                    184: slinksdone:
                    185: 
                    186:        load    (us_thing+25),scratch   ; thing->flags
                    187:        btst    #4,scratch                              ; MF_NOBLOCKMAP 
                    188:        jump    NE,(RETURNPOINT)
                    189:        nop
                    190:        
                    191: ;
                    192: ; block links
                    193: ;
                    194:        load    (us_thing+11),us_next
                    195:        load    (us_thing+12),us_prev
                    196: 
                    197:        or              us_next,us_next
                    198:        jr              EQ,nobnext
                    199:        nop
                    200:        movei   #12*4,scratch
                    201:        add             us_next,scratch         ; thing->bnext->bprev
                    202:        load    (scratch),r31           ; DSP BUG
                    203:        store   us_prev,(scratch)       
                    204: nobnext:
                    205: 
                    206:        or              us_prev,us_prev
                    207:        jr              EQ,nobprev
                    208:        nop
                    209:        movei   #11*4,scratch
                    210:        add             us_prev,scratch
                    211:        load    (scratch),r31           ; DSP BUG
                    212:        store   us_next,(scratch)       
                    213:        jump    T,(RETURNPOINT)
                    214:        nop
                    215:        
                    216: nobprev:
                    217: 
                    218:        load    (us_thing+3),us_blockx
                    219:        movei   #_bmaporgx,scratch
                    220:        load    (scratch),scratch
                    221:        sub             scratch,us_blockx
                    222:        shrq    #23,us_blockx
                    223:        
                    224:        load    (us_thing+4),us_blocky
                    225:        movei   #_bmaporgy,scratch
                    226:        load    (scratch),scratch
                    227:        sub             scratch,us_blocky
                    228:        shrq    #23,us_blocky
                    229: 
                    230:        movei   #_bmapwidth,scratch
                    231:        load    (scratch),scratch
                    232:        mult    scratch,us_blocky
                    233:        add             us_blockx,us_blocky
                    234:        shlq    #2,us_blocky                    ; int width table
                    235:        
                    236:        movei   #_blocklinks,scratch
                    237:        load    (scratch),scratch
                    238:        
                    239:        add             us_blocky,scratch
                    240:        
                    241:        load    (scratch),r31           ; DSP BUG
                    242:        store   us_next,(scratch)
                    243:        
                    244:        jump    T,(RETURNPOINT)
                    245:        nop
                    246: 
                    247: 
                    248: 
                    249: codestart:
                    250: ; unfuckdsp output -- add loads before external dsp stores
                    251: 
                    252: ;====================
                    253: _P_RunMobjBase2::
                    254: ;2 dag registers  0 register variables
                    255: ;localoffset:4  regoffset:4  argoffset:16
                    256: ;====================
                    257:  subq #16,FP
                    258: 
                    259:  movei #_activemobjs,r0
                    260:  moveq #0,r1
                    261:  load (r0),r30 ; FUCKING dsp!
                    262:  or r30,r30 ; FUCKING dsp!
                    263:  store r1,(r0)
                    264:  movei #_basething,r0
                    265:  movei #_mobjhead+4,r1
                    266:  load (r1),r1
                    267:  load (r0),r30 ; FUCKING dsp!
                    268:  or r30,r30 ; FUCKING dsp!
                    269:  store r1,(r0)
                    270: 
                    271:  movei #L75,r0
                    272:  jump T,(r0)
                    273:  nop
                    274: 
                    275: L72:
                    276: 
                    277:  movei #_basething,r0
                    278:  load (r0),r0
                    279:  movei #128,r1
                    280:  add r1,r0
                    281:  load (r0),r0
                    282:  moveq #0,r1
                    283:  cmp r0,r1
                    284:  movei #L77,scratch
                    285:  jump EQ,(scratch)
                    286:  nop
                    287: 
                    288:  movei #L73,r0
                    289:  jump T,(r0)
                    290:  nop
                    291: 
                    292: L77:
                    293: 
                    294:  movei #_activemobjs,r0
                    295:  load (r0),r1
                    296:  addq #1,r1
                    297:  load (r0),r30 ; FUCKING dsp!
                    298:  or r30,r30 ; FUCKING dsp!
                    299:  store r1,(r0)
                    300:  movei #_basething,r0
                    301:  load (r0),r0
                    302:  addq #8,r0
                    303:  moveq #0,r1
                    304:  load (r0),r30 ; FUCKING dsp!
                    305:  or r30,r30 ; FUCKING dsp!
                    306:  store r1,(r0)
                    307: 
                    308:  movei #_basething,r0
                    309:  load (r0),r0
                    310:  store r0,(FP) ; arg[]
                    311:  movei #_P_MobjThinker,r0
                    312:  store r28,(FP+1) ; push ;(RETURNPOINT)
                    313:  movei #L79,RETURNPOINT
                    314:  jump T,(r0)
                    315:  nop ; delay slot
                    316: L79:
                    317:  load (FP+1), RETURNPOINT ; pop
                    318: 
                    319: L73:
                    320: 
                    321:  movei #_basething,r0
                    322:  load (r0),r1
                    323:  addq #4,r1
                    324:  load (r1),r1
                    325:  load (r0),r30 ; FUCKING dsp!
                    326:  or r30,r30 ; FUCKING dsp!
                    327:  store r1,(r0)
                    328: 
                    329: L75:
                    330: 
                    331:  movei #_basething,r0
                    332:  load (r0),r0
                    333:  movei #_mobjhead,r1
                    334:  cmp r0,r1
                    335:  movei #L72,scratch
                    336:  jump NE,(scratch)
                    337:  nop
                    338: 
                    339: 
                    340: L71:
                    341:  jump T,(RETURNPOINT)
                    342:  addq #16,FP ; delay slot
                    343: 
                    344: ;====================
                    345: _P_XYMovement::
                    346: ;4 dag registers  4 register variables
                    347: ;localoffset:8  regoffset:8  argoffset:44
                    348: ;====================
                    349:  movei #44,scratch
                    350:  sub scratch,FP
                    351: 
                    352:  load (FP+11),r0 ; local mo
                    353:  movei #72,r1
                    354:  move r0,r2
                    355:  add r1,r2
                    356:  load (r2),r1
                    357:  movei #-8,r2
                    358:  and r2,r1
                    359:  move r1,r15 ;(xuse)
                    360:  move r1,r17 ;(xleft)
                    361:  movei #76,r1
                    362:  add r1,r0
                    363:  load (r0),r0
                    364:  and r2,r0
                    365:  move r0,r16 ;(yuse)
                    366:  move r0,r18 ;(yleft)
                    367: 
                    368:  movei #L82,r0
                    369:  jump T,(r0)
                    370:  nop
                    371: 
                    372: L81:
                    373: 
                    374:  moveq #1,r0
                    375:  move r15,r1 ;(xuse)
                    376:  sha r0,r1
                    377:  move r1,r15 ;(xuse)
                    378:  move r16,r1 ;(yuse)
                    379:  sha r0,r1
                    380:  move r1,r16 ;(yuse)
                    381: 
                    382: L82:
                    383: 
                    384:  movei #1048576,r0
                    385:  cmp r15,r0 ;(xuse)
                    386:  movei #L81,scratch
                    387:  jump MI,(scratch)
                    388:  nop
                    389:  movei #-1048576,r1
                    390:  cmp r15,r1 ;(xuse)
                    391:  movei #L81,scratch
                    392:  jump S_LT,(scratch)
                    393:  nop
                    394:  cmp r16,r0 ;(yuse)
                    395:  movei #L81,scratch
                    396:  jump MI,(scratch)
                    397:  nop
                    398:  cmp r16,r1 ;(yuse)
                    399:  movei #L81,scratch
                    400:  jump S_LT,(scratch)
                    401:  nop
                    402: 
                    403:  movei #L85,r0
                    404:  jump T,(r0)
                    405:  nop
                    406: 
                    407: L84:
                    408: 
                    409:  move r17,r0 ;(xleft)
                    410:  sub r15,r0 ;(xuse)
                    411:  move r0,r17 ;(xleft)
                    412:  move r18,r0 ;(yleft)
                    413:  sub r16,r0 ;(yuse)
                    414:  move r0,r18 ;(yleft)
                    415:  load (FP+11),r0 ; local mo
                    416:  move r0,r1
                    417:  addq #12,r1
                    418:  load (r1),r1
                    419:  add r15,r1 ;(xuse)
                    420:  store r1,(FP) ; arg[]
                    421:  addq #16,r0
                    422:  load (r0),r0
                    423:  add r16,r0 ;(yuse)
                    424:  or r0,scratch ; scoreboard bug
                    425:  store r0,(FP+1) ; arg[]
                    426:  movei #_PB_TryMove,r0
                    427:  store r28,(FP+2) ; push ;(RETURNPOINT)
                    428:  store r18,(FP+3) ; push ;(yleft)
                    429:  store r17,(FP+4) ; push ;(xleft)
                    430:  store r16,(FP+5) ; push ;(yuse)
                    431:  movei #L105,RETURNPOINT
                    432:  jump T,(r0)
                    433:  store r15,(FP+6) ; delay slot push ;(xuse)
                    434: L105:
                    435:  load (FP+3),r18 ; pop ;(yleft)
                    436:  load (FP+4),r17 ; pop ;(xleft)
                    437:  load (FP+5),r16 ; pop ;(yuse)
                    438:  load (FP+6),r15 ; pop ;(xuse)
                    439:  load (FP+2), RETURNPOINT ; pop
                    440:  moveq #0,r0
                    441:  cmp r29,r0 ;(RETURNVALUE)
                    442:  movei #L87,scratch
                    443:  jump NE,(scratch)
                    444:  nop
                    445: 
                    446:  load (FP+11),r0 ; local mo
                    447:  movei #100,r1
                    448:  add r1,r0
                    449:  load (r0),r0
                    450:  movei #16777216,r1
                    451:  and r1,r0
                    452:  moveq #0,r1
                    453:  cmp r0,r1
                    454:  movei #L89,scratch
                    455:  jump EQ,(scratch)
                    456:  nop
                    457: 
                    458:  load (FP+11),r0 ; local mo
                    459:  movei #132,r1
                    460:  add r1,r0
                    461:  movei #_hitthing,r1
                    462:  load (r1),r1
                    463:  load (r0),r30 ; FUCKING dsp!
                    464:  or r30,r30 ; FUCKING dsp!
                    465:  store r1,(r0)
                    466: 
                    467:  load (FP+11),r0 ; local mo
                    468:  addq #8,r0
                    469:  movei #_L_SkullBash,r1
                    470:  load (r0),r30 ; FUCKING dsp!
                    471:  or r30,r30 ; FUCKING dsp!
                    472:  store r1,(r0)
                    473: 
                    474: L89:
                    475: 
                    476:  load (FP+11),r0 ; local mo
                    477:  movei #100,r1
                    478:  add r1,r0
                    479:  load (r0),r0
                    480:  movei #65536,r1
                    481:  and r1,r0
                    482:  moveq #0,r1
                    483:  cmp r0,r1
                    484:  movei #L91,scratch
                    485:  jump EQ,(scratch)
                    486:  nop
                    487: 
                    488:  movei #_ceilingline,r0
                    489:  load (r0),r0
                    490:  move r0,r1
                    491:  moveq #0,r2
                    492:  cmp r1,r2
                    493:  movei #L93,scratch
                    494:  jump EQ,(scratch)
                    495:  nop
                    496:  movei #60,r1
                    497:  add r1,r0
                    498:  load (r0),r0
                    499:  move r0,r1
                    500:  cmp r1,r2
                    501:  movei #L93,scratch
                    502:  jump EQ,(scratch)
                    503:  nop
                    504:  addq #12,r0
                    505:  load (r0),r0
                    506:  movei #-1,r1
                    507:  cmp r0,r1
                    508:  movei #L93,scratch
                    509:  jump NE,(scratch)
                    510:  nop
                    511: 
                    512:  load (FP+11),r0 ; local mo
                    513:  addq #8,r0
                    514:  movei #_P_RemoveMobj,r1
                    515:  load (r0),r30 ; FUCKING dsp!
                    516:  or r30,r30 ; FUCKING dsp!
                    517:  store r1,(r0)
                    518: 
                    519: 
                    520:  movei #L80,r0
                    521:  jump T,(r0)
                    522:  nop
                    523: 
                    524: L93:
                    525: 
                    526:  load (FP+11),r0 ; local mo
                    527:  movei #132,r1
                    528:  add r1,r0
                    529:  movei #_hitthing,r1
                    530:  load (r1),r1
                    531:  load (r0),r30 ; FUCKING dsp!
                    532:  or r30,r30 ; FUCKING dsp!
                    533:  store r1,(r0)
                    534: 
                    535:  load (FP+11),r0 ; local mo
                    536:  addq #8,r0
                    537:  movei #_L_MissileHit,r1
                    538:  load (r0),r30 ; FUCKING dsp!
                    539:  or r30,r30 ; FUCKING dsp!
                    540:  store r1,(r0)
                    541: 
                    542: 
                    543:  movei #L80,r0
                    544:  jump T,(r0)
                    545:  nop
                    546: 
                    547: L91:
                    548: 
                    549:  load (FP+11),r0 ; local mo
                    550:  movei #76,r1
                    551:  move r0,r2
                    552:  add r1,r2
                    553:  moveq #0,r1
                    554:  load (r2),r30 ; FUCKING dsp!
                    555:  or r30,r30 ; FUCKING dsp!
                    556:  store r1,(r2)
                    557:  movei #72,r2
                    558:  add r2,r0
                    559:  load (r0),r30 ; FUCKING dsp!
                    560:  or r30,r30 ; FUCKING dsp!
                    561:  store r1,(r0)
                    562: 
                    563: 
                    564:  movei #L80,r0
                    565:  jump T,(r0)
                    566:  nop
                    567: 
                    568: L87:
                    569: 
                    570: L85:
                    571: 
                    572:  moveq #0,r0
                    573:  cmp r17,r0 ;(xleft)
                    574:  movei #L84,scratch
                    575:  jump NE,(scratch)
                    576:  nop
                    577:  cmp r18,r0 ;(yleft)
                    578:  movei #L84,scratch
                    579:  jump NE,(scratch)
                    580:  nop
                    581: 
                    582:  load (FP+11),r0 ; local mo
                    583:  movei #100,r1
                    584:  add r1,r0
                    585:  load (r0),r0
                    586:  movei #16842752,r1
                    587:  and r1,r0
                    588:  moveq #0,r1
                    589:  cmp r0,r1
                    590:  movei #L95,scratch
                    591:  jump EQ,(scratch)
                    592:  nop
                    593: 
                    594: 
                    595:  movei #L80,r0
                    596:  jump T,(r0)
                    597:  nop
                    598: 
                    599: L95:
                    600: 
                    601:  load (FP+11),r0 ; local mo
                    602:  move r0,r1
                    603:  addq #20,r1
                    604:  load (r1),r1
                    605:  movei #56,r2
                    606:  add r2,r0
                    607:  load (r0),r0
                    608:  cmp r1,r0
                    609:  movei #L97,scratch
                    610:  jump PL,(scratch)
                    611:  nop
                    612: 
                    613: 
                    614:  movei #L80,r0
                    615:  jump T,(r0)
                    616:  nop
                    617: 
                    618: L97:
                    619: 
                    620:  load (FP+11),r0 ; local mo
                    621:  movei #100,r1
                    622:  add r1,r0
                    623:  load (r0),r0
                    624:  movei #1048576,r1
                    625:  and r1,r0
                    626:  moveq #0,r1
                    627:  cmp r0,r1
                    628:  movei #L99,scratch
                    629:  jump EQ,(scratch)
                    630:  nop
                    631: 
                    632:  load (FP+11),r0 ; local mo
                    633:  movei #56,r1
                    634:  move r0,r2
                    635:  add r1,r2
                    636:  load (r2),r1
                    637:  movei #52,r2
                    638:  add r2,r0
                    639:  load (r0),r0
                    640:  load (r0),r0
                    641:  load (r0),r0
                    642:  cmp r1,r0
                    643:  movei #L101,scratch
                    644:  jump EQ,(scratch)
                    645:  nop
                    646: 
                    647: 
                    648:  movei #L80,r0
                    649:  jump T,(r0)
                    650:  nop
                    651: 
                    652: L101:
                    653: 
                    654: L99:
                    655: 
                    656:  load (FP+11),r0 ; local mo
                    657:  movei #72,r1
                    658:  move r0,r2
                    659:  add r1,r2
                    660:  load (r2),r1
                    661:  movei #-4096,r2
                    662:  cmp r1,r2
                    663:  movei #L103,scratch
                    664:  jump PL,(scratch)
                    665:  nop
                    666:  movei #4096,r3
                    667:  cmp r1,r3
                    668:  movei #L103,scratch
                    669:  jump EQ,(scratch)
                    670:  nop
                    671:  jump MI,(scratch)
                    672:  nop
                    673:  movei #76,r1
                    674:  add r1,r0
                    675:  load (r0),r0
                    676:  cmp r0,r2
                    677:  movei #L103,scratch
                    678:  jump PL,(scratch)
                    679:  nop
                    680:  cmp r0,r3
                    681:  movei #L103,scratch
                    682:  jump EQ,(scratch)
                    683:  nop
                    684:  jump MI,(scratch)
                    685:  nop
                    686: 
                    687:  load (FP+11),r0 ; local mo
                    688:  movei #72,r1
                    689:  add r1,r0
                    690:  moveq #0,r1
                    691:  load (r0),r30 ; FUCKING dsp!
                    692:  or r30,r30 ; FUCKING dsp!
                    693:  store r1,(r0)
                    694: 
                    695:  load (FP+11),r0 ; local mo
                    696:  movei #76,r1
                    697:  add r1,r0
                    698:  moveq #0,r1
                    699:  load (r0),r30 ; FUCKING dsp!
                    700:  or r30,r30 ; FUCKING dsp!
                    701:  store r1,(r0)
                    702: 
                    703:  movei #L104,r0
                    704:  jump T,(r0)
                    705:  nop
                    706: 
                    707: L103:
                    708: 
                    709:  load (FP+11),r0 ; local mo
                    710:  movei #72,r1
                    711:  add r1,r0
                    712:  movei #210,r1
                    713:  load (r0),r2
                    714:  sharq #8,r2
                    715:  move r1,MATH_A
                    716:  movei #L106,MATH_RTS
                    717:  movei #GPU_IMUL,scratch
                    718:  jump T,(scratch)
                    719:  move r2,MATH_B ; delay slot
                    720: L106:
                    721:  move MATH_C,r1
                    722:  load (r0),r30 ; FUCKING dsp!
                    723:  or r30,r30 ; FUCKING dsp!
                    724:  store r1,(r0)
                    725: 
                    726:  load (FP+11),r0 ; local mo
                    727:  movei #76,r1
                    728:  add r1,r0
                    729:  movei #210,r1
                    730:  load (r0),r2
                    731:  sharq #8,r2
                    732:  move r1,MATH_A
                    733:  movei #L107,MATH_RTS
                    734:  movei #GPU_IMUL,scratch
                    735:  jump T,(scratch)
                    736:  move r2,MATH_B ; delay slot
                    737: L107:
                    738:  move MATH_C,r1
                    739:  load (r0),r30 ; FUCKING dsp!
                    740:  or r30,r30 ; FUCKING dsp!
                    741:  store r1,(r0)
                    742: 
                    743: L104:
                    744: 
                    745: 
                    746: L80:
                    747:  movei #44,scratch
                    748:  jump T,(RETURNPOINT)
                    749:  add scratch,FP ; delay slot
                    750: 
                    751: ;====================
                    752: _P_FloatChange::
                    753: ;5 dag registers  3 register variables
                    754: ;localoffset:0  regoffset:4  argoffset:4
                    755: ;====================
                    756:  subq #4,FP
                    757: 
                    758:  load (FP+1),r0 ; local mo
                    759:  movei #116,r1
                    760:  move r0,r2
                    761:  add r1,r2
                    762:  load (r2),r1
                    763:  moveq #12,r2
                    764:  add r2,r1
                    765:  load (r1),r1
                    766:  add r2,r0
                    767:  load (r0),r0
                    768:  sub r0,r1
                    769:  move r1,r15 ;(dx)
                    770:  moveq #0,r0
                    771:  cmp r15,r0 ;(dx)
                    772:  movei #L109,scratch
                    773:  jump EQ,(scratch)
                    774:  nop
                    775:  jump MI,(scratch)
                    776:  nop
                    777: 
                    778:  move r15,r0 ;(dx)
                    779:  neg r0
                    780:  move r0,r15 ;(dx)
                    781: 
                    782: L109:
                    783: 
                    784:  load (FP+1),r0 ; local mo
                    785:  movei #116,r1
                    786:  move r0,r2
                    787:  add r1,r2
                    788:  load (r2),r1
                    789:  moveq #16,r2
                    790:  add r2,r1
                    791:  load (r1),r1
                    792:  add r2,r0
                    793:  load (r0),r0
                    794:  sub r0,r1
                    795:  move r1,r16 ;(dy)
                    796:  moveq #0,r0
                    797:  cmp r16,r0 ;(dy)
                    798:  movei #L111,scratch
                    799:  jump EQ,(scratch)
                    800:  nop
                    801:  jump MI,(scratch)
                    802:  nop
                    803: 
                    804:  move r16,r0 ;(dy)
                    805:  neg r0
                    806:  move r0,r16 ;(dy)
                    807: 
                    808: L111:
                    809: 
                    810:  cmp r15,r16 ;(dx)(dy)
                    811:  movei #L113,scratch
                    812:  jump EQ,(scratch)
                    813:  nop
                    814:  jump MI,(scratch)
                    815:  nop
                    816: 
                    817:  move FP,r0 ; &dist
                    818:  move r15,r1 ;(dx)
                    819:  add r16,r1 ;(dy)
                    820:  move r15,r2 ;(dx)
                    821:  sharq #1,r2
                    822:  sub r2,r1
                    823:  load (r0),r30 ; FUCKING dsp!
                    824:  or r30,r30 ; FUCKING dsp!
                    825:  store r1,(r0)
                    826: 
                    827:  movei #L114,r0
                    828:  jump T,(r0)
                    829:  nop
                    830: 
                    831: L113:
                    832: 
                    833:  move FP,r0 ; &dist
                    834:  move r15,r1 ;(dx)
                    835:  add r16,r1 ;(dy)
                    836:  move r16,r2 ;(dy)
                    837:  sharq #1,r2
                    838:  sub r2,r1
                    839:  load (r0),r30 ; FUCKING dsp!
                    840:  or r30,r30 ; FUCKING dsp!
                    841:  store r1,(r0)
                    842: 
                    843: L114:
                    844: 
                    845:  load (FP+1),r0 ; local mo
                    846:  movei #116,r1
                    847:  move r0,r2
                    848:  add r1,r2
                    849:  load (r2),r1
                    850:  moveq #20,r2
                    851:  add r2,r1
                    852:  load (r1),r1
                    853:  movei #68,r3
                    854:  move r0,r4
                    855:  add r3,r4
                    856:  load (r4),r3
                    857:  sharq #1,r3
                    858:  add r3,r1
                    859:  add r2,r0
                    860:  load (r0),r0
                    861:  sub r0,r1
                    862:  move r1,r17 ;(delta)
                    863:  moveq #0,r0
                    864:  cmp r17,r0 ;(delta)
                    865:  movei #L115,scratch
                    866:  jump EQ,(scratch)
                    867:  nop
                    868:  jump MI,(scratch)
                    869:  nop
                    870:  load (FP),r0 ; local dist
                    871:  moveq #3,r1
                    872:  move r1,MATH_A
                    873:  movei #L119,MATH_RTS
                    874:  movei #GPU_IMUL,scratch
                    875:  jump T,(scratch)
                    876:  move r17,MATH_B ; delay slot ;(delta)
                    877: L119:
                    878:  move MATH_C,r1
                    879:  neg r1
                    880:  cmp r0,r1
                    881:  movei #L115,scratch
                    882:  jump EQ,(scratch)
                    883:  nop
                    884:  jump MI,(scratch)
                    885:  nop
                    886: 
                    887:  load (FP+1),r0 ; local mo
                    888:  addq #20,r0
                    889:  load (r0),r1
                    890:  movei #524288,r2
                    891:  sub r2,r1
                    892:  load (r0),r30 ; FUCKING dsp!
                    893:  or r30,r30 ; FUCKING dsp!
                    894:  store r1,(r0)
                    895: 
                    896:  movei #L116,r0
                    897:  jump T,(r0)
                    898:  nop
                    899: 
                    900: L115:
                    901: 
                    902:  moveq #0,r0
                    903:  cmp r17,r0 ;(delta)
                    904:  movei #L117,scratch
                    905:  jump PL,(scratch)
                    906:  nop
                    907:  load (FP),r0 ; local dist
                    908:  moveq #3,r1
                    909:  move r1,MATH_A
                    910:  movei #L120,MATH_RTS
                    911:  movei #GPU_IMUL,scratch
                    912:  jump T,(scratch)
                    913:  move r17,MATH_B ; delay slot ;(delta)
                    914: L120:
                    915:  move MATH_C,r1
                    916:  cmp r0,r1
                    917:  movei #L117,scratch
                    918:  jump EQ,(scratch)
                    919:  nop
                    920:  jump MI,(scratch)
                    921:  nop
                    922: 
                    923:  load (FP+1),r0 ; local mo
                    924:  addq #20,r0
                    925:  load (r0),r1
                    926:  movei #524288,r2
                    927:  add r2,r1
                    928:  load (r0),r30 ; FUCKING dsp!
                    929:  or r30,r30 ; FUCKING dsp!
                    930:  store r1,(r0)
                    931: 
                    932: L117:
                    933: 
                    934: L116:
                    935: 
                    936: 
                    937: L108:
                    938:  jump T,(RETURNPOINT)
                    939:  addq #4,FP ; delay slot
                    940: 
                    941: ;====================
                    942: _P_ZMovement::
                    943: ;4 dag registers  0 register variables
                    944: ;localoffset:4  regoffset:4  argoffset:24
                    945: ;====================
                    946:  subq #24,FP
                    947: 
                    948:  load (FP+6),r0 ; local mo
                    949:  move r0,r1
                    950:  addq #20,r1
                    951:  load (r1),r2
                    952:  movei #80,r3
                    953:  add r3,r0
                    954:  load (r0),r0
                    955:  add r0,r2
                    956:  load (r1),r30 ; FUCKING dsp!
                    957:  or r30,r30 ; FUCKING dsp!
                    958:  store r2,(r1)
                    959: 
                    960:  load (FP+6),r0 ; local mo
                    961:  movei #100,r1
                    962:  move r0,r2
                    963:  add r1,r2
                    964:  load (r2),r1
                    965:  movei #16384,r2
                    966:  and r2,r1
                    967:  moveq #0,r2
                    968:  cmp r1,r2
                    969:  movei #L122,scratch
                    970:  jump EQ,(scratch)
                    971:  nop
                    972:  movei #116,r1
                    973:  add r1,r0
                    974:  load (r0),r0
                    975:  moveq #0,r1
                    976:  cmp r0,r1
                    977:  movei #L122,scratch
                    978:  jump EQ,(scratch)
                    979:  nop
                    980: 
                    981:  load (FP+6),r0 ; local mo
                    982:  store r0,(FP) ; arg[]
                    983:  movei #_P_FloatChange,r0
                    984:  store r28,(FP+1) ; push ;(RETURNPOINT)
                    985:  movei #L140,RETURNPOINT
                    986:  jump T,(r0)
                    987:  nop ; delay slot
                    988: L140:
                    989:  load (FP+1), RETURNPOINT ; pop
                    990: 
                    991: L122:
                    992: 
                    993:  load (FP+6),r0 ; local mo
                    994:  move r0,r1
                    995:  addq #20,r1
                    996:  load (r1),r1
                    997:  movei #56,r2
                    998:  add r2,r0
                    999:  load (r0),r0
                   1000:  cmp r1,r0
                   1001:  movei #L124,scratch
                   1002:  jump MI,(scratch)
                   1003:  nop
                   1004: 
                   1005:  load (FP+6),r0 ; local mo
                   1006:  movei #80,r1
                   1007:  add r1,r0
                   1008:  load (r0),r0
                   1009:  moveq #0,r1
                   1010:  cmp r0,r1
                   1011:  movei #L126,scratch
                   1012:  jump EQ,(scratch)
                   1013:  nop
                   1014:  jump MI,(scratch)
                   1015:  nop
                   1016: 
                   1017:  load (FP+6),r0 ; local mo
                   1018:  movei #80,r1
                   1019:  add r1,r0
                   1020:  moveq #0,r1
                   1021:  load (r0),r30 ; FUCKING dsp!
                   1022:  or r30,r30 ; FUCKING dsp!
                   1023:  store r1,(r0)
                   1024: 
                   1025: L126:
                   1026: 
                   1027:  load (FP+6),r0 ; local mo
                   1028:  move r0,r1
                   1029:  addq #20,r1
                   1030:  movei #56,r2
                   1031:  add r2,r0
                   1032:  load (r0),r0
                   1033:  load (r1),r30 ; FUCKING dsp!
                   1034:  or r30,r30 ; FUCKING dsp!
                   1035:  store r0,(r1)
                   1036: 
                   1037:  load (FP+6),r0 ; local mo
                   1038:  movei #100,r1
                   1039:  add r1,r0
                   1040:  load (r0),r0
                   1041:  movei #65536,r1
                   1042:  and r1,r0
                   1043:  moveq #0,r1
                   1044:  cmp r0,r1
                   1045:  movei #L125,scratch
                   1046:  jump EQ,(scratch)
                   1047:  nop
                   1048: 
                   1049:  load (FP+6),r0 ; local mo
                   1050:  addq #8,r0
                   1051:  movei #_P_ExplodeMissile,r1
                   1052:  load (r0),r30 ; FUCKING dsp!
                   1053:  or r30,r30 ; FUCKING dsp!
                   1054:  store r1,(r0)
                   1055: 
                   1056: 
                   1057:  movei #L121,r0
                   1058:  jump T,(r0)
                   1059:  nop
                   1060: 
                   1061: L124:
                   1062: 
                   1063:  load (FP+6),r0 ; local mo
                   1064:  movei #100,r1
                   1065:  add r1,r0
                   1066:  load (r0),r0
                   1067:  movei #512,r1
                   1068:  and r1,r0
                   1069:  moveq #0,r1
                   1070:  cmp r0,r1
                   1071:  movei #L130,scratch
                   1072:  jump NE,(scratch)
                   1073:  nop
                   1074: 
                   1075:  load (FP+6),r0 ; local mo
                   1076:  movei #80,r1
                   1077:  add r1,r0
                   1078:  load (r0),r0
                   1079:  moveq #0,r1
                   1080:  cmp r0,r1
                   1081:  movei #L132,scratch
                   1082:  jump NE,(scratch)
                   1083:  nop
                   1084: 
                   1085:  load (FP+6),r0 ; local mo
                   1086:  movei #80,r1
                   1087:  add r1,r0
                   1088:  movei #-524288,r1
                   1089:  load (r0),r30 ; FUCKING dsp!
                   1090:  or r30,r30 ; FUCKING dsp!
                   1091:  store r1,(r0)
                   1092: 
                   1093:  movei #L133,r0
                   1094:  jump T,(r0)
                   1095:  nop
                   1096: 
                   1097: L132:
                   1098: 
                   1099:  load (FP+6),r0 ; local mo
                   1100:  movei #80,r1
                   1101:  add r1,r0
                   1102:  load (r0),r1
                   1103:  movei #262144,r2
                   1104:  sub r2,r1
                   1105:  load (r0),r30 ; FUCKING dsp!
                   1106:  or r30,r30 ; FUCKING dsp!
                   1107:  store r1,(r0)
                   1108: 
                   1109: L133:
                   1110: 
                   1111: L130:
                   1112: 
                   1113: L125:
                   1114: 
                   1115:  load (FP+6),r0 ; local mo
                   1116:  move r0,r1
                   1117:  addq #20,r1
                   1118:  load (r1),r1
                   1119:  movei #68,r2
                   1120:  move r0,r3
                   1121:  add r2,r3
                   1122:  load (r3),r2
                   1123:  add r2,r1
                   1124:  movei #60,r2
                   1125:  add r2,r0
                   1126:  load (r0),r0
                   1127:  cmp r1,r0
                   1128:  movei #L134,scratch
                   1129:  jump PL,(scratch)
                   1130:  nop
                   1131: 
                   1132:  load (FP+6),r0 ; local mo
                   1133:  movei #80,r1
                   1134:  add r1,r0
                   1135:  load (r0),r0
                   1136:  moveq #0,r1
                   1137:  cmp r0,r1
                   1138:  movei #L136,scratch
                   1139:  jump PL,(scratch)
                   1140:  nop
                   1141: 
                   1142:  load (FP+6),r0 ; local mo
                   1143:  movei #80,r1
                   1144:  add r1,r0
                   1145:  moveq #0,r1
                   1146:  load (r0),r30 ; FUCKING dsp!
                   1147:  or r30,r30 ; FUCKING dsp!
                   1148:  store r1,(r0)
                   1149: 
                   1150: L136:
                   1151: 
                   1152:  load (FP+6),r0 ; local mo
                   1153:  move r0,r1
                   1154:  addq #20,r1
                   1155:  movei #60,r2
                   1156:  move r0,r3
                   1157:  add r2,r3
                   1158:  load (r3),r2
                   1159:  movei #68,r3
                   1160:  add r3,r0
                   1161:  load (r0),r0
                   1162:  sub r0,r2
                   1163:  load (r1),r30 ; FUCKING dsp!
                   1164:  or r30,r30 ; FUCKING dsp!
                   1165:  store r2,(r1)
                   1166: 
                   1167:  load (FP+6),r0 ; local mo
                   1168:  movei #100,r1
                   1169:  add r1,r0
                   1170:  load (r0),r0
                   1171:  movei #65536,r1
                   1172:  and r1,r0
                   1173:  moveq #0,r1
                   1174:  cmp r0,r1
                   1175:  movei #L138,scratch
                   1176:  jump EQ,(scratch)
                   1177:  nop
                   1178: 
                   1179:  load (FP+6),r0 ; local mo
                   1180:  addq #8,r0
                   1181:  movei #_P_ExplodeMissile,r1
                   1182:  load (r0),r30 ; FUCKING dsp!
                   1183:  or r30,r30 ; FUCKING dsp!
                   1184:  store r1,(r0)
                   1185: 
                   1186: 
                   1187:  movei #L121,r0
                   1188:  jump T,(r0)
                   1189:  nop
                   1190: 
                   1191: L138:
                   1192: 
                   1193: L134:
                   1194: 
                   1195: 
                   1196: L121:
                   1197:  jump T,(RETURNPOINT)
                   1198:  addq #24,FP ; delay slot
                   1199: 
                   1200: ;====================
                   1201: _P_MobjThinker::
                   1202: ;4 dag registers  2 register variables
                   1203: ;localoffset:4  regoffset:4  argoffset:32
                   1204: ;====================
                   1205:  subq #32,FP
                   1206: 
                   1207:  load (FP+8),r0 ; local mobj
                   1208:  movei #72,r1
                   1209:  move r0,r2
                   1210:  add r1,r2
                   1211:  load (r2),r1
                   1212:  moveq #0,r2
                   1213:  cmp r1,r2
                   1214:  movei #L144,scratch
                   1215:  jump NE,(scratch)
                   1216:  nop
                   1217:  movei #76,r1
                   1218:  add r1,r0
                   1219:  load (r0),r0
                   1220:  cmp r0,r2
                   1221:  movei #L142,scratch
                   1222:  jump EQ,(scratch)
                   1223:  nop
                   1224: L144:
                   1225: 
                   1226:  load (FP+8),r0 ; local mobj
                   1227:  store r0,(FP) ; arg[]
                   1228:  movei #_P_XYMovement,r0
                   1229:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   1230:  store r16,(FP+2) ; push ;(state)
                   1231:  movei #L158,RETURNPOINT
                   1232:  jump T,(r0)
                   1233:  store r15,(FP+3) ; delay slot push ;(st)
                   1234: L158:
                   1235:  load (FP+2),r16 ; pop ;(state)
                   1236:  load (FP+3),r15 ; pop ;(st)
                   1237:  load (FP+1), RETURNPOINT ; pop
                   1238: 
                   1239:  load (FP+8),r0 ; local mobj
                   1240:  addq #8,r0
                   1241:  load (r0),r0
                   1242:  moveq #0,r1
                   1243:  cmp r0,r1
                   1244:  movei #L145,scratch
                   1245:  jump EQ,(scratch)
                   1246:  nop
                   1247: 
                   1248: 
                   1249:  movei #L141,r0
                   1250:  jump T,(r0)
                   1251:  nop
                   1252: 
                   1253: L145:
                   1254: 
                   1255: L142:
                   1256: 
                   1257:  load (FP+8),r0 ; local mobj
                   1258:  move r0,r1
                   1259:  addq #20,r1
                   1260:  load (r1),r1
                   1261:  movei #56,r2
                   1262:  move r0,r3
                   1263:  add r2,r3
                   1264:  load (r3),r2
                   1265:  cmp r1,r2
                   1266:  movei #L149,scratch
                   1267:  jump NE,(scratch)
                   1268:  nop
                   1269:  movei #80,r1
                   1270:  add r1,r0
                   1271:  load (r0),r0
                   1272:  moveq #0,r1
                   1273:  cmp r0,r1
                   1274:  movei #L147,scratch
                   1275:  jump EQ,(scratch)
                   1276:  nop
                   1277: L149:
                   1278: 
                   1279:  load (FP+8),r0 ; local mobj
                   1280:  store r0,(FP) ; arg[]
                   1281:  movei #_P_ZMovement,r0
                   1282:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   1283:  store r16,(FP+2) ; push ;(state)
                   1284:  movei #L159,RETURNPOINT
                   1285:  jump T,(r0)
                   1286:  store r15,(FP+3) ; delay slot push ;(st)
                   1287: L159:
                   1288:  load (FP+2),r16 ; pop ;(state)
                   1289:  load (FP+3),r15 ; pop ;(st)
                   1290:  load (FP+1), RETURNPOINT ; pop
                   1291: 
                   1292:  load (FP+8),r0 ; local mobj
                   1293:  addq #8,r0
                   1294:  load (r0),r0
                   1295:  moveq #0,r1
                   1296:  cmp r0,r1
                   1297:  movei #L150,scratch
                   1298:  jump EQ,(scratch)
                   1299:  nop
                   1300: 
                   1301: 
                   1302:  movei #L141,r0
                   1303:  jump T,(r0)
                   1304:  nop
                   1305: 
                   1306: L150:
                   1307: 
                   1308: L147:
                   1309: 
                   1310:  load (FP+8),r0 ; local mobj
                   1311:  movei #92,r1
                   1312:  add r1,r0
                   1313:  load (r0),r0
                   1314:  movei #-1,r1
                   1315:  cmp r0,r1
                   1316:  movei #L152,scratch
                   1317:  jump NE,(scratch)
                   1318:  nop
                   1319: 
                   1320: 
                   1321:  movei #L141,r0
                   1322:  jump T,(r0)
                   1323:  nop
                   1324: 
                   1325: L152:
                   1326: 
                   1327:  load (FP+8),r0 ; local mobj
                   1328:  movei #92,r1
                   1329:  add r1,r0
                   1330:  load (r0),r1
                   1331:  subq #1,r1
                   1332:  load (r0),r30 ; FUCKING dsp!
                   1333:  or r30,r30 ; FUCKING dsp!
                   1334:  store r1,(r0)
                   1335: 
                   1336:  load (FP+8),r0 ; local mobj
                   1337:  movei #92,r1
                   1338:  add r1,r0
                   1339:  load (r0),r0
                   1340:  moveq #0,r1
                   1341:  cmp r0,r1
                   1342:  movei #L154,scratch
                   1343:  jump PL,(scratch)
                   1344:  nop
                   1345: 
                   1346: 
                   1347:  movei #L141,r0
                   1348:  jump T,(r0)
                   1349:  nop
                   1350: 
                   1351: L154:
                   1352: 
                   1353:  load (FP+8),r0 ; local mobj
                   1354:  movei #96,r1
                   1355:  add r1,r0
                   1356:  load (r0),r0
                   1357:  addq #16,r0
                   1358:  load (r0),r0
                   1359:  move r0,r16 ;(state)
                   1360:  moveq #0,r0
                   1361:  cmp r16,r0 ;(state)
                   1362:  movei #L156,scratch
                   1363:  jump NE,(scratch)
                   1364:  nop
                   1365: 
                   1366:  load (FP+8),r0 ; local mobj
                   1367:  addq #8,r0
                   1368:  movei #_P_RemoveMobj,r1
                   1369:  load (r0),r30 ; FUCKING dsp!
                   1370:  or r30,r30 ; FUCKING dsp!
                   1371:  store r1,(r0)
                   1372: 
                   1373: 
                   1374:  movei #L141,r0
                   1375:  jump T,(r0)
                   1376:  nop
                   1377: 
                   1378: L156:
                   1379: 
                   1380:  moveq #28,r0
                   1381:  move r0,MATH_A
                   1382:  movei #L160,MATH_RTS
                   1383:  movei #GPU_IMUL,scratch
                   1384:  jump T,(scratch)
                   1385:  move r16,MATH_B ; delay slot ;(state)
                   1386: L160:
                   1387:  move MATH_C,r0
                   1388:  movei #_states,r1
                   1389:  add r1,r0
                   1390:  move r0,r15 ;(st)
                   1391:  load (FP+8),r0 ; local mobj
                   1392:  movei #96,r1
                   1393:  add r1,r0
                   1394:  load (r0),r30 ; FUCKING dsp!
                   1395:  or r30,r30 ; FUCKING dsp!
                   1396:  store r15,(r0) ;(st)
                   1397: 
                   1398:  load (FP+8),r0 ; local mobj
                   1399:  movei #92,r1
                   1400:  add r1,r0
                   1401:  move r15,r1 ;(st)
                   1402:  addq #8,r1
                   1403:  load (r1),r1
                   1404:  load (r0),r30 ; FUCKING dsp!
                   1405:  or r30,r30 ; FUCKING dsp!
                   1406:  store r1,(r0)
                   1407: 
                   1408:  load (FP+8),r0 ; local mobj
                   1409:  movei #36,r1
                   1410:  add r1,r0
                   1411:  load (r15),r1 ;(st)
                   1412:  load (r0),r30 ; FUCKING dsp!
                   1413:  or r30,r30 ; FUCKING dsp!
                   1414:  store r1,(r0)
                   1415: 
                   1416:  load (FP+8),r0 ; local mobj
                   1417:  movei #40,r1
                   1418:  add r1,r0
                   1419:  move r15,r1 ;(st)
                   1420:  addq #4,r1
                   1421:  load (r1),r1
                   1422:  load (r0),r30 ; FUCKING dsp!
                   1423:  or r30,r30 ; FUCKING dsp!
                   1424:  store r1,(r0)
                   1425: 
                   1426:  load (FP+8),r0 ; local mobj
                   1427:  addq #8,r0
                   1428:  move r15,r1 ;(st)
                   1429:  addq #12,r1
                   1430:  load (r1),r1
                   1431:  load (r0),r30 ; FUCKING dsp!
                   1432:  or r30,r30 ; FUCKING dsp!
                   1433:  store r1,(r0)
                   1434: 
                   1435: 
                   1436: L141:
                   1437:  jump T,(RETURNPOINT)
                   1438:  addq #32,FP ; delay slot
                   1439: 
                   1440: ;====================
                   1441: _PB_TryMove::
                   1442: ;3 dag registers  0 register variables
                   1443: ;localoffset:4  regoffset:12  argoffset:28
                   1444: ;====================
                   1445:  subq #28,FP
                   1446: 
                   1447:  movei #_testx,r0
                   1448:  load (FP+7),r1 ; local tryx
                   1449:  load (r0),r30 ; FUCKING dsp!
                   1450:  or r30,r30 ; FUCKING dsp!
                   1451:  store r1,(r0)
                   1452:  movei #_testy,r0
                   1453:  load (FP+8),r1 ; local tryy
                   1454:  load (r0),r30 ; FUCKING dsp!
                   1455:  or r30,r30 ; FUCKING dsp!
                   1456:  store r1,(r0)
                   1457:  movei #_PB_CheckPosition,r0
                   1458:  store r28,(FP+3) ; push ;(RETURNPOINT)
                   1459:  movei #L172,RETURNPOINT
                   1460:  jump T,(r0)
                   1461:  nop ; delay slot
                   1462: L172:
                   1463:  load (FP+3), RETURNPOINT ; pop
                   1464:  moveq #0,r0
                   1465:  cmp r29,r0 ;(RETURNVALUE)
                   1466:  movei #L162,scratch
                   1467:  jump NE,(scratch)
                   1468:  nop
                   1469: 
                   1470:  moveq #0,r0
                   1471:  move r0,RETURNVALUE
                   1472: 
                   1473:  movei #L161,r0
                   1474:  jump T,(r0)
                   1475:  nop
                   1476: 
                   1477: L162:
                   1478: 
                   1479:  movei #_testceilingz,r0
                   1480:  load (r0),r0
                   1481:  movei #_testfloorz,r1
                   1482:  load (r1),r1
                   1483:  sub r1,r0
                   1484:  movei #_basething,r1
                   1485:  load (r1),r1
                   1486:  movei #68,r2
                   1487:  add r2,r1
                   1488:  load (r1),r1
                   1489:  cmp r0,r1
                   1490:  movei #L164,scratch
                   1491:  jump EQ,(scratch)
                   1492:  nop
                   1493:  jump MI,(scratch)
                   1494:  nop
                   1495: 
                   1496:  moveq #0,r0
                   1497:  move r0,RETURNVALUE
                   1498: 
                   1499:  movei #L161,r0
                   1500:  jump T,(r0)
                   1501:  nop
                   1502: 
                   1503: L164:
                   1504: 
                   1505:  movei #_testceilingz,r0
                   1506:  load (r0),r0
                   1507:  movei #_basething,r1
                   1508:  load (r1),r1
                   1509:  move r1,r2
                   1510:  addq #20,r2
                   1511:  load (r2),r2
                   1512:  sub r2,r0
                   1513:  movei #68,r2
                   1514:  add r2,r1
                   1515:  load (r1),r1
                   1516:  cmp r0,r1
                   1517:  movei #L166,scratch
                   1518:  jump EQ,(scratch)
                   1519:  nop
                   1520:  jump MI,(scratch)
                   1521:  nop
                   1522: 
                   1523:  moveq #0,r0
                   1524:  move r0,RETURNVALUE
                   1525: 
                   1526:  movei #L161,r0
                   1527:  jump T,(r0)
                   1528:  nop
                   1529: 
                   1530: L166:
                   1531: 
                   1532:  movei #_testfloorz,r0
                   1533:  load (r0),r0
                   1534:  movei #_basething,r1
                   1535:  load (r1),r1
                   1536:  addq #20,r1
                   1537:  load (r1),r1
                   1538:  sub r1,r0
                   1539:  movei #1572864,r1
                   1540:  cmp r0,r1
                   1541:  movei #L168,scratch
                   1542:  jump PL,(scratch)
                   1543:  nop
                   1544: 
                   1545:  moveq #0,r0
                   1546:  move r0,RETURNVALUE
                   1547: 
                   1548:  movei #L161,r0
                   1549:  jump T,(r0)
                   1550:  nop
                   1551: 
                   1552: L168:
                   1553: 
                   1554:  movei #_testflags,r0
                   1555:  load (r0),r0
                   1556:  movei #17408,r1
                   1557:  and r1,r0
                   1558:  moveq #0,r1
                   1559:  cmp r0,r1
                   1560:  movei #L170,scratch
                   1561:  jump NE,(scratch)
                   1562:  nop
                   1563:  movei #_testfloorz,r0
                   1564:  load (r0),r0
                   1565:  movei #_testdropoffz,r1
                   1566:  load (r1),r1
                   1567:  sub r1,r0
                   1568:  movei #1572864,r1
                   1569:  cmp r0,r1
                   1570:  movei #L170,scratch
                   1571:  jump PL,(scratch)
                   1572:  nop
                   1573: 
                   1574:  moveq #0,r0
                   1575:  move r0,RETURNVALUE
                   1576: 
                   1577:  movei #L161,r0
                   1578:  jump T,(r0)
                   1579:  nop
                   1580: 
                   1581: L170:
                   1582: 
                   1583:  movei #_basething,r0
                   1584:  load (r0),r0
                   1585:  store r0,(FP) ; arg[]
                   1586:  movei #_PB_UnsetThingPosition,r0
                   1587:  store r28,(FP+3) ; push ;(RETURNPOINT)
                   1588:  movei #L173,RETURNPOINT
                   1589:  jump T,(r0)
                   1590:  nop ; delay slot
                   1591: L173:
                   1592:  load (FP+3), RETURNPOINT ; pop
                   1593: 
                   1594:  move FP,r0
                   1595:  addq #4,r0 ; &oldx
                   1596:  movei #_basething,r1
                   1597:  load (r1),r1
                   1598:  move r1,r2
                   1599:  addq #12,r2
                   1600:  load (r2),r2
                   1601:  load (r0),r30 ; FUCKING dsp!
                   1602:  or r30,r30 ; FUCKING dsp!
                   1603:  store r2,(r0)
                   1604:  move FP,r0
                   1605:  addq #8,r0 ; &oldy
                   1606:  move r1,r2
                   1607:  addq #16,r2
                   1608:  load (r2),r2
                   1609:  load (r0),r30 ; FUCKING dsp!
                   1610:  or r30,r30 ; FUCKING dsp!
                   1611:  store r2,(r0)
                   1612:  movei #56,r0
                   1613:  add r0,r1
                   1614:  movei #_testfloorz,r0
                   1615:  load (r0),r0
                   1616:  load (r1),r30 ; FUCKING dsp!
                   1617:  or r30,r30 ; FUCKING dsp!
                   1618:  store r0,(r1)
                   1619: 
                   1620:  movei #_basething,r0
                   1621:  load (r0),r0
                   1622:  movei #60,r1
                   1623:  add r1,r0
                   1624:  movei #_testceilingz,r1
                   1625:  load (r1),r1
                   1626:  load (r0),r30 ; FUCKING dsp!
                   1627:  or r30,r30 ; FUCKING dsp!
                   1628:  store r1,(r0)
                   1629: 
                   1630:  movei #_basething,r0
                   1631:  load (r0),r0
                   1632:  addq #12,r0
                   1633:  movei #_testx,r1
                   1634:  load (r1),r1
                   1635:  load (r0),r30 ; FUCKING dsp!
                   1636:  or r30,r30 ; FUCKING dsp!
                   1637:  store r1,(r0)
                   1638: 
                   1639:  movei #_basething,r0
                   1640:  load (r0),r0
                   1641:  addq #16,r0
                   1642:  movei #_testy,r1
                   1643:  load (r1),r1
                   1644:  load (r0),r30 ; FUCKING dsp!
                   1645:  or r30,r30 ; FUCKING dsp!
                   1646:  store r1,(r0)
                   1647: 
                   1648:  movei #_basething,r0
                   1649:  load (r0),r0
                   1650:  store r0,(FP) ; arg[]
                   1651:  movei #_PB_SetThingPosition,r0
                   1652:  store r28,(FP+3) ; push ;(RETURNPOINT)
                   1653:  movei #L174,RETURNPOINT
                   1654:  jump T,(r0)
                   1655:  nop ; delay slot
                   1656: L174:
                   1657:  load (FP+3), RETURNPOINT ; pop
                   1658: 
                   1659:  moveq #1,r0
                   1660:  move r0,RETURNVALUE
                   1661: 
                   1662: L161:
                   1663:  jump T,(RETURNPOINT)
                   1664:  addq #28,FP ; delay slot
                   1665: 
                   1666: ;====================
                   1667: _PB_SetThingPosition::
                   1668: ;5 dag registers  1 register variables
                   1669: ;localoffset:0  regoffset:16  argoffset:16
                   1670: ;====================
                   1671:  subq #16,FP
                   1672: 
                   1673:  move FP,r0 ; &ss
                   1674:  movei #_testsubsec,r1
                   1675:  load (r1),r1
                   1676:  load (r0),r30 ; FUCKING dsp!
                   1677:  or r30,r30 ; FUCKING dsp!
                   1678:  store r1,(r0)
                   1679:  load (FP+4),r0 ; local thing
                   1680:  movei #52,r2
                   1681:  add r2,r0
                   1682:  load (r0),r30 ; FUCKING dsp!
                   1683:  or r30,r30 ; FUCKING dsp!
                   1684:  store r1,(r0)
                   1685: 
                   1686:  load (FP),r0 ; local ss
                   1687:  load (r0),r0
                   1688:  move r0,r15 ;(sec)
                   1689:  load (FP+4),r0 ; local thing
                   1690:  addq #28,r0
                   1691:  moveq #0,r1
                   1692:  load (r0),r30 ; FUCKING dsp!
                   1693:  or r30,r30 ; FUCKING dsp!
                   1694:  store r1,(r0)
                   1695: 
                   1696:  load (FP+4),r0 ; local thing
                   1697:  addq #24,r0
                   1698:  movei #80,r1
                   1699:  move r15,r2 ;(sec)
                   1700:  add r1,r2
                   1701:  load (r2),r1
                   1702:  load (r0),r30 ; FUCKING dsp!
                   1703:  or r30,r30 ; FUCKING dsp!
                   1704:  store r1,(r0)
                   1705: 
                   1706:  movei #80,r0
                   1707:  move r15,r1 ;(sec)
                   1708:  add r0,r1
                   1709:  load (r1),r0
                   1710:  moveq #0,r1
                   1711:  cmp r0,r1
                   1712:  movei #L176,scratch
                   1713:  jump EQ,(scratch)
                   1714:  nop
                   1715: 
                   1716:  movei #80,r0
                   1717:  move r15,r1 ;(sec)
                   1718:  add r0,r1
                   1719:  load (r1),r0
                   1720:  addq #28,r0
                   1721:  load (FP+4),r1 ; local thing
                   1722:  load (r0),r30 ; FUCKING dsp!
                   1723:  or r30,r30 ; FUCKING dsp!
                   1724:  store r1,(r0)
                   1725: 
                   1726: L176:
                   1727: 
                   1728:  movei #80,r0
                   1729:  move r15,r1 ;(sec)
                   1730:  add r0,r1
                   1731:  load (FP+4),r0 ; local thing
                   1732:  load (r1),r30 ; FUCKING dsp!
                   1733:  or r30,r30 ; FUCKING dsp!
                   1734:  store r0,(r1)
                   1735: 
                   1736:  movei #_testflags,r0
                   1737:  load (r0),r0
                   1738:  moveq #16,r1
                   1739:  and r1,r0
                   1740:  moveq #0,r1
                   1741:  cmp r0,r1
                   1742:  movei #L178,scratch
                   1743:  jump NE,(scratch)
                   1744:  nop
                   1745: 
                   1746:  move FP,r0
                   1747:  addq #4,r0 ; &blockx
                   1748:  load (FP+4),r1 ; local thing
                   1749:  move r1,r2
                   1750:  addq #12,r2
                   1751:  load (r2),r2
                   1752:  movei #_bmaporgx,r3
                   1753:  load (r3),r3
                   1754:  sub r3,r2
                   1755:  moveq #23,r3
                   1756:  sha r3,r2
                   1757:  load (r0),r30 ; FUCKING dsp!
                   1758:  or r30,r30 ; FUCKING dsp!
                   1759:  store r2,(r0)
                   1760:  move FP,r2
                   1761:  addq #8,r2 ; &blocky
                   1762:  addq #16,r1
                   1763:  load (r1),r1
                   1764:  movei #_bmaporgy,r4
                   1765:  load (r4),r4
                   1766:  sub r4,r1
                   1767:  sha r3,r1
                   1768:  load (r2),r30 ; FUCKING dsp!
                   1769:  or r30,r30 ; FUCKING dsp!
                   1770:  store r1,(r2)
                   1771:  load (r0),r0
                   1772:  moveq #0,r1
                   1773:  cmp r0,r1
                   1774:  movei #L180,scratch
                   1775:  jump S_LT,(scratch)
                   1776:  nop
                   1777:  movei #_bmapwidth,r3
                   1778:  load (r3),r3
                   1779:  cmp r0,r3
                   1780:  movei #L180,scratch
                   1781:  jump EQ,(scratch)
                   1782:  nop
                   1783:  jump MI,(scratch)
                   1784:  nop
                   1785:  load (r2),r0
                   1786:  cmp r0,r1
                   1787:  movei #L180,scratch
                   1788:  jump S_LT,(scratch)
                   1789:  nop
                   1790:  movei #_bmapheight,r1
                   1791:  load (r1),r1
                   1792:  cmp r0,r1
                   1793:  movei #L180,scratch
                   1794:  jump EQ,(scratch)
                   1795:  nop
                   1796:  jump MI,(scratch)
                   1797:  nop
                   1798: 
                   1799:  move FP,r0
                   1800:  addq #12,r0 ; &link
                   1801:  load (FP+2),r1 ; local blocky
                   1802:  movei #_bmapwidth,r2
                   1803:  load (r2),r2
                   1804:  move r1,MATH_A
                   1805:  movei #L184,MATH_RTS
                   1806:  movei #GPU_IMUL,scratch
                   1807:  jump T,(scratch)
                   1808:  move r2,MATH_B ; delay slot
                   1809: L184:
                   1810:  move MATH_C,r1
                   1811:  load (FP+1),r2 ; local blockx
                   1812:  add r2,r1
                   1813:  shlq #2,r1
                   1814:  movei #_blocklinks,r2
                   1815:  load (r2),r2
                   1816:  add r2,r1
                   1817:  load (r0),r30 ; FUCKING dsp!
                   1818:  or r30,r30 ; FUCKING dsp!
                   1819:  store r1,(r0)
                   1820:  load (FP+4),r0 ; local thing
                   1821:  movei #48,r1
                   1822:  add r1,r0
                   1823:  moveq #0,r1
                   1824:  load (r0),r30 ; FUCKING dsp!
                   1825:  or r30,r30 ; FUCKING dsp!
                   1826:  store r1,(r0)
                   1827: 
                   1828:  load (FP+4),r0 ; local thing
                   1829:  movei #44,r1
                   1830:  add r1,r0
                   1831:  load (FP+3),r1 ; local link
                   1832:  load (r1),r1
                   1833:  load (r0),r30 ; FUCKING dsp!
                   1834:  or r30,r30 ; FUCKING dsp!
                   1835:  store r1,(r0)
                   1836: 
                   1837:  load (FP+3),r0 ; local link
                   1838:  load (r0),r0
                   1839:  moveq #0,r1
                   1840:  cmp r0,r1
                   1841:  movei #L182,scratch
                   1842:  jump EQ,(scratch)
                   1843:  nop
                   1844: 
                   1845:  load (FP+3),r0 ; local link
                   1846:  load (r0),r0
                   1847:  movei #48,r1
                   1848:  add r1,r0
                   1849:  load (FP+4),r1 ; local thing
                   1850:  load (r0),r30 ; FUCKING dsp!
                   1851:  or r30,r30 ; FUCKING dsp!
                   1852:  store r1,(r0)
                   1853: 
                   1854: L182:
                   1855: 
                   1856:  load (FP+3),r0 ; local link
                   1857:  load (FP+4),r1 ; local thing
                   1858:  load (r0),r30 ; FUCKING dsp!
                   1859:  or r30,r30 ; FUCKING dsp!
                   1860:  store r1,(r0)
                   1861: 
                   1862:  movei #L181,r0
                   1863:  jump T,(r0)
                   1864:  nop
                   1865: 
                   1866: L180:
                   1867: 
                   1868:  load (FP+4),r0 ; local thing
                   1869:  movei #48,r1
                   1870:  move r0,r2
                   1871:  add r1,r2
                   1872:  moveq #0,r1
                   1873:  load (r2),r30 ; FUCKING dsp!
                   1874:  or r30,r30 ; FUCKING dsp!
                   1875:  store r1,(r2)
                   1876:  movei #44,r2
                   1877:  add r2,r0
                   1878:  load (r0),r30 ; FUCKING dsp!
                   1879:  or r30,r30 ; FUCKING dsp!
                   1880:  store r1,(r0)
                   1881: 
                   1882: L181:
                   1883: 
                   1884: L178:
                   1885: 
                   1886: 
                   1887: L175:
                   1888:  jump T,(RETURNPOINT)
                   1889:  addq #16,FP ; delay slot
                   1890: 
                   1891: ;====================
                   1892: _PB_CheckPosition::
                   1893: ;4 dag registers  7 register variables
                   1894: ;localoffset:8  regoffset:8  argoffset:56
                   1895: ;====================
                   1896:  movei #56,scratch
                   1897:  sub scratch,FP
                   1898: 
                   1899:  movei #_testflags,r0
                   1900:  movei #_basething,r1
                   1901:  load (r1),r1
                   1902:  movei #100,r2
                   1903:  move r1,r3
                   1904:  add r2,r3
                   1905:  load (r3),r2
                   1906:  load (r0),r30 ; FUCKING dsp!
                   1907:  or r30,r30 ; FUCKING dsp!
                   1908:  store r2,(r0)
                   1909:  movei #64,r0
                   1910:  add r0,r1
                   1911:  load (r1),r0
                   1912:  move r0,r20 ;(r)
                   1913:  movei #_testbbox,r0
                   1914:  movei #_testy,r1
                   1915:  load (r1),r1
                   1916:  move r1,r2
                   1917:  add r20,r2 ;(r)
                   1918:  load (r0),r30 ; FUCKING dsp!
                   1919:  or r30,r30 ; FUCKING dsp!
                   1920:  store r2,(r0)
                   1921:  movei #_testbbox+4,r0
                   1922:  sub r20,r1 ;(r)
                   1923:  load (r0),r30 ; FUCKING dsp!
                   1924:  or r30,r30 ; FUCKING dsp!
                   1925:  store r1,(r0)
                   1926: 
                   1927:  movei #_testbbox+12,r0
                   1928:  movei #_testx,r1
                   1929:  load (r1),r1
                   1930:  add r20,r1 ;(r)
                   1931:  load (r0),r30 ; FUCKING dsp!
                   1932:  or r30,r30 ; FUCKING dsp!
                   1933:  store r1,(r0)
                   1934: 
                   1935:  movei #_testbbox+8,r0
                   1936:  movei #_testx,r1
                   1937:  load (r1),r1
                   1938:  sub r20,r1 ;(r)
                   1939:  load (r0),r30 ; FUCKING dsp!
                   1940:  or r30,r30 ; FUCKING dsp!
                   1941:  store r1,(r0)
                   1942: 
                   1943:  movei #_testx,r0
                   1944:  load (r0),r0
                   1945:  store r0,(FP) ; arg[]
                   1946:  movei #_testy,r0
                   1947:  load (r0),r0
                   1948:  or r0,scratch ; scoreboard bug
                   1949:  store r0,(FP+1) ; arg[]
                   1950:  movei #_PB_PointInSubsector,r0
                   1951:  store r28,(FP+2) ; push ;(RETURNPOINT)
                   1952:  store r21,(FP+3) ; push ;(xl)
                   1953:  store r20,(FP+4) ; push ;(r)
                   1954:  store r19,(FP+5) ; push ;(yl)
                   1955:  store r18,(FP+6) ; push ;(xh)
                   1956:  store r17,(FP+7) ; push ;(yh)
                   1957:  store r16,(FP+8) ; push ;(bx)
                   1958:  movei #L212,RETURNPOINT
                   1959:  jump T,(r0)
                   1960:  store r15,(FP+9) ; delay slot push ;(by)
                   1961: L212:
                   1962:  load (FP+3),r21 ; pop ;(xl)
                   1963:  load (FP+4),r20 ; pop ;(r)
                   1964:  load (FP+5),r19 ; pop ;(yl)
                   1965:  load (FP+6),r18 ; pop ;(xh)
                   1966:  load (FP+7),r17 ; pop ;(yh)
                   1967:  load (FP+8),r16 ; pop ;(bx)
                   1968:  load (FP+9),r15 ; pop ;(by)
                   1969:  load (FP+2), RETURNPOINT ; pop
                   1970:  movei #_testsubsec,r0
                   1971:  move r29,r1 ;(RETURNVALUE)
                   1972:  load (r0),r30 ; FUCKING dsp!
                   1973:  or r30,r30 ; FUCKING dsp!
                   1974:  store r1,(r0)
                   1975:  movei #_testdropoffz,r0
                   1976:  movei #_testsubsec,r1
                   1977:  load (r1),r1
                   1978:  load (r1),r2
                   1979:  load (r2),r2
                   1980:  load (r0),r30 ; FUCKING dsp!
                   1981:  or r30,r30 ; FUCKING dsp!
                   1982:  store r2,(r0)
                   1983:  movei #_testfloorz,r0
                   1984:  load (r0),r30 ; FUCKING dsp!
                   1985:  or r30,r30 ; FUCKING dsp!
                   1986:  store r2,(r0)
                   1987:  movei #_testceilingz,r0
                   1988:  load (r1),r1
                   1989:  addq #4,r1
                   1990:  load (r1),r1
                   1991:  load (r0),r30 ; FUCKING dsp!
                   1992:  or r30,r30 ; FUCKING dsp!
                   1993:  store r1,(r0)
                   1994:  movei #_validcount,r0
                   1995:  load (r0),r1
                   1996:  addq #1,r1
                   1997:  load (r0),r30 ; FUCKING dsp!
                   1998:  or r30,r30 ; FUCKING dsp!
                   1999:  store r1,(r0)
                   2000:  movei #_ceilingline,r0
                   2001:  moveq #0,r1
                   2002:  load (r0),r30 ; FUCKING dsp!
                   2003:  or r30,r30 ; FUCKING dsp!
                   2004:  store r1,(r0)
                   2005:  movei #_hitthing,r0
                   2006:  load (r0),r30 ; FUCKING dsp!
                   2007:  or r30,r30 ; FUCKING dsp!
                   2008:  store r1,(r0)
                   2009:  movei #_testbbox+8,r0
                   2010:  load (r0),r0
                   2011:  movei #_bmaporgx,r1
                   2012:  load (r1),r1
                   2013:  sub r1,r0
                   2014:  movei #2097152,r2
                   2015:  sub r2,r0
                   2016:  moveq #23,r3
                   2017:  sha r3,r0
                   2018:  move r0,r21 ;(xl)
                   2019:  movei #_testbbox+12,r0
                   2020:  load (r0),r0
                   2021:  sub r1,r0
                   2022:  add r2,r0
                   2023:  sha r3,r0
                   2024:  move r0,r18 ;(xh)
                   2025:  movei #_testbbox+4,r0
                   2026:  load (r0),r0
                   2027:  movei #_bmaporgy,r1
                   2028:  load (r1),r1
                   2029:  sub r1,r0
                   2030:  sub r2,r0
                   2031:  sha r3,r0
                   2032:  move r0,r19 ;(yl)
                   2033:  movei #_testbbox,r0
                   2034:  load (r0),r0
                   2035:  sub r1,r0
                   2036:  add r2,r0
                   2037:  sha r3,r0
                   2038:  move r0,r17 ;(yh)
                   2039:  moveq #0,r0
                   2040:  cmp r21,r0 ;(xl)
                   2041:  movei #L192,scratch
                   2042:  jump EQ,(scratch)
                   2043:  nop
                   2044:  jump MI,(scratch)
                   2045:  nop
                   2046: 
                   2047:  moveq #0,r0
                   2048:  move r0,r21 ;(xl)
                   2049: 
                   2050: L192:
                   2051: 
                   2052:  moveq #0,r0
                   2053:  cmp r19,r0 ;(yl)
                   2054:  movei #L194,scratch
                   2055:  jump EQ,(scratch)
                   2056:  nop
                   2057:  jump MI,(scratch)
                   2058:  nop
                   2059: 
                   2060:  moveq #0,r0
                   2061:  move r0,r19 ;(yl)
                   2062: 
                   2063: L194:
                   2064: 
                   2065:  movei #_bmapwidth,r0
                   2066:  load (r0),r0
                   2067:  cmp r18,r0 ;(xh)
                   2068:  movei #L196,scratch
                   2069:  jump S_LT,(scratch)
                   2070:  nop
                   2071: 
                   2072:  movei #_bmapwidth,r0
                   2073:  load (r0),r0
                   2074:  subq #1,r0
                   2075:  move r0,r18 ;(xh)
                   2076: 
                   2077: L196:
                   2078: 
                   2079:  movei #_bmapheight,r0
                   2080:  load (r0),r0
                   2081:  cmp r17,r0 ;(yh)
                   2082:  movei #L198,scratch
                   2083:  jump S_LT,(scratch)
                   2084:  nop
                   2085: 
                   2086:  movei #_bmapheight,r0
                   2087:  load (r0),r0
                   2088:  subq #1,r0
                   2089:  move r0,r17 ;(yh)
                   2090: 
                   2091: L198:
                   2092: 
                   2093:  move r21,r16 ;(xl)(bx)
                   2094: 
                   2095:  movei #L203,r0
                   2096:  jump T,(r0)
                   2097:  nop
                   2098: 
                   2099: L200:
                   2100: 
                   2101:  move r19,r15 ;(yl)(by)
                   2102: 
                   2103:  movei #L207,r0
                   2104:  jump T,(r0)
                   2105:  nop
                   2106: 
                   2107: L204:
                   2108: 
                   2109:  store r16,(FP) ; arg[] ;(bx)
                   2110:  or r15,scratch ; scoreboard bug ;(by)
                   2111:  store r15,(FP+1) ; arg[] ;(by)
                   2112:  movei #_PB_MoveThingsIterator,r0
                   2113:  store r28,(FP+2) ; push ;(RETURNPOINT)
                   2114:  store r21,(FP+3) ; push ;(xl)
                   2115:  store r20,(FP+4) ; push ;(r)
                   2116:  store r19,(FP+5) ; push ;(yl)
                   2117:  store r18,(FP+6) ; push ;(xh)
                   2118:  store r17,(FP+7) ; push ;(yh)
                   2119:  store r16,(FP+8) ; push ;(bx)
                   2120:  movei #L213,RETURNPOINT
                   2121:  jump T,(r0)
                   2122:  store r15,(FP+9) ; delay slot push ;(by)
                   2123: L213:
                   2124:  load (FP+3),r21 ; pop ;(xl)
                   2125:  load (FP+4),r20 ; pop ;(r)
                   2126:  load (FP+5),r19 ; pop ;(yl)
                   2127:  load (FP+6),r18 ; pop ;(xh)
                   2128:  load (FP+7),r17 ; pop ;(yh)
                   2129:  load (FP+8),r16 ; pop ;(bx)
                   2130:  load (FP+9),r15 ; pop ;(by)
                   2131:  load (FP+2), RETURNPOINT ; pop
                   2132:  moveq #0,r0
                   2133:  cmp r29,r0 ;(RETURNVALUE)
                   2134:  movei #L208,scratch
                   2135:  jump NE,(scratch)
                   2136:  nop
                   2137: 
                   2138:  moveq #0,r0
                   2139:  move r0,RETURNVALUE
                   2140: 
                   2141:  movei #L185,r0
                   2142:  jump T,(r0)
                   2143:  nop
                   2144: 
                   2145: L208:
                   2146: 
                   2147:  store r16,(FP) ; arg[] ;(bx)
                   2148:  or r15,scratch ; scoreboard bug ;(by)
                   2149:  store r15,(FP+1) ; arg[] ;(by)
                   2150:  movei #_PB_MoveLinesIterator,r0
                   2151:  store r28,(FP+2) ; push ;(RETURNPOINT)
                   2152:  store r21,(FP+3) ; push ;(xl)
                   2153:  store r20,(FP+4) ; push ;(r)
                   2154:  store r19,(FP+5) ; push ;(yl)
                   2155:  store r18,(FP+6) ; push ;(xh)
                   2156:  store r17,(FP+7) ; push ;(yh)
                   2157:  store r16,(FP+8) ; push ;(bx)
                   2158:  movei #L214,RETURNPOINT
                   2159:  jump T,(r0)
                   2160:  store r15,(FP+9) ; delay slot push ;(by)
                   2161: L214:
                   2162:  load (FP+3),r21 ; pop ;(xl)
                   2163:  load (FP+4),r20 ; pop ;(r)
                   2164:  load (FP+5),r19 ; pop ;(yl)
                   2165:  load (FP+6),r18 ; pop ;(xh)
                   2166:  load (FP+7),r17 ; pop ;(yh)
                   2167:  load (FP+8),r16 ; pop ;(bx)
                   2168:  load (FP+9),r15 ; pop ;(by)
                   2169:  load (FP+2), RETURNPOINT ; pop
                   2170:  moveq #0,r0
                   2171:  cmp r29,r0 ;(RETURNVALUE)
                   2172:  movei #L210,scratch
                   2173:  jump NE,(scratch)
                   2174:  nop
                   2175: 
                   2176:  moveq #0,r0
                   2177:  move r0,RETURNVALUE
                   2178: 
                   2179:  movei #L185,r0
                   2180:  jump T,(r0)
                   2181:  nop
                   2182: 
                   2183: L210:
                   2184: 
                   2185: L205:
                   2186: 
                   2187:  move r15,r0 ;(by)
                   2188:  addq #1,r0
                   2189:  move r0,r15 ;(by)
                   2190: 
                   2191: L207:
                   2192: 
                   2193:  cmp r15,r17 ;(by)(yh)
                   2194:  movei #L204,scratch
                   2195:  jump PL,(scratch)
                   2196:  nop
                   2197: 
                   2198: L201:
                   2199: 
                   2200:  move r16,r0 ;(bx)
                   2201:  addq #1,r0
                   2202:  move r0,r16 ;(bx)
                   2203: 
                   2204: L203:
                   2205: 
                   2206:  cmp r16,r18 ;(bx)(xh)
                   2207:  movei #L200,scratch
                   2208:  jump PL,(scratch)
                   2209:  nop
                   2210: 
                   2211:  moveq #1,r0
                   2212:  move r0,RETURNVALUE
                   2213: 
                   2214: L185:
                   2215:  movei #56,scratch
                   2216:  jump T,(RETURNPOINT)
                   2217:  add scratch,FP ; delay slot
                   2218: 
                   2219: ;====================
                   2220: _PB_BoxCrossLine::
                   2221: ;4 dag registers  5 register variables
                   2222: ;localoffset:0  regoffset:32  argoffset:32
                   2223: ;====================
                   2224:  subq #32,FP
                   2225: 
                   2226:  movei #_testbbox+12,r0
                   2227:  load (r0),r0
                   2228:  load (FP+8),r1 ; local ld
                   2229:  movei #44,r2
                   2230:  move r1,r3
                   2231:  add r2,r3
                   2232:  load (r3),r2
                   2233:  cmp r0,r2
                   2234:  movei #L223,scratch
                   2235:  jump PL,(scratch)
                   2236:  nop
                   2237:  movei #_testbbox+8,r0
                   2238:  load (r0),r0
                   2239:  movei #48,r2
                   2240:  move r1,r3
                   2241:  add r2,r3
                   2242:  load (r3),r2
                   2243:  cmp r0,r2
                   2244:  movei #L223,scratch
                   2245:  jump EQ,(scratch)
                   2246:  nop
                   2247:  jump MI,(scratch)
                   2248:  nop
                   2249:  movei #_testbbox,r0
                   2250:  load (r0),r0
                   2251:  movei #40,r2
                   2252:  move r1,r3
                   2253:  add r2,r3
                   2254:  load (r3),r2
                   2255:  cmp r0,r2
                   2256:  movei #L223,scratch
                   2257:  jump PL,(scratch)
                   2258:  nop
                   2259:  movei #_testbbox+4,r0
                   2260:  load (r0),r0
                   2261:  movei #36,r2
                   2262:  add r2,r1
                   2263:  load (r1),r1
                   2264:  cmp r0,r1
                   2265:  movei #L216,scratch
                   2266:  jump S_LT,(scratch)
                   2267:  nop
                   2268: L223:
                   2269: 
                   2270:  moveq #0,r0
                   2271:  move r0,RETURNVALUE
                   2272: 
                   2273:  movei #L215,r0
                   2274:  jump T,(r0)
                   2275:  nop
                   2276: 
                   2277: L216:
                   2278: 
                   2279:  load (FP+8),r0 ; local ld
                   2280:  movei #52,r1
                   2281:  add r1,r0
                   2282:  load (r0),r0
                   2283:  moveq #2,r1
                   2284:  cmp r0,r1
                   2285:  movei #L224,scratch
                   2286:  jump NE,(scratch)
                   2287:  nop
                   2288: 
                   2289:  move FP,r0 ; &x1
                   2290:  movei #_testbbox+8,r1
                   2291:  load (r1),r1
                   2292:  load (r0),r30 ; FUCKING dsp!
                   2293:  or r30,r30 ; FUCKING dsp!
                   2294:  store r1,(r0)
                   2295:  move FP,r0
                   2296:  addq #4,r0 ; &x2
                   2297:  movei #_testbbox+12,r1
                   2298:  load (r1),r1
                   2299:  load (r0),r30 ; FUCKING dsp!
                   2300:  or r30,r30 ; FUCKING dsp!
                   2301:  store r1,(r0)
                   2302: 
                   2303:  movei #L225,r0
                   2304:  jump T,(r0)
                   2305:  nop
                   2306: 
                   2307: L224:
                   2308: 
                   2309:  move FP,r0 ; &x1
                   2310:  movei #_testbbox+12,r1
                   2311:  load (r1),r1
                   2312:  load (r0),r30 ; FUCKING dsp!
                   2313:  or r30,r30 ; FUCKING dsp!
                   2314:  store r1,(r0)
                   2315:  move FP,r0
                   2316:  addq #4,r0 ; &x2
                   2317:  movei #_testbbox+8,r1
                   2318:  load (r1),r1
                   2319:  load (r0),r30 ; FUCKING dsp!
                   2320:  or r30,r30 ; FUCKING dsp!
                   2321:  store r1,(r0)
                   2322: 
                   2323: L225:
                   2324: 
                   2325:  load (FP+8),r0 ; local ld
                   2326:  load (r0),r1
                   2327:  load (r1),r1
                   2328:  move r1,r15 ;(lx)
                   2329:  load (r0),r1
                   2330:  addq #4,r1
                   2331:  load (r1),r1
                   2332:  move r1,r16 ;(ly)
                   2333:  move r0,r1
                   2334:  addq #8,r1
                   2335:  load (r1),r1
                   2336:  moveq #16,r2
                   2337:  sha r2,r1
                   2338:  move r1,r17 ;(ldx)
                   2339:  addq #12,r0
                   2340:  load (r0),r0
                   2341:  sha r2,r0
                   2342:  move r0,r18 ;(ldy)
                   2343:  move FP,r0
                   2344:  addq #8,r0 ; &dx1
                   2345:  load (FP),r1 ; local x1
                   2346:  sub r15,r1 ;(lx)
                   2347:  sha r2,r1
                   2348:  load (r0),r30 ; FUCKING dsp!
                   2349:  or r30,r30 ; FUCKING dsp!
                   2350:  store r1,(r0)
                   2351:  move FP,r0
                   2352:  addq #12,r0 ; &dy1
                   2353:  movei #_testbbox,r1
                   2354:  load (r1),r1
                   2355:  sub r16,r1 ;(ly)
                   2356:  sha r2,r1
                   2357:  load (r0),r30 ; FUCKING dsp!
                   2358:  or r30,r30 ; FUCKING dsp!
                   2359:  store r1,(r0)
                   2360:  move FP,r0
                   2361:  addq #16,r0 ; &dx2
                   2362:  load (FP+1),r1 ; local x2
                   2363:  sub r15,r1 ;(lx)
                   2364:  sha r2,r1
                   2365:  load (r0),r30 ; FUCKING dsp!
                   2366:  or r30,r30 ; FUCKING dsp!
                   2367:  store r1,(r0)
                   2368:  move FP,r0
                   2369:  addq #20,r0 ; &dy2
                   2370:  movei #_testbbox+4,r1
                   2371:  load (r1),r1
                   2372:  sub r16,r1 ;(ly)
                   2373:  sha r2,r1
                   2374:  load (r0),r30 ; FUCKING dsp!
                   2375:  or r30,r30 ; FUCKING dsp!
                   2376:  store r1,(r0)
                   2377:  load (FP+2),r0 ; local dx1
                   2378:  move r18,MATH_A ;(ldy)
                   2379:  movei #L238,MATH_RTS
                   2380:  movei #GPU_IMUL,scratch
                   2381:  jump T,(scratch)
                   2382:  move r0,MATH_B ; delay slot
                   2383: L238:
                   2384:  move MATH_C,r1
                   2385:  load (FP+3),r0 ; local dy1
                   2386:  move r0,MATH_A
                   2387:  movei #L239,MATH_RTS
                   2388:  movei #GPU_IMUL,scratch
                   2389:  jump T,(scratch)
                   2390:  move r17,MATH_B ; delay slot ;(ldx)
                   2391: L239:
                   2392:  move MATH_C,r0
                   2393:  cmp r1,r0
                   2394:  movei #L232,scratch
                   2395:  jump EQ,(scratch)
                   2396:  nop
                   2397:  jump MI,(scratch)
                   2398:  nop
                   2399:  moveq #1,r0
                   2400:  move r0,r19 ;(231)
                   2401:  movei #L233,r0
                   2402:  jump T,(r0)
                   2403:  nop
                   2404: L232:
                   2405:  moveq #0,r0
                   2406:  move r0,r19 ;(231)
                   2407: L233:
                   2408:  move FP,r0
                   2409:  addq #24,r0 ; &side1
                   2410:  load (r0),r30 ; FUCKING dsp!
                   2411:  or r30,r30 ; FUCKING dsp!
                   2412:  store r19,(r0) ;(231)
                   2413:  load (FP+4),r0 ; local dx2
                   2414:  move r18,MATH_A ;(ldy)
                   2415:  movei #L240,MATH_RTS
                   2416:  movei #GPU_IMUL,scratch
                   2417:  jump T,(scratch)
                   2418:  move r0,MATH_B ; delay slot
                   2419: L240:
                   2420:  move MATH_C,r1
                   2421:  load (FP+5),r0 ; local dy2
                   2422:  move r0,MATH_A
                   2423:  movei #L241,MATH_RTS
                   2424:  movei #GPU_IMUL,scratch
                   2425:  jump T,(scratch)
                   2426:  move r17,MATH_B ; delay slot ;(ldx)
                   2427: L241:
                   2428:  move MATH_C,r0
                   2429:  cmp r1,r0
                   2430:  movei #L234,scratch
                   2431:  jump EQ,(scratch)
                   2432:  nop
                   2433:  jump MI,(scratch)
                   2434:  nop
                   2435:  moveq #1,r0
                   2436:  move r0,r19 ;(231)
                   2437:  movei #L235,r0
                   2438:  jump T,(r0)
                   2439:  nop
                   2440: L234:
                   2441:  moveq #0,r0
                   2442:  move r0,r19 ;(231)
                   2443: L235:
                   2444:  move FP,r0
                   2445:  addq #28,r0 ; &side2
                   2446:  load (r0),r30 ; FUCKING dsp!
                   2447:  or r30,r30 ; FUCKING dsp!
                   2448:  store r19,(r0) ;(231)
                   2449:  load (FP+6),r0 ; local side1
                   2450:  load (FP+7),r1 ; local side2
                   2451:  cmp r0,r1
                   2452:  movei #L236,scratch
                   2453:  jump EQ,(scratch)
                   2454:  nop
                   2455:  moveq #1,r0
                   2456:  move r0,r19 ;(231)
                   2457:  movei #L237,r0
                   2458:  jump T,(r0)
                   2459:  nop
                   2460: L236:
                   2461:  moveq #0,r0
                   2462:  move r0,r19 ;(231)
                   2463: L237:
                   2464:  move r19,RETURNVALUE ;(231)
                   2465: 
                   2466: L215:
                   2467:  jump T,(RETURNPOINT)
                   2468:  addq #32,FP ; delay slot
                   2469: 
                   2470: ;====================
                   2471: _PB_CheckLine::
                   2472: ;3 dag registers  2 register variables
                   2473: ;localoffset:0  regoffset:12  argoffset:12
                   2474: ;====================
                   2475:  subq #12,FP
                   2476: 
                   2477:  load (FP+3),r0 ; local ld
                   2478:  movei #60,r1
                   2479:  add r1,r0
                   2480:  load (r0),r0
                   2481:  moveq #0,r1
                   2482:  cmp r0,r1
                   2483:  movei #L243,scratch
                   2484:  jump NE,(scratch)
                   2485:  nop
                   2486: 
                   2487:  moveq #0,r0
                   2488:  move r0,RETURNVALUE
                   2489: 
                   2490:  movei #L242,r0
                   2491:  jump T,(r0)
                   2492:  nop
                   2493: 
                   2494: L243:
                   2495: 
                   2496:  movei #_testflags,r0
                   2497:  load (r0),r0
                   2498:  movei #65536,r1
                   2499:  and r1,r0
                   2500:  moveq #0,r1
                   2501:  cmp r0,r1
                   2502:  movei #L245,scratch
                   2503:  jump NE,(scratch)
                   2504:  nop
                   2505:  load (FP+3),r0 ; local ld
                   2506:  addq #16,r0
                   2507:  load (r0),r0
                   2508:  moveq #3,r2
                   2509:  and r2,r0
                   2510:  cmp r0,r1
                   2511:  movei #L245,scratch
                   2512:  jump EQ,(scratch)
                   2513:  nop
                   2514: 
                   2515:  moveq #0,r0
                   2516:  move r0,RETURNVALUE
                   2517: 
                   2518:  movei #L242,r0
                   2519:  jump T,(r0)
                   2520:  nop
                   2521: 
                   2522: L245:
                   2523: 
                   2524:  load (FP+3),r0 ; local ld
                   2525:  movei #56,r1
                   2526:  move r0,r2
                   2527:  add r1,r2
                   2528:  load (r2),r1
                   2529:  move r1,r15 ;(front)
                   2530:  movei #60,r1
                   2531:  add r1,r0
                   2532:  load (r0),r0
                   2533:  move r0,r16 ;(back)
                   2534:  moveq #4,r0
                   2535:  move r15,r1 ;(front)
                   2536:  add r0,r1
                   2537:  load (r1),r1
                   2538:  move r16,r2 ;(back)
                   2539:  add r0,r2
                   2540:  load (r2),r0
                   2541:  cmp r1,r0
                   2542:  movei #L247,scratch
                   2543:  jump EQ,(scratch)
                   2544:  nop
                   2545:  jump MI,(scratch)
                   2546:  nop
                   2547: 
                   2548:  move FP,r0 ; &opentop
                   2549:  move r15,r1 ;(front)
                   2550:  addq #4,r1
                   2551:  load (r1),r1
                   2552:  load (r0),r30 ; FUCKING dsp!
                   2553:  or r30,r30 ; FUCKING dsp!
                   2554:  store r1,(r0)
                   2555: 
                   2556:  movei #L248,r0
                   2557:  jump T,(r0)
                   2558:  nop
                   2559: 
                   2560: L247:
                   2561: 
                   2562:  move FP,r0 ; &opentop
                   2563:  move r16,r1 ;(back)
                   2564:  addq #4,r1
                   2565:  load (r1),r1
                   2566:  load (r0),r30 ; FUCKING dsp!
                   2567:  or r30,r30 ; FUCKING dsp!
                   2568:  store r1,(r0)
                   2569: 
                   2570: L248:
                   2571: 
                   2572:  load (r15),r0 ;(front)
                   2573:  load (r16),r1 ;(back)
                   2574:  cmp r0,r1
                   2575:  movei #L249,scratch
                   2576:  jump PL,(scratch)
                   2577:  nop
                   2578: 
                   2579:  move FP,r0
                   2580:  addq #4,r0 ; &openbottom
                   2581:  load (r15),r1 ;(front)
                   2582:  load (r0),r30 ; FUCKING dsp!
                   2583:  or r30,r30 ; FUCKING dsp!
                   2584:  store r1,(r0)
                   2585:  move FP,r0
                   2586:  addq #8,r0 ; &lowfloor
                   2587:  load (r16),r1 ;(back)
                   2588:  load (r0),r30 ; FUCKING dsp!
                   2589:  or r30,r30 ; FUCKING dsp!
                   2590:  store r1,(r0)
                   2591: 
                   2592:  movei #L250,r0
                   2593:  jump T,(r0)
                   2594:  nop
                   2595: 
                   2596: L249:
                   2597: 
                   2598:  move FP,r0
                   2599:  addq #4,r0 ; &openbottom
                   2600:  load (r16),r1 ;(back)
                   2601:  load (r0),r30 ; FUCKING dsp!
                   2602:  or r30,r30 ; FUCKING dsp!
                   2603:  store r1,(r0)
                   2604:  move FP,r0
                   2605:  addq #8,r0 ; &lowfloor
                   2606:  load (r15),r1 ;(front)
                   2607:  load (r0),r30 ; FUCKING dsp!
                   2608:  or r30,r30 ; FUCKING dsp!
                   2609:  store r1,(r0)
                   2610: 
                   2611: L250:
                   2612: 
                   2613:  load (FP),r0 ; local opentop
                   2614:  movei #_testceilingz,r1
                   2615:  load (r1),r1
                   2616:  cmp r0,r1
                   2617:  movei #L251,scratch
                   2618:  jump EQ,(scratch)
                   2619:  nop
                   2620:  jump MI,(scratch)
                   2621:  nop
                   2622: 
                   2623:  movei #_testceilingz,r0
                   2624:  load (FP),r1 ; local opentop
                   2625:  load (r0),r30 ; FUCKING dsp!
                   2626:  or r30,r30 ; FUCKING dsp!
                   2627:  store r1,(r0)
                   2628:  movei #_ceilingline,r0
                   2629:  load (FP+3),r1 ; local ld
                   2630:  load (r0),r30 ; FUCKING dsp!
                   2631:  or r30,r30 ; FUCKING dsp!
                   2632:  store r1,(r0)
                   2633: 
                   2634: L251:
                   2635: 
                   2636:  load (FP+1),r0 ; local openbottom
                   2637:  movei #_testfloorz,r1
                   2638:  load (r1),r1
                   2639:  cmp r0,r1
                   2640:  movei #L253,scratch
                   2641:  jump PL,(scratch)
                   2642:  nop
                   2643: 
                   2644:  movei #_testfloorz,r0
                   2645:  load (FP+1),r1 ; local openbottom
                   2646:  load (r0),r30 ; FUCKING dsp!
                   2647:  or r30,r30 ; FUCKING dsp!
                   2648:  store r1,(r0)
                   2649: 
                   2650: L253:
                   2651: 
                   2652:  load (FP+2),r0 ; local lowfloor
                   2653:  movei #_testdropoffz,r1
                   2654:  load (r1),r1
                   2655:  cmp r0,r1
                   2656:  movei #L255,scratch
                   2657:  jump EQ,(scratch)
                   2658:  nop
                   2659:  jump MI,(scratch)
                   2660:  nop
                   2661: 
                   2662:  movei #_testdropoffz,r0
                   2663:  load (FP+2),r1 ; local lowfloor
                   2664:  load (r0),r30 ; FUCKING dsp!
                   2665:  or r30,r30 ; FUCKING dsp!
                   2666:  store r1,(r0)
                   2667: 
                   2668: L255:
                   2669: 
                   2670:  moveq #1,r0
                   2671:  move r0,RETURNVALUE
                   2672: 
                   2673: L242:
                   2674:  jump T,(RETURNPOINT)
                   2675:  addq #12,FP ; delay slot
                   2676: 
                   2677: ;====================
                   2678: _PB_CheckThing::
                   2679: ;4 dag registers  4 register variables
                   2680: ;localoffset:0  regoffset:0  argoffset:0
                   2681: ;====================
                   2682: 
                   2683:  load (FP),r0 ; local thing
                   2684:  movei #100,r1
                   2685:  add r1,r0
                   2686:  load (r0),r0
                   2687:  moveq #2,r1
                   2688:  and r1,r0
                   2689:  moveq #0,r1
                   2690:  cmp r0,r1
                   2691:  movei #L258,scratch
                   2692:  jump NE,(scratch)
                   2693:  nop
                   2694: 
                   2695:  moveq #1,r0
                   2696:  move r0,RETURNVALUE
                   2697: 
                   2698:  movei #L257,r0
                   2699:  jump T,(r0)
                   2700:  nop
                   2701: 
                   2702: L258:
                   2703: 
                   2704:  load (FP),r0 ; local thing
                   2705:  movei #64,r1
                   2706:  move r0,r2
                   2707:  add r1,r2
                   2708:  load (r2),r2
                   2709:  movei #_basething,r3
                   2710:  load (r3),r3
                   2711:  add r1,r3
                   2712:  load (r3),r1
                   2713:  add r1,r2
                   2714:  move r2,r16 ;(blockdist)
                   2715:  addq #12,r0
                   2716:  load (r0),r0
                   2717:  movei #_testx,r1
                   2718:  load (r1),r1
                   2719:  sub r1,r0
                   2720:  move r0,r15 ;(delta)
                   2721:  moveq #0,r0
                   2722:  cmp r15,r0 ;(delta)
                   2723:  movei #L260,scratch
                   2724:  jump EQ,(scratch)
                   2725:  nop
                   2726:  jump MI,(scratch)
                   2727:  nop
                   2728: 
                   2729:  move r15,r0 ;(delta)
                   2730:  neg r0
                   2731:  move r0,r15 ;(delta)
                   2732: 
                   2733: L260:
                   2734: 
                   2735:  cmp r15,r16 ;(delta)(blockdist)
                   2736:  movei #L262,scratch
                   2737:  jump S_LT,(scratch)
                   2738:  nop
                   2739: 
                   2740:  moveq #1,r0
                   2741:  move r0,RETURNVALUE
                   2742: 
                   2743:  movei #L257,r0
                   2744:  jump T,(r0)
                   2745:  nop
                   2746: 
                   2747: L262:
                   2748: 
                   2749:  load (FP),r0 ; local thing
                   2750:  addq #16,r0
                   2751:  load (r0),r0
                   2752:  movei #_testy,r1
                   2753:  load (r1),r1
                   2754:  sub r1,r0
                   2755:  move r0,r15 ;(delta)
                   2756:  moveq #0,r0
                   2757:  cmp r15,r0 ;(delta)
                   2758:  movei #L264,scratch
                   2759:  jump EQ,(scratch)
                   2760:  nop
                   2761:  jump MI,(scratch)
                   2762:  nop
                   2763: 
                   2764:  move r15,r0 ;(delta)
                   2765:  neg r0
                   2766:  move r0,r15 ;(delta)
                   2767: 
                   2768: L264:
                   2769: 
                   2770:  cmp r15,r16 ;(delta)(blockdist)
                   2771:  movei #L266,scratch
                   2772:  jump S_LT,(scratch)
                   2773:  nop
                   2774: 
                   2775:  moveq #1,r0
                   2776:  move r0,RETURNVALUE
                   2777: 
                   2778:  movei #L257,r0
                   2779:  jump T,(r0)
                   2780:  nop
                   2781: 
                   2782: L266:
                   2783: 
                   2784:  load (FP),r0 ; local thing
                   2785:  movei #_basething,r1
                   2786:  load (r1),r1
                   2787:  cmp r0,r1
                   2788:  movei #L268,scratch
                   2789:  jump NE,(scratch)
                   2790:  nop
                   2791: 
                   2792:  moveq #1,r0
                   2793:  move r0,RETURNVALUE
                   2794: 
                   2795:  movei #L257,r0
                   2796:  jump T,(r0)
                   2797:  nop
                   2798: 
                   2799: L268:
                   2800: 
                   2801:  movei #_testflags,r0
                   2802:  load (r0),r0
                   2803:  movei #16777216,r1
                   2804:  and r1,r0
                   2805:  moveq #0,r1
                   2806:  cmp r0,r1
                   2807:  movei #L270,scratch
                   2808:  jump EQ,(scratch)
                   2809:  nop
                   2810: 
                   2811:  movei #_hitthing,r0
                   2812:  load (FP),r1 ; local thing
                   2813:  load (r0),r30 ; FUCKING dsp!
                   2814:  or r30,r30 ; FUCKING dsp!
                   2815:  store r1,(r0)
                   2816:  moveq #0,r0
                   2817:  move r0,RETURNVALUE
                   2818: 
                   2819:  movei #L257,r0
                   2820:  jump T,(r0)
                   2821:  nop
                   2822: 
                   2823: L270:
                   2824: 
                   2825:  movei #_testflags,r0
                   2826:  load (r0),r0
                   2827:  movei #65536,r1
                   2828:  and r1,r0
                   2829:  moveq #0,r1
                   2830:  cmp r0,r1
                   2831:  movei #L272,scratch
                   2832:  jump EQ,(scratch)
                   2833:  nop
                   2834: 
                   2835:  movei #_basething,r0
                   2836:  load (r0),r0
                   2837:  moveq #20,r1
                   2838:  add r1,r0
                   2839:  load (r0),r0
                   2840:  load (FP),r2 ; local thing
                   2841:  move r2,r3
                   2842:  add r1,r3
                   2843:  load (r3),r1
                   2844:  movei #68,r3
                   2845:  add r3,r2
                   2846:  load (r2),r2
                   2847:  add r2,r1
                   2848:  cmp r0,r1
                   2849:  movei #L274,scratch
                   2850:  jump PL,(scratch)
                   2851:  nop
                   2852: 
                   2853:  moveq #1,r0
                   2854:  move r0,RETURNVALUE
                   2855: 
                   2856:  movei #L257,r0
                   2857:  jump T,(r0)
                   2858:  nop
                   2859: 
                   2860: L274:
                   2861: 
                   2862:  movei #_basething,r0
                   2863:  load (r0),r0
                   2864:  moveq #20,r1
                   2865:  move r0,r2
                   2866:  add r1,r2
                   2867:  load (r2),r2
                   2868:  movei #68,r3
                   2869:  add r3,r0
                   2870:  load (r0),r0
                   2871:  add r0,r2
                   2872:  load (FP),r0 ; local thing
                   2873:  add r1,r0
                   2874:  load (r0),r0
                   2875:  cmp r2,r0
                   2876:  movei #L276,scratch
                   2877:  jump EQ,(scratch)
                   2878:  nop
                   2879:  jump MI,(scratch)
                   2880:  nop
                   2881: 
                   2882:  moveq #1,r0
                   2883:  move r0,RETURNVALUE
                   2884: 
                   2885:  movei #L257,r0
                   2886:  jump T,(r0)
                   2887:  nop
                   2888: 
                   2889: L276:
                   2890: 
                   2891:  movei #_basething,r0
                   2892:  load (r0),r0
                   2893:  movei #116,r1
                   2894:  add r1,r0
                   2895:  load (r0),r0
                   2896:  movei #84,r1
                   2897:  add r1,r0
                   2898:  load (r0),r0
                   2899:  load (FP),r2 ; local thing
                   2900:  add r1,r2
                   2901:  load (r2),r1
                   2902:  cmp r0,r1
                   2903:  movei #L278,scratch
                   2904:  jump NE,(scratch)
                   2905:  nop
                   2906: 
                   2907:  load (FP),r0 ; local thing
                   2908:  movei #_basething,r1
                   2909:  load (r1),r1
                   2910:  movei #116,r2
                   2911:  add r2,r1
                   2912:  load (r1),r1
                   2913:  cmp r0,r1
                   2914:  movei #L280,scratch
                   2915:  jump NE,(scratch)
                   2916:  nop
                   2917: 
                   2918:  moveq #1,r0
                   2919:  move r0,RETURNVALUE
                   2920: 
                   2921:  movei #L257,r0
                   2922:  jump T,(r0)
                   2923:  nop
                   2924: 
                   2925: L280:
                   2926: 
                   2927:  load (FP),r0 ; local thing
                   2928:  movei #84,r1
                   2929:  add r1,r0
                   2930:  load (r0),r0
                   2931:  moveq #0,r1
                   2932:  cmp r0,r1
                   2933:  movei #L282,scratch
                   2934:  jump EQ,(scratch)
                   2935:  nop
                   2936: 
                   2937:  moveq #0,r0
                   2938:  move r0,RETURNVALUE
                   2939: 
                   2940:  movei #L257,r0
                   2941:  jump T,(r0)
                   2942:  nop
                   2943: 
                   2944: L282:
                   2945: 
                   2946: L278:
                   2947: 
                   2948:  load (FP),r0 ; local thing
                   2949:  movei #100,r1
                   2950:  add r1,r0
                   2951:  load (r0),r0
                   2952:  moveq #4,r1
                   2953:  and r1,r0
                   2954:  moveq #0,r1
                   2955:  cmp r0,r1
                   2956:  movei #L284,scratch
                   2957:  jump NE,(scratch)
                   2958:  nop
                   2959: 
                   2960:  load (FP),r0 ; local thing
                   2961:  movei #100,r1
                   2962:  add r1,r0
                   2963:  load (r0),r0
                   2964:  moveq #2,r1
                   2965:  and r1,r0
                   2966:  moveq #0,r1
                   2967:  cmp r0,r1
                   2968:  movei #L287,scratch
                   2969:  jump NE,(scratch)
                   2970:  nop
                   2971:  moveq #1,r0
                   2972:  move r0,r17 ;(286)
                   2973:  movei #L288,r0
                   2974:  jump T,(r0)
                   2975:  nop
                   2976: L287:
                   2977:  moveq #0,r0
                   2978:  move r0,r17 ;(286)
                   2979: L288:
                   2980:  move r17,RETURNVALUE ;(286)
                   2981: 
                   2982:  movei #L257,r0
                   2983:  jump T,(r0)
                   2984:  nop
                   2985: 
                   2986: L284:
                   2987: 
                   2988:  movei #_hitthing,r0
                   2989:  load (FP),r1 ; local thing
                   2990:  load (r0),r30 ; FUCKING dsp!
                   2991:  or r30,r30 ; FUCKING dsp!
                   2992:  store r1,(r0)
                   2993:  moveq #0,r0
                   2994:  move r0,RETURNVALUE
                   2995: 
                   2996:  movei #L257,r0
                   2997:  jump T,(r0)
                   2998:  nop
                   2999: 
                   3000: L272:
                   3001: 
                   3002:  load (FP),r0 ; local thing
                   3003:  movei #100,r1
                   3004:  add r1,r0
                   3005:  load (r0),r0
                   3006:  moveq #2,r1
                   3007:  and r1,r0
                   3008:  moveq #0,r1
                   3009:  cmp r0,r1
                   3010:  movei #L290,scratch
                   3011:  jump NE,(scratch)
                   3012:  nop
                   3013:  moveq #1,r0
                   3014:  move r0,r18 ;(289)
                   3015:  movei #L291,r0
                   3016:  jump T,(r0)
                   3017:  nop
                   3018: L290:
                   3019:  moveq #0,r0
                   3020:  move r0,r18 ;(289)
                   3021: L291:
                   3022:  move r18,RETURNVALUE ;(289)
                   3023: 
                   3024: L257:
                   3025:  jump T,(RETURNPOINT)
                   3026:  nop ; delay slot
                   3027: 
                   3028: ;====================
                   3029: _PB_MoveLinesIterator::
                   3030: ;3 dag registers  3 register variables
                   3031: ;localoffset:4  regoffset:4  argoffset:32
                   3032: ;====================
                   3033:  subq #32,FP
                   3034: 
                   3035:  load (FP+9),r0 ; local y
                   3036:  movei #_bmapwidth,r1
                   3037:  load (r1),r1
                   3038:  move r0,MATH_A
                   3039:  movei #L303,MATH_RTS
                   3040:  movei #GPU_IMUL,scratch
                   3041:  jump T,(scratch)
                   3042:  move r1,MATH_B ; delay slot
                   3043: L303:
                   3044:  move MATH_C,r0
                   3045:  load (FP+8),r1 ; local x
                   3046:  add r1,r0
                   3047:  move r0,r17 ;(offset)
                   3048:  movei #-1,r0
                   3049:  move r17,r1 ;(offset)
                   3050:  sha r0,r1
                   3051:  movei #_blockmap,r2
                   3052:  load (r2),r2
                   3053:  add r2,r1
                   3054:  loadw (r1),r1
                   3055:  movei #$ffff8000,scratch
                   3056:  add scratch,r1
                   3057:  xor scratch,r1
                   3058:  move r1,r17 ;(offset)
                   3059:  move r17,r1 ;(offset)
                   3060:  sha r0,r1
                   3061:  movei #_blockmaplump,r0
                   3062:  load (r0),r0
                   3063:  add r0,r1
                   3064:  move r1,r16 ;(list)
                   3065: 
                   3066:  movei #L296,r0
                   3067:  jump T,(r0)
                   3068:  nop
                   3069: 
                   3070: L293:
                   3071: 
                   3072:  movei #76,r0
                   3073:  loadw (r16),r1 ;(list)
                   3074:  movei #$ffff8000,scratch
                   3075:  add scratch,r1
                   3076:  xor scratch,r1
                   3077:  move r0,MATH_A
                   3078:  movei #L304,MATH_RTS
                   3079:  movei #GPU_IMUL,scratch
                   3080:  jump T,(scratch)
                   3081:  move r1,MATH_B ; delay slot
                   3082: L304:
                   3083:  move MATH_C,r0
                   3084:  movei #_lines,r1
                   3085:  load (r1),r1
                   3086:  add r1,r0
                   3087:  move r0,r15 ;(ld)
                   3088:  movei #64,r0
                   3089:  move r15,r1 ;(ld)
                   3090:  add r0,r1
                   3091:  load (r1),r0
                   3092:  movei #_validcount,r1
                   3093:  load (r1),r1
                   3094:  cmp r0,r1
                   3095:  movei #L297,scratch
                   3096:  jump NE,(scratch)
                   3097:  nop
                   3098: 
                   3099:  movei #L294,r0
                   3100:  jump T,(r0)
                   3101:  nop
                   3102: 
                   3103: L297:
                   3104: 
                   3105:  movei #64,r0
                   3106:  move r15,r1 ;(ld)
                   3107:  add r0,r1
                   3108:  movei #_validcount,r0
                   3109:  load (r0),r0
                   3110:  load (r1),r30 ; FUCKING dsp!
                   3111:  or r30,r30 ; FUCKING dsp!
                   3112:  store r0,(r1)
                   3113: 
                   3114:  store r15,(FP) ; arg[] ;(ld)
                   3115:  movei #_PB_BoxCrossLine,r0
                   3116:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   3117:  store r17,(FP+2) ; push ;(offset)
                   3118:  store r16,(FP+3) ; push ;(list)
                   3119:  movei #L305,RETURNPOINT
                   3120:  jump T,(r0)
                   3121:  store r15,(FP+4) ; delay slot push ;(ld)
                   3122: L305:
                   3123:  load (FP+2),r17 ; pop ;(offset)
                   3124:  load (FP+3),r16 ; pop ;(list)
                   3125:  load (FP+4),r15 ; pop ;(ld)
                   3126:  load (FP+1), RETURNPOINT ; pop
                   3127:  moveq #0,r0
                   3128:  cmp r29,r0 ;(RETURNVALUE)
                   3129:  movei #L299,scratch
                   3130:  jump EQ,(scratch)
                   3131:  nop
                   3132: 
                   3133:  store r15,(FP) ; arg[] ;(ld)
                   3134:  movei #_PB_CheckLine,r0
                   3135:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   3136:  store r17,(FP+2) ; push ;(offset)
                   3137:  store r16,(FP+3) ; push ;(list)
                   3138:  movei #L306,RETURNPOINT
                   3139:  jump T,(r0)
                   3140:  store r15,(FP+4) ; delay slot push ;(ld)
                   3141: L306:
                   3142:  load (FP+2),r17 ; pop ;(offset)
                   3143:  load (FP+3),r16 ; pop ;(list)
                   3144:  load (FP+4),r15 ; pop ;(ld)
                   3145:  load (FP+1), RETURNPOINT ; pop
                   3146:  moveq #0,r0
                   3147:  cmp r29,r0 ;(RETURNVALUE)
                   3148:  movei #L301,scratch
                   3149:  jump NE,(scratch)
                   3150:  nop
                   3151: 
                   3152:  moveq #0,r0
                   3153:  move r0,RETURNVALUE
                   3154: 
                   3155:  movei #L292,r0
                   3156:  jump T,(r0)
                   3157:  nop
                   3158: 
                   3159: L301:
                   3160: 
                   3161: L299:
                   3162: 
                   3163: L294:
                   3164: 
                   3165:  move r16,r0 ;(list)
                   3166:  addq #2,r0
                   3167:  move r0,r16 ;(list)
                   3168: 
                   3169: L296:
                   3170: 
                   3171:  loadw (r16),r0 ;(list)
                   3172:  movei #$ffff8000,scratch
                   3173:  add scratch,r0
                   3174:  xor scratch,r0
                   3175:  movei #-1,r1
                   3176:  cmp r0,r1
                   3177:  movei #L293,scratch
                   3178:  jump NE,(scratch)
                   3179:  nop
                   3180: 
                   3181:  moveq #1,r0
                   3182:  move r0,RETURNVALUE
                   3183: 
                   3184: L292:
                   3185:  jump T,(RETURNPOINT)
                   3186:  addq #32,FP ; delay slot
                   3187: 
                   3188: ;====================
                   3189: _PB_MoveThingsIterator::
                   3190: ;2 dag registers  1 register variables
                   3191: ;localoffset:4  regoffset:4  argoffset:20
                   3192: ;====================
                   3193:  subq #20,FP
                   3194: 
                   3195:  load (FP+6),r0 ; local y
                   3196:  movei #_bmapwidth,r1
                   3197:  load (r1),r1
                   3198:  move r0,MATH_A
                   3199:  movei #L314,MATH_RTS
                   3200:  movei #GPU_IMUL,scratch
                   3201:  jump T,(scratch)
                   3202:  move r1,MATH_B ; delay slot
                   3203: L314:
                   3204:  move MATH_C,r0
                   3205:  load (FP+5),r1 ; local x
                   3206:  add r1,r0
                   3207:  shlq #2,r0
                   3208:  movei #_blocklinks,r1
                   3209:  load (r1),r1
                   3210:  add r1,r0
                   3211:  load (r0),r0
                   3212:  move r0,r15 ;(mobj)
                   3213: 
                   3214:  movei #L311,r0
                   3215:  jump T,(r0)
                   3216:  nop
                   3217: 
                   3218: L308:
                   3219: 
                   3220:  store r15,(FP) ; arg[] ;(mobj)
                   3221:  movei #_PB_CheckThing,r0
                   3222:  store r28,(FP+1) ; push ;(RETURNPOINT)
                   3223:  movei #L315,RETURNPOINT
                   3224:  jump T,(r0)
                   3225:  store r15,(FP+2) ; delay slot push ;(mobj)
                   3226: L315:
                   3227:  load (FP+2),r15 ; pop ;(mobj)
                   3228:  load (FP+1), RETURNPOINT ; pop
                   3229:  moveq #0,r0
                   3230:  cmp r29,r0 ;(RETURNVALUE)
                   3231:  movei #L312,scratch
                   3232:  jump NE,(scratch)
                   3233:  nop
                   3234: 
                   3235:  moveq #0,r0
                   3236:  move r0,RETURNVALUE
                   3237: 
                   3238:  movei #L307,r0
                   3239:  jump T,(r0)
                   3240:  nop
                   3241: 
                   3242: L312:
                   3243: 
                   3244: L309:
                   3245: 
                   3246:  movei #44,r0
                   3247:  move r15,r1 ;(mobj)
                   3248:  add r0,r1
                   3249:  load (r1),r0
                   3250:  move r0,r15 ;(mobj)
                   3251: 
                   3252: L311:
                   3253: 
                   3254:  move r15,r0 ;(mobj)
                   3255:  moveq #0,r1
                   3256:  cmp r0,r1
                   3257:  movei #L308,scratch
                   3258:  jump NE,(scratch)
                   3259:  nop
                   3260: 
                   3261:  moveq #1,r0
                   3262:  move r0,RETURNVALUE
                   3263: 
                   3264: L307:
                   3265:  jump T,(RETURNPOINT)
                   3266:  addq #20,FP ; delay slot
                   3267: 
                   3268: ;=======================
                   3269: 
                   3270:  .extern _PB_UnsetThingPosition
                   3271:  .extern _PB_PointInSubsector
                   3272:  .long
                   3273: _testflags::
                   3274:  .dc.l 0
                   3275:  .long
                   3276: _testbbox::
                   3277:  .dc.l 0
                   3278:  .dc.l 0
                   3279:  .dc.l 0
                   3280:  .dc.l 0
                   3281:  .long
                   3282: _hitthing::
                   3283:  .dc.l 0
                   3284:  .long
                   3285: _ceilingline::
                   3286:  .dc.l 0
                   3287:  .long
                   3288: _testsubsec::
                   3289:  .dc.l 0
                   3290:  .long
                   3291: _testdropoffz::
                   3292:  .dc.l 0
                   3293:  .long
                   3294: _testceilingz::
                   3295:  .dc.l 0
                   3296:  .long
                   3297: _testfloorz::
                   3298:  .dc.l 0
                   3299:  .long
                   3300: _testy::
                   3301:  .dc.l 0
                   3302:  .long
                   3303: _testx::
                   3304:  .dc.l 0
                   3305:  .long
                   3306: _basething::
                   3307:  .dc.l 0
                   3308:  .extern _blocklinks
                   3309:  .extern _bmaporgy
                   3310:  .extern _bmaporgx
                   3311:  .extern _bmapheight
                   3312:  .extern _bmapwidth
                   3313:  .extern _blockmap
                   3314:  .extern _blockmaplump
                   3315:  .extern _P_ExplodeMissile
                   3316:  .extern _L_MissileHit
                   3317:  .extern _L_SkullBash
                   3318:  .extern _P_RemoveMobj
                   3319:  .extern _activemobjs
                   3320:  .extern _mobjhead
                   3321:  .extern _validcount
                   3322:  .extern _lines
                   3323:  .extern _states
                   3324: 
                   3325:        .phrase
                   3326:        .68000
                   3327: codeend:

unix.superglobalmegacorp.com

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