mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-21 14:49:40 +02:00
work in progress...
This commit is contained in:
+42
-91
@@ -555,11 +555,10 @@ UnequalTanks
|
|||||||
bpl CheckNextTank
|
bpl CheckNextTank
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;-------------------------------------------------
|
|
||||||
drawtanks
|
|
||||||
;-------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
.proc drawtanks
|
||||||
|
;-------------------------------------------------
|
||||||
lda tanknr
|
lda tanknr
|
||||||
pha
|
pha
|
||||||
ldx #$00
|
ldx #$00
|
||||||
@@ -576,8 +575,9 @@ DrawNextTank
|
|||||||
sta tankNr
|
sta tankNr
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
.endp
|
||||||
;---------
|
;---------
|
||||||
drawtanknr
|
.proc DrawTankNr
|
||||||
ldx tanknr
|
ldx tanknr
|
||||||
; let's check the energy
|
; let's check the energy
|
||||||
lda eXistenZ,x
|
lda eXistenZ,x
|
||||||
@@ -665,11 +665,11 @@ ZeroesToGo
|
|||||||
NoPlayerMissile
|
NoPlayerMissile
|
||||||
DoNotDrawTankNr
|
DoNotDrawTankNr
|
||||||
rts
|
rts
|
||||||
|
.endp
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc drawmountains
|
.proc drawmountains
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
|
||||||
mwa #0 xdraw
|
mwa #0 xdraw
|
||||||
mwa #mountaintable modify
|
mwa #mountaintable modify
|
||||||
mva #1 color
|
mva #1 color
|
||||||
@@ -835,6 +835,7 @@ ColumnIsReady
|
|||||||
mva #sfx_silencer sfx_effect
|
mva #sfx_silencer sfx_effect
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc calculatemountains
|
.proc calculatemountains
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
@@ -962,6 +963,7 @@ SetYofNextTank
|
|||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
; ****************************************************
|
; ****************************************************
|
||||||
|
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
.proc unPlot
|
.proc unPlot
|
||||||
; plots a point and saves the plotted byte, reverts the previous plot.
|
; plots a point and saves the plotted byte, reverts the previous plot.
|
||||||
@@ -1066,6 +1068,7 @@ SkipThisPlot
|
|||||||
EndOfUnPlot
|
EndOfUnPlot
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
.proc plot ;plot (xdraw, ydraw, color)
|
.proc plot ;plot (xdraw, ydraw, color)
|
||||||
; color == 1 --> put pixel
|
; color == 1 --> put pixel
|
||||||
@@ -1100,11 +1103,7 @@ MakePlot
|
|||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
tay ;save
|
tay ;save
|
||||||
;---
|
;---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ldx ydraw
|
ldx ydraw
|
||||||
lda linetableL,x
|
lda linetableL,x
|
||||||
sta xbyte
|
sta xbyte
|
||||||
@@ -1126,6 +1125,7 @@ ClearPlot
|
|||||||
sta (xbyte),y
|
sta (xbyte),y
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
.proc point
|
.proc point
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
@@ -1135,7 +1135,6 @@ ClearPlot
|
|||||||
; let's calculate coordinates from xdraw and ydraw
|
; let's calculate coordinates from xdraw and ydraw
|
||||||
mwa xdraw xbyte
|
mwa xdraw xbyte
|
||||||
|
|
||||||
|
|
||||||
lda xbyte
|
lda xbyte
|
||||||
and #$7
|
and #$7
|
||||||
sta ybit
|
sta ybit
|
||||||
@@ -1147,9 +1146,7 @@ ClearPlot
|
|||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
tay ;save
|
tay ;save
|
||||||
|
;---
|
||||||
;---
|
|
||||||
|
|
||||||
ldx ydraw
|
ldx ydraw
|
||||||
lda linetableL,x
|
lda linetableL,x
|
||||||
sta xbyte
|
sta xbyte
|
||||||
@@ -1163,6 +1160,7 @@ ClearPlot
|
|||||||
eor bittable,x
|
eor bittable,x
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc DrawLine
|
.proc DrawLine
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
@@ -1174,20 +1172,19 @@ ClearPlot
|
|||||||
jsr plot.MakePlot
|
jsr plot.MakePlot
|
||||||
;rts
|
;rts
|
||||||
jmp IntoDraw ; jumps inside Draw routine
|
jmp IntoDraw ; jumps inside Draw routine
|
||||||
; because one pixel is already plotted
|
; because one pixel is already plotted
|
||||||
|
|
||||||
loopdraw
|
@
|
||||||
|
lda (xbyte),y
|
||||||
lda (xbyte),y
|
and bittable2,x
|
||||||
and bittable2,x
|
sta (xbyte),y
|
||||||
sta (xbyte),y
|
|
||||||
IntoDraw
|
IntoDraw
|
||||||
adw xbyte #screenBytes
|
adw xbyte #screenBytes
|
||||||
dec tempbyte01
|
dec tempbyte01
|
||||||
bne loopdraw
|
bne @-
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;
|
|
||||||
; ------------------------------------------
|
; ------------------------------------------
|
||||||
.proc TypeChar
|
.proc TypeChar
|
||||||
; puts char on the graphics screen
|
; puts char on the graphics screen
|
||||||
@@ -1238,7 +1235,6 @@ CopyMask
|
|||||||
lsrw xbyte ; div 8
|
lsrw xbyte ; div 8
|
||||||
rorw xbyte
|
rorw xbyte
|
||||||
rorw xbyte
|
rorw xbyte
|
||||||
|
|
||||||
;---
|
;---
|
||||||
ldy xbyte
|
ldy xbyte
|
||||||
|
|
||||||
@@ -1255,46 +1251,15 @@ CopyMask
|
|||||||
ldx ybit
|
ldx ybit
|
||||||
beq MaskOK00
|
beq MaskOK00
|
||||||
MakeMask00
|
MakeMask00
|
||||||
lsr mask1
|
.rept 8
|
||||||
ror mask2
|
lsr mask1+#
|
||||||
lsr mask1+1
|
ror mask2+#
|
||||||
ror mask2+1
|
.endr
|
||||||
lsr mask1+2
|
.rept 8
|
||||||
ror mask2+2
|
sec
|
||||||
lsr mask1+3
|
ror char1+#
|
||||||
ror mask2+3
|
ror char2+#
|
||||||
lsr mask1+4
|
.endr
|
||||||
ror mask2+4
|
|
||||||
lsr mask1+5
|
|
||||||
ror mask2+5
|
|
||||||
lsr mask1+6
|
|
||||||
ror mask2+6
|
|
||||||
lsr mask1+7
|
|
||||||
ror mask2+7
|
|
||||||
sec
|
|
||||||
ror char1
|
|
||||||
ror char2
|
|
||||||
sec
|
|
||||||
ror char1+1
|
|
||||||
ror char2+1
|
|
||||||
sec
|
|
||||||
ror char1+2
|
|
||||||
ror char2+2
|
|
||||||
sec
|
|
||||||
ror char1+3
|
|
||||||
ror char2+3
|
|
||||||
sec
|
|
||||||
ror char1+4
|
|
||||||
ror char2+4
|
|
||||||
sec
|
|
||||||
ror char1+5
|
|
||||||
ror char2+5
|
|
||||||
sec
|
|
||||||
ror char1+6
|
|
||||||
ror char2+6
|
|
||||||
sec
|
|
||||||
ror char1+7
|
|
||||||
ror char2+7
|
|
||||||
dex
|
dex
|
||||||
bne MakeMask00
|
bne MakeMask00
|
||||||
MaskOK00
|
MaskOK00
|
||||||
@@ -1327,6 +1292,7 @@ CharLoopi
|
|||||||
EndPutChar
|
EndPutChar
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
; ------------------------------------------
|
; ------------------------------------------
|
||||||
.proc PutChar4x4
|
.proc PutChar4x4
|
||||||
; puts 4x4 pixels char on the graphics screen
|
; puts 4x4 pixels char on the graphics screen
|
||||||
@@ -1368,10 +1334,7 @@ CopyChar
|
|||||||
lda (fontind),y ; Y must be 0 !!!!
|
lda (fontind),y ; Y must be 0 !!!!
|
||||||
bit nibbler4x4
|
bit nibbler4x4
|
||||||
bpl GetUpper4bits
|
bpl GetUpper4bits
|
||||||
rol
|
:4 rol
|
||||||
rol
|
|
||||||
rol
|
|
||||||
rol
|
|
||||||
GetUpper4bits
|
GetUpper4bits
|
||||||
ora #$0f
|
ora #$0f
|
||||||
sta char1,x
|
sta char1,x
|
||||||
@@ -1396,7 +1359,6 @@ GetUpper4bits
|
|||||||
lsrw xbyte ; div 8
|
lsrw xbyte ; div 8
|
||||||
rorw xbyte
|
rorw xbyte
|
||||||
rorw xbyte
|
rorw xbyte
|
||||||
|
|
||||||
;---
|
;---
|
||||||
ldy xbyte
|
ldy xbyte
|
||||||
lda ydraw ; y = y - 3 because left lower.
|
lda ydraw ; y = y - 3 because left lower.
|
||||||
@@ -1412,26 +1374,15 @@ GetUpper4bits
|
|||||||
ldx ybit
|
ldx ybit
|
||||||
beq MaskOK01
|
beq MaskOK01
|
||||||
MakeMask01
|
MakeMask01
|
||||||
lsr mask1
|
.rept 4
|
||||||
ror mask2
|
lsr mask1+#
|
||||||
lsr mask1+1
|
ror mask2+#
|
||||||
ror mask2+1
|
.endr
|
||||||
lsr mask1+2
|
.rept 4
|
||||||
ror mask2+2
|
sec
|
||||||
lsr mask1+3
|
ror char1+#
|
||||||
ror mask2+3
|
ror char2+#
|
||||||
sec
|
.endr
|
||||||
ror char1
|
|
||||||
ror char2
|
|
||||||
sec
|
|
||||||
ror char1+1
|
|
||||||
ror char2+1
|
|
||||||
sec
|
|
||||||
ror char1+2
|
|
||||||
ror char2+2
|
|
||||||
sec
|
|
||||||
ror char1+3
|
|
||||||
ror char2+3
|
|
||||||
dex
|
dex
|
||||||
bne MakeMask01
|
bne MakeMask01
|
||||||
MaskOK01
|
MaskOK01
|
||||||
|
|||||||
+6
-8
@@ -474,8 +474,8 @@ missed
|
|||||||
jsr DisplayOffensiveTextNr
|
jsr DisplayOffensiveTextNr
|
||||||
|
|
||||||
NextPlayerShoots
|
NextPlayerShoots
|
||||||
mva #1 Erase
|
;mva #1 Erase
|
||||||
jsr drawtanks
|
;jsr drawtanks
|
||||||
|
|
||||||
;before it shoots, the eXistenZ table must be
|
;before it shoots, the eXistenZ table must be
|
||||||
;updated accordingly to actual energy (was forgotten, sorry to ourselves)
|
;updated accordingly to actual energy (was forgotten, sorry to ourselves)
|
||||||
@@ -514,11 +514,9 @@ B0 DEY
|
|||||||
|
|
||||||
;was setup of maximum energy for players
|
;was setup of maximum energy for players
|
||||||
|
|
||||||
mva #0 Erase
|
;mva #0 Erase
|
||||||
jsr drawtanks
|
;jsr drawtanks
|
||||||
|
|
||||||
;inc TankNr
|
|
||||||
;lda TankNr
|
|
||||||
inc:lda TankSequencePointer
|
inc:lda TankSequencePointer
|
||||||
cmp NumberOfPlayers
|
cmp NumberOfPlayers
|
||||||
bne PlayersAgain
|
bne PlayersAgain
|
||||||
@@ -1056,14 +1054,14 @@ rotateRight;older is lower
|
|||||||
bne MoveBarrelToNewPosition
|
bne MoveBarrelToNewPosition
|
||||||
|
|
||||||
mva #$30 CharCode ; if angle goes through 0 we clear the barrel
|
mva #$30 CharCode ; if angle goes through 0 we clear the barrel
|
||||||
jsr drawtankNrX
|
jsr DrawTankNr.drawtankNrX
|
||||||
|
|
||||||
jmp MoveBarrelToNewPosition
|
jmp MoveBarrelToNewPosition
|
||||||
rotateLeft
|
rotateLeft
|
||||||
dec angleTable,x
|
dec angleTable,x
|
||||||
bpl MoveBarrelToNewPosition
|
bpl MoveBarrelToNewPosition
|
||||||
mva #$2e CharCode
|
mva #$2e CharCode
|
||||||
jsr drawtankNrX
|
jsr DrawTankNr.drawtankNrX
|
||||||
|
|
||||||
jmp MoveBarrelToNewPosition
|
jmp MoveBarrelToNewPosition
|
||||||
|
|
||||||
|
|||||||
BIN
Binary file not shown.
+2
-2
@@ -1129,7 +1129,7 @@ pressedLeft
|
|||||||
cmp #$ff ; if angle goes through 0 we clear the barrel
|
cmp #$ff ; if angle goes through 0 we clear the barrel
|
||||||
bne NotThrough90DegreesLeft
|
bne NotThrough90DegreesLeft
|
||||||
mva #$2e CharCode
|
mva #$2e CharCode
|
||||||
jsr drawtankNrX
|
jsr DrawTankNr.drawtankNrX
|
||||||
NotThrough90DegreesLeft
|
NotThrough90DegreesLeft
|
||||||
cmp #(255-91)
|
cmp #(255-91)
|
||||||
jne BeforeFire
|
jne BeforeFire
|
||||||
@@ -1144,7 +1144,7 @@ pressedRight
|
|||||||
lda AngleTable,x
|
lda AngleTable,x
|
||||||
bne NotThrough90DegreesRight
|
bne NotThrough90DegreesRight
|
||||||
mva #$30 CharCode ; if angle goes through 0 we clear the barrel
|
mva #$30 CharCode ; if angle goes through 0 we clear the barrel
|
||||||
jsr drawtankNrX
|
jsr DrawTankNr.drawtankNrX
|
||||||
NotThrough90DegreesRight
|
NotThrough90DegreesRight
|
||||||
cmp #91
|
cmp #91
|
||||||
jne BeforeFire
|
jne BeforeFire
|
||||||
|
|||||||
Reference in New Issue
Block a user