Shoutbox

Drugganator

2025-05-05, 02:31:39
MUHAHAHA

Welcome to Croydon Deluxe. Please login or sign up.

Recent

Members
Stats
  • Total Posts: 42,257
  • Total Topics: 806
  • Online today: 507
  • Online ever: 777 (Oct 05, 2025, 07:38 PM)
Users Online
  • Users: 0
  • Guests: 164
  • Total: 164
164 Guests, 0 Users

VERY basic bug in 68k

Started by Drugganator, May 07, 2025, 06:36 AM

Previous topic - Next topic

Drugganator

name ASMTest
author JADiS
clan Terror Korps
iff code Terror Korps
asm on
 
 
;ASMBLOCK
iff
   lea myiff,a0
   move.l #0,d1
iffl   move.b (a0)+,$E801.w
   move.b d1,$E802.w
   move.b #255,$E800.w
   addq.b #1,d1
   tst.b $E801.w
   bne iffl
   move.b #1,$E800.w
loop
   tst.b $EE03.w
   bne noscan
   move.b $EE08.w,scan
   move.b $EE09.w,scan+1
   move.b #1,$EE00.w
noscan
   tst.b $EA07.w
   beq nofire
   tst.b $EF03.w
   bne loop
   move.b #4,$EA00.w
   bra loop
nofire
   tst.b $EB09.w
   beq noinbound
   move.b $EF05.w,d0   
   move.b $EB09.w,d1
   move.b d1,d2
   add.b d0,d2
   andi.b #1,d2
   tst.b d2
   beq blah
   tst.b $EF03.w
   bne loop
   move.b #1,$EF00.w
   bra loop
blah
   cmp.b d0,d1
   bne blaha
   tst.b $EF03.w
   bne loop
   move.b #2,$ED00.w
   bra loop
blaha
   tst.b $EF03.w
   bne loop
   move.b #1,$EB00.w
   bra loop
noinbound
   tst.b $EB04.w
   beq noshield
   tst.b $EF03.w
   bne loop
   move.b #2,$EB00.w
   bra loop
noshield
 
   cmpi.b #5,scan
   bne noflag
   tst.b $EA04.w
   bne chargeflag
   tst.b $EF03.w
   bne loop
   move.b #254,$EA00.w
   bra loop
chargeflag
   tst.b $EF03.w
   bne loop
   move.b #1,$EF00.w
   bra loop
noflag
   cmpi.b #2,scan
   bne noenemy
   tst.b $EB08.w
   beq shootenemy
   tst.b $EF03.w
   bne loop
   move.b #4,$EB00.w
   bra loop
shootenemy
   tst.b $EF03.w
   bne loop
   move.b #2,$ED00.w
   bra loop
noenemy
   clr.l d0
   clr.l d1
   clr.l d2
   clr.l d3
   move.b $EF06.w,d0
   move.b $EC00.w,d1
   sub.b d1,d0
   move.b $EF07.w,d2
   move.b $EC01.w,d3
   sub.b d3,d2
   ext.w d2
   ext.w d0
   muls d2,d2
   muls d0,d0
   add.w d0,d2
   cmpi.w #2,d2
   bgt noflash
   tst.b $EF03.w
   bne loop
   move.b #253,$EA00.w
   bra loop
noflash
   move.b $EF05.w, d0
   andi.l #1,d0
   move.b d0,d7
   not.b d7
   andi.l #1,d7
   lea $EF06.w,a1
   lea $EC00.w,a2
 
   move.b 0(a1,d7),d1
   move.b 0(a2,d7),d2   
   sub.b d1,d2
   move.b d2,d1   
   tst.b d2
   bpl noneg1
   neg.b d2
noneg1
   move.b 0(a1,d0),d3
   move.b 0(a2,d0),d4   
   sub.b d3,d4
   move.b d4,d3   
   tst.b d4
   bpl noneg2
   neg.b d4
noneg2   
   cmpi.b #2,$EF05.w   
   ble noneg3
   neg.b d1
noneg3
   move.b $EF05.w, d0
   andi.b #2,d0
   tst.b d0
   bne noneg4
   neg.b d3
noneg4
   cmpi.b #2,d3
   bpl infront   
   tst.b d1
   bmi turnleft
   tst.b $EF03.w
   bne loop
   move.b #4,$EF00.w
   bra loop
turnleft
   tst.b $EF03.w
   bne loop
   move.b #3,$EF00.w
   bra loop
infront
   tst.b d2
   bne trythis
   move.b scan+1,d6
   addq #2,d6
   cmp.b d6,d4
   bgt forward
   tst.b $EF03.w
   bne loop
   move.b #2,$ED00.w
   bra loop
trythis
   cmpi.b #1,d2
   bne forward
   move.b scan+1,d6
   addq.w #2,d6
   cmp.b d6,d4
   bgt forward
   tst.b $EF03.w
   bne loop
   move.b #3,$ED00.w
   bra fuse
forward
   tst.b $EF03.w
   bne loop
   move.b #1,$EF00.w
   bra loop
 
   bra loop
 
fuse
   move.b $EF05.w, d0
   andi.l #1,d0
   lea $EF06.w,a1
   lea $EC00.w,a2
 
   move.b 0(a1,d0),d1
   move.b 0(a2,d0),d2
   sub.b d1,d2
   tst.b d2
   bpl noneg
   neg.b d2
noneg
   move.b d2,$ED01.w
   move.b #$FF,$ED00.w
   bra loop
scan
   dc.b 0,0
action
   dc.b 0,0
gfuse
   dc.b 0
myiff
   dc.b 'Hope this fucking works\0'
 
;ENDASM