diff --git a/scorch.xex b/scorch.xex index a207605..0201d7f 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index dfd5b91..5acd390 100644 --- a/textproc.asm +++ b/textproc.asm @@ -287,8 +287,8 @@ AfterPurchase ; is being processed now mwa #ListOfWeapons xbyte ldx #$00 ; index of the checked weapon - stx HowManyOnTheList1 ; amounts of weapons (shells, bullets) in both lists - stx HowManyOnTheList2 + stx HowManyOnTheListOff ; amounts of weapons (shells, bullets) in both lists + stx HowManyOnTheListDef ; Creating full list of the available weapons for displaying ; in X there is an index of the weapon to be checked, @@ -437,25 +437,25 @@ notInventory bne NotTheSameAsLastTime lda WhichList bne @+ - lda HowManyOnTheList1 + lda HowManyOnTheListOff sta PositionOnTheList jmp NotTheSameAsLastTime @ - lda HowManyOnTheList2 + lda HowManyOnTheListDef sta PositionOnTheList NotTheSameAsLastTime ; increase appropriate counter txa cpx #$30 bcs DefenceList - ldy HowManyOnTheList1 + ldy HowManyOnTheListOff sta IndexesOfWeaponsL1,y - inc HowManyOnTheList1 + inc HowManyOnTheListOff bne NextLineOfTheList DefenceList - ldy HowManyOnTheList2 + ldy HowManyOnTheListDef sta IndexesOfWeaponsL2,y - inc HowManyOnTheList2 + inc HowManyOnTheListDef ; If everything is copied then next line NextLineOfTheList adw xbyte #40 @@ -491,7 +491,7 @@ WeHaveOffset ; of the first erased char. ; (multiplying taken from book of Ruszczyc 'Assembler 6502' - lda HowManyOnTheList1 + lda HowManyOnTheListOff sta xbyte+1 ; multiplier (temporarily here, it will be erased anyway) lda #$00 ; higher byte of the Result sta xbyte ; lower byte of the Result @@ -534,7 +534,7 @@ DoNotIncHigher1 ; Multiply number on list 1 by 40 and set address ; of the first erased char. - lda HowManyOnTheList2 + lda HowManyOnTheListDef sta xbyte+1 ; multiplier lda #$00 ; higher byte of the Result sta xbyte ; lower byte of the Result @@ -658,17 +658,17 @@ PurchaseKeyDown lda WhichList beq GoDown1 inc:lda PositionOnTheList - cmp HowManyOnTheList2 + cmp HowManyOnTheListDef bne EndGoDownX - ldy HowManyOnTheList2 + ldy HowManyOnTheListDef dey sty PositionOnTheList jmp ChoosingItemForPurchase GoDown1 inc:lda PositionOnTheList - cmp HowManyOnTheList1 + cmp HowManyOnTheListOff bne MakeOffsetDown - ldy HowManyOnTheList1 + ldy HowManyOnTheListOff dey sty PositionOnTheList MakeOffsetDown @@ -837,6 +837,8 @@ DefActivationEnd ?noWeaponActive ldy #0 ?weaponFound + cpy howManyOnTheListDef + bcs ?noWeaponActive sty positionOnTheList rts .endp @@ -858,6 +860,8 @@ DefActivationEnd ?noWeaponActive ldy #0 ?weaponFound + cpy howManyOnTheListOff + bcs ?noWeaponActive sty positionOnTheList rts .endp @@ -934,7 +938,7 @@ NoArrowUp stx MoreUpdl sty MoreUpdl+1 ; the same, bu scrolling down - lda HowManyOnTheList1 + lda HowManyOnTheListOff ldx #EmptyLine sec diff --git a/variables.asm b/variables.asm index b24c535..310e633 100644 --- a/variables.asm +++ b/variables.asm @@ -256,9 +256,9 @@ IndexesOfWeaponsL2 ; variables storing amount of weapons on the first and second ; list and pointer position -HowManyOnTheList1 +HowManyOnTheListOff .DS 1 -HowManyOnTheList2 +HowManyOnTheListDef .DS 1 PositionOnTheList ; pointer position on the list being displayed .DS 1 diff --git a/weapons.asm b/weapons.asm index 4106730..dde2ad5 100644 --- a/weapons.asm +++ b/weapons.asm @@ -33,7 +33,7 @@ ExplosionRoutines .word VOID-1 ;napalm .word VOID-1 ;hotnapalm .word tracer-1 - .word VOID-1 ;smoketracer + .word tracer-1 ;smoketracer .word babyroller-1 .word roller-1 .word heavyroller-1 @@ -57,6 +57,7 @@ ExplosionRoutines .word laser-1 VOID +tracer rts .endp ; ------------------------ @@ -264,10 +265,6 @@ NoLowerCircle rts .endp ; ------------------------ -.proc tracer - rts -.endp -; ------------------------ .proc babyroller inc FallDown2 mva #11 ExplosionRadius