Compare commits
13 Commits
release_129
..
140
| Author | SHA1 | Date | |
|---|---|---|---|
| 68bf4a9541 | |||
| 08f7680563 | |||
| d766088b66 | |||
| de5bfab2a8 | |||
| 91b39e736b | |||
| 572bee982a | |||
| b37dc73f52 | |||
| 11ddf69de9 | |||
| 0ba4594712 | |||
| 8556dfe0d7 | |||
| 860d0917ad | |||
| 2de2c24373 | |||
| a6382c5dc0 |
@@ -46,7 +46,16 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin
|
|||||||
|
|
||||||
## Changes:
|
## Changes:
|
||||||
|
|
||||||
###### Build 138
|
###### Build 140
|
||||||
|
2022-05-15
|
||||||
|
Huge internal changes by @Pecusx. The whole game screen has been inverted - ground is now background color, "sky" and empty areas are in fact pixels. This allowed for introducing better tank colorization, fully devised and lead by Adam. The process started and results are already promising - the colors of tanks and the status bar are closer. We might get even better ones in the next builds.
|
||||||
|
- few new sfx added (end of round, weapon change, soil eating weapons)
|
||||||
|
- added colors to tank name and level selection screen
|
||||||
|
- Bug https://github.com/pkali/scorch_src/issues/57 possibly alleviated by using TRIG0S instead of TRIG0. Please test - it did not show for me.
|
||||||
|
Other unlisted minor bugs and typos fixed.
|
||||||
|
"Nightly" version moved to `develop` branch. `master` will be updated with stablish and playablish builds only.
|
||||||
|
|
||||||
|
###### Build 139
|
||||||
2022-05-09
|
2022-05-09
|
||||||
The post midnight release with great, heavy new features:
|
The post midnight release with great, heavy new features:
|
||||||
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to Miker we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to Miker we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
icl '../lib/atari.hea'
|
||||||
|
|
||||||
|
org $2000
|
||||||
|
joytest
|
||||||
|
mva #0 dmactls
|
||||||
|
|
||||||
|
@
|
||||||
|
lda trig0
|
||||||
|
beq pressed
|
||||||
|
mva #0 colbak
|
||||||
|
beq @-
|
||||||
|
pressed
|
||||||
|
lda #$0f
|
||||||
|
;ora jstick0
|
||||||
|
sta colbak
|
||||||
|
jmp @-
|
||||||
|
|
||||||
|
run joytest
|
||||||
|
|
||||||
Binary file not shown.
+8
-3
@@ -5,7 +5,14 @@
|
|||||||
;===================================================================================
|
;===================================================================================
|
||||||
;==========================CONSTANT TABLES, do not erase!===========================
|
;==========================CONSTANT TABLES, do not erase!===========================
|
||||||
;===================================================================================
|
;===================================================================================
|
||||||
TankColoursTable .BYTE $52,$32,$72,$92,$B2,$02
|
TankColoursTable .BYTE $88,$cc,$38,$1c,$6a,$02
|
||||||
|
TankStatusColoursTable .BYTE $80,$c0,$30,$10,$60,$00
|
||||||
|
dliColorsBack
|
||||||
|
:10 .by $02,$00
|
||||||
|
dliColorsFore
|
||||||
|
.by $0a
|
||||||
|
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
||||||
|
TextForegroundColor = $0c
|
||||||
CashOptionL ;(one zero less than on the screen)
|
CashOptionL ;(one zero less than on the screen)
|
||||||
.by 0,<200,<500,<800,<1000
|
.by 0,<200,<500,<800,<1000
|
||||||
CashOptionH
|
CashOptionH
|
||||||
@@ -989,7 +996,5 @@ scrcodes
|
|||||||
dta d"qrstuvwx"
|
dta d"qrstuvwx"
|
||||||
dta d"yz123456"
|
dta d"yz123456"
|
||||||
dta d"7890." ; "-"
|
dta d"7890." ; "-"
|
||||||
dliColors
|
|
||||||
:10 .by $02,$00
|
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|||||||
+28
-28
@@ -78,31 +78,31 @@ price______________63 = $ffff
|
|||||||
;--------------------------------
|
;--------------------------------
|
||||||
; names of RMT instruments (sfx)
|
; names of RMT instruments (sfx)
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
sfx_set_power_1 = $00
|
sfx_set_power_1 = $00 ;A
|
||||||
sfx_set_power_2 = $01
|
sfx_set_power_2 = $01 ;b
|
||||||
sfx_lightning = $02
|
sfx_lightning = $02 ;c
|
||||||
sfx_dunno = $03
|
sfx_dunno = $03 ;d
|
||||||
sfx_nuke = $04
|
sfx_nuke = $04 ;e
|
||||||
sfx_baby_missile= $05
|
sfx_baby_missile= $05 ;f
|
||||||
sfx_death_begin = $06
|
sfx_death_begin = $06 ;g
|
||||||
sfx_plasma_1_2 = $07
|
sfx_plasma_1_2 = $07 ;h
|
||||||
sfx_plasma_2_2 = $08
|
sfx_plasma_2_2 = $08 ;i
|
||||||
sfx_napalm = $09
|
sfx_napalm = $09 ;j
|
||||||
sfx_dirt_charge = $0a
|
sfx_dirt_charge = $0a ;k
|
||||||
sfx_missile_hit = $0b
|
sfx_missile_hit = $0b ;l
|
||||||
sfx_funky_hit = $0c
|
sfx_funky_hit = $0c ;m
|
||||||
sfx_shield_on = $0d
|
sfx_shield_on = $0d ;n
|
||||||
sfx_shield_off = $0e
|
sfx_shield_off = $0e ;o
|
||||||
sfx_parachute = $0f
|
sfx_parachute = $0f ;p
|
||||||
sfx_smoke_cloud = $10
|
sfx_smoke_cloud = $10 ;q
|
||||||
sfx_riot_blast = $11
|
sfx_riot_blast = $11 ;r
|
||||||
sfx_sandhog = $12
|
sfx_sandhog = $12 ;s
|
||||||
sfx_dirt_chrg_s = $13
|
sfx_dirt_chrg_s = $13 ;t
|
||||||
sfx_digger = $14
|
sfx_digger = $14 ;u
|
||||||
sfx_silencer = $15
|
sfx_silencer = $15 ;v
|
||||||
sfx_next_player = $16
|
sfx_next_player = $16 ;w
|
||||||
sfx_purchase = $17
|
sfx_purchase = $17 ;x
|
||||||
sfx_keyclick = $18
|
sfx_keyclick = $18 ;y
|
||||||
sfx_shoot = $19
|
sfx_shoot = $19 ;z
|
||||||
sfx_seppuku = $1a
|
sfx_seppuku = $1a ;1
|
||||||
sfx_liquid_dirt = $1b
|
sfx_liquid_dirt = $1b ;2
|
||||||
|
|||||||
+4
-4
@@ -40,8 +40,8 @@ NameDL
|
|||||||
.byte $42
|
.byte $42
|
||||||
.word NameScreen
|
.word NameScreen
|
||||||
.byte $30
|
.byte $30
|
||||||
.byte $02,$30,$2
|
.byte $02,$30+$80,$02
|
||||||
.byte $10,2,2,2,$30,2,2
|
.byte $10,$02,$02,$02,$30,$02,$02
|
||||||
.byte $41
|
.byte $41
|
||||||
.word NameDL
|
.word NameDL
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
@@ -142,7 +142,7 @@ WeaponsDescription
|
|||||||
EmptyLine
|
EmptyLine
|
||||||
dta d" "
|
dta d" "
|
||||||
LastLine
|
LastLine
|
||||||
:40 dta $ff
|
:40 dta $00 ; INVERSE
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
||||||
NameScreen
|
NameScreen
|
||||||
@@ -154,7 +154,7 @@ NameAdr
|
|||||||
dta d" "
|
dta d" "
|
||||||
NamesOfLevels
|
NamesOfLevels
|
||||||
dta d" HUMAN Moron Shooter "
|
dta d" HUMAN Moron Shooter "
|
||||||
dta d" Poolshark Toosser Chooser "
|
dta d" Poolshark Tosser Chooser "
|
||||||
dta d" Spoiler Cyborg Unknown "
|
dta d" Spoiler Cyborg Unknown "
|
||||||
dta d" "
|
dta d" "
|
||||||
dta d"Tab"*
|
dta d"Tab"*
|
||||||
|
|||||||
+40
-32
@@ -441,8 +441,8 @@ splot8 .proc
|
|||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
clearscreen .proc
|
clearscreen .proc
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
lda #0
|
lda #$ff ; INVERSE
|
||||||
tax
|
ldx #0
|
||||||
@
|
@
|
||||||
:31 sta display+($100*#),x
|
:31 sta display+($100*#),x
|
||||||
sta display+$1e50,x ; this is so no space outside of the screen is cleared
|
sta display+$1e50,x ; this is so no space outside of the screen is cleared
|
||||||
@@ -676,7 +676,7 @@ drawmountains .proc
|
|||||||
|
|
||||||
mwa #0 xdraw
|
mwa #0 xdraw
|
||||||
mwa #mountaintable modify
|
mwa #mountaintable modify
|
||||||
|
mva #1 color
|
||||||
|
|
||||||
drawmountainsloop
|
drawmountainsloop
|
||||||
ldy #0
|
ldy #0
|
||||||
@@ -1021,7 +1021,7 @@ MakeUnPlot
|
|||||||
|
|
||||||
|
|
||||||
lda color
|
lda color
|
||||||
beq ClearUnPlot
|
bne ClearUnPlot ; INVERSE
|
||||||
|
|
||||||
;plotting here
|
;plotting here
|
||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
@@ -1033,7 +1033,7 @@ ClearUnPlot
|
|||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
sta OldOraTemp
|
sta OldOraTemp
|
||||||
and bittable2,x
|
and bittable2,x
|
||||||
; sta (xbyte),y
|
sta (xbyte),y
|
||||||
ContinueUnPlot
|
ContinueUnPlot
|
||||||
ldx WhichUnPlot
|
ldx WhichUnPlot
|
||||||
lda OldOraTemp
|
lda OldOraTemp
|
||||||
@@ -1115,7 +1115,7 @@ MakePlot
|
|||||||
|
|
||||||
ldx ybit
|
ldx ybit
|
||||||
lda color
|
lda color
|
||||||
beq ClearPlot
|
bne ClearPlot ; INVERSE
|
||||||
|
|
||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
ora bittable,x
|
ora bittable,x
|
||||||
@@ -1163,6 +1163,7 @@ point .proc
|
|||||||
|
|
||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
and bittable,x
|
and bittable,x
|
||||||
|
eor bittable,x ; INVERSE
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
@@ -1174,7 +1175,7 @@ DrawLine .proc
|
|||||||
sec
|
sec
|
||||||
sbc ydraw
|
sbc ydraw
|
||||||
sta tempbyte01
|
sta tempbyte01
|
||||||
jsr plot
|
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
|
||||||
@@ -1183,7 +1184,8 @@ DrawLine .proc
|
|||||||
loopdraw
|
loopdraw
|
||||||
|
|
||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
ora bittable,x
|
;ora bittable,x
|
||||||
|
and bittable2,x ; INVERSE
|
||||||
sta (xbyte),y
|
sta (xbyte),y
|
||||||
IntoDraw adw xbyte #screenBytes
|
IntoDraw adw xbyte #screenBytes
|
||||||
|
|
||||||
@@ -1214,8 +1216,9 @@ TypeChar .proc
|
|||||||
ldy #7
|
ldy #7
|
||||||
CopyChar
|
CopyChar
|
||||||
lda (fontind),y
|
lda (fontind),y
|
||||||
|
eor #$ff ; INVERSE
|
||||||
sta char1,y
|
sta char1,y
|
||||||
lda #$00
|
lda #$ff ; INVERSE
|
||||||
sta char2,y
|
sta char2,y
|
||||||
dey
|
dey
|
||||||
bpl CopyChar
|
bpl CopyChar
|
||||||
@@ -1224,8 +1227,9 @@ CopyChar
|
|||||||
ldy #7
|
ldy #7
|
||||||
CopyMask
|
CopyMask
|
||||||
lda (fontind),y
|
lda (fontind),y
|
||||||
|
eor #$ff ; INVERSE
|
||||||
sta mask1,y
|
sta mask1,y
|
||||||
lda #$ff
|
lda #$00 ; INVERSE
|
||||||
sta mask2,y
|
sta mask2,y
|
||||||
dey
|
dey
|
||||||
bpl CopyMask
|
bpl CopyMask
|
||||||
@@ -1257,44 +1261,44 @@ CopyMask
|
|||||||
ldx ybit
|
ldx ybit
|
||||||
beq MaskOK00
|
beq MaskOK00
|
||||||
MakeMask00
|
MakeMask00
|
||||||
sec
|
lsr mask1 ; INVERSE
|
||||||
ror mask1
|
|
||||||
ror mask2
|
ror mask2
|
||||||
sec
|
lsr mask1+1 ; INVERSE
|
||||||
ror mask1+1
|
|
||||||
ror mask2+1
|
ror mask2+1
|
||||||
sec
|
lsr mask1+2 ; INVERSE
|
||||||
ror mask1+2
|
|
||||||
ror mask2+2
|
ror mask2+2
|
||||||
sec
|
lsr mask1+3 ; INVERSE
|
||||||
ror mask1+3
|
|
||||||
ror mask2+3
|
ror mask2+3
|
||||||
sec
|
lsr mask1+4 ; INVERSE
|
||||||
ror mask1+4
|
|
||||||
ror mask2+4
|
ror mask2+4
|
||||||
sec
|
lsr mask1+5 ; INVERSE
|
||||||
ror mask1+5
|
|
||||||
ror mask2+5
|
ror mask2+5
|
||||||
sec
|
lsr mask1+6 ; INVERSE
|
||||||
ror mask1+6
|
|
||||||
ror mask2+6
|
ror mask2+6
|
||||||
sec
|
lsr mask1+7 ; INVERSE
|
||||||
ror mask1+7
|
|
||||||
ror mask2+7
|
ror mask2+7
|
||||||
lsr char1
|
sec ; INVERSE
|
||||||
|
ror char1
|
||||||
ror char2
|
ror char2
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+1
|
ror char1+1
|
||||||
ror char2+1
|
ror char2+1
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+2
|
ror char1+2
|
||||||
ror char2+2
|
ror char2+2
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+3
|
ror char1+3
|
||||||
ror char2+3
|
ror char2+3
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+4
|
ror char1+4
|
||||||
ror char2+4
|
ror char2+4
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+5
|
ror char1+5
|
||||||
ror char2+5
|
ror char2+5
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+6
|
ror char1+6
|
||||||
ror char2+6
|
ror char2+6
|
||||||
|
sec ; INVERSE
|
||||||
ror char1+7
|
ror char1+7
|
||||||
ror char2+7
|
ror char2+7
|
||||||
dex
|
dex
|
||||||
@@ -1303,7 +1307,7 @@ MaskOK00
|
|||||||
; here x=0
|
; here x=0
|
||||||
lda Erase
|
lda Erase
|
||||||
beq CharLoopi ; it works, because x=0
|
beq CharLoopi ; it works, because x=0
|
||||||
lda #0
|
lda #$ff ; INVERSE
|
||||||
ldx #7
|
ldx #7
|
||||||
EmptyChar
|
EmptyChar
|
||||||
sta char1,x
|
sta char1,x
|
||||||
@@ -1313,13 +1317,17 @@ EmptyChar
|
|||||||
ldx #0
|
ldx #0
|
||||||
CharLoopi
|
CharLoopi
|
||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
and mask1,x
|
;and mask1,x
|
||||||
ora char1,x
|
;ora char1,x
|
||||||
|
ora mask1,x ; INVERSE
|
||||||
|
and char1,x ; INVERSE
|
||||||
sta (xbyte),y
|
sta (xbyte),y
|
||||||
iny
|
iny
|
||||||
lda (xbyte),y
|
lda (xbyte),y
|
||||||
and mask2,x
|
;and mask2,x
|
||||||
ora char2,x
|
;ora char2,x
|
||||||
|
ora mask2,x ; INVERSE
|
||||||
|
and char2,x ; INVERSE
|
||||||
sta (xbyte),y
|
sta (xbyte),y
|
||||||
dey
|
dey
|
||||||
adw xbyte #screenBytes
|
adw xbyte #screenBytes
|
||||||
|
|||||||
+44
-22
@@ -3,7 +3,7 @@
|
|||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
|
;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
|
||||||
;Warsaw 2000,2001,2002,2003,2009,2012,2013
|
;Warsaw 2000,2001,2002,2003,2009,2012,2013
|
||||||
;Miami 2022
|
;Miami&Warsaw 2022
|
||||||
;you can contact us at pecus@poczta.fm or pirx@5oft.pl
|
;you can contact us at pecus@poczta.fm or pirx@5oft.pl
|
||||||
;home page of this project is https://github.com/pkali/scorch_src
|
;home page of this project is https://github.com/pkali/scorch_src
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
;we decided it must go in 'English' to let other people work on it
|
;we decided it must go in 'English' to let other people work on it
|
||||||
|
|
||||||
.macro build
|
.macro build
|
||||||
dta d"139" ; number of this build (3 bytes)
|
dta d"140" ; number of this build (3 bytes)
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
icl 'definitions.asm'
|
icl 'definitions.asm'
|
||||||
@@ -116,7 +116,6 @@ START
|
|||||||
|
|
||||||
; Startup sequence
|
; Startup sequence
|
||||||
jsr Initialize
|
jsr Initialize
|
||||||
VMAIN VBLinterrupt,6 ; jsr SetVBL
|
|
||||||
|
|
||||||
mwa #OptionsDL dlptrs
|
mwa #OptionsDL dlptrs
|
||||||
lda dmactls
|
lda dmactls
|
||||||
@@ -124,6 +123,8 @@ START
|
|||||||
ora #$02 ; normal screen width
|
ora #$02 ; normal screen width
|
||||||
sta dmactls
|
sta dmactls
|
||||||
|
|
||||||
|
VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs
|
||||||
|
|
||||||
jsr Options ;startup screen
|
jsr Options ;startup screen
|
||||||
|
|
||||||
;entering names of players
|
;entering names of players
|
||||||
@@ -132,10 +133,13 @@ START
|
|||||||
and #$fc
|
and #$fc
|
||||||
ora #$01 ; narrow screen (32 chars)
|
ora #$01 ; narrow screen (32 chars)
|
||||||
sta dmactls
|
sta dmactls
|
||||||
|
VDLI DLIinterruptText ; jsr SetDLI for text (names) screen
|
||||||
|
|
||||||
mva #0 TankNr
|
mva #0 TankNr
|
||||||
|
@ tax
|
||||||
@ jsr EnterPlayerName
|
lda TankStatusColoursTable,x
|
||||||
|
sta colpf2s ; set color of player name line
|
||||||
|
jsr EnterPlayerName
|
||||||
inc TankNr
|
inc TankNr
|
||||||
lda TankNr
|
lda TankNr
|
||||||
cmp NumberOfPlayers
|
cmp NumberOfPlayers
|
||||||
@@ -151,10 +155,12 @@ START
|
|||||||
; for the round #1 shooting sequence is random
|
; for the round #1 shooting sequence is random
|
||||||
|
|
||||||
MainGameLoop
|
MainGameLoop
|
||||||
VDLI DLIinterrupt ; jsr SetDLI
|
VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen
|
||||||
|
|
||||||
jsr CallPurchaseForEveryTank
|
jsr CallPurchaseForEveryTank
|
||||||
|
|
||||||
|
VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen
|
||||||
|
|
||||||
mwa #dl dlptrs
|
mwa #dl dlptrs
|
||||||
lda dmactls
|
lda dmactls
|
||||||
and #$fc
|
and #$fc
|
||||||
@@ -395,7 +401,7 @@ DoNotFinishTheRound
|
|||||||
|
|
||||||
mva #1 color ;to display flying point
|
mva #1 color ;to display flying point
|
||||||
|
|
||||||
lda TankColoursTable,x
|
lda TankStatusColoursTable,x
|
||||||
sta colpf2s ; set color of status line
|
sta colpf2s ; set color of status line
|
||||||
|
|
||||||
lda SkillTable,x
|
lda SkillTable,x
|
||||||
@@ -784,8 +790,8 @@ deletePtr = temp
|
|||||||
jsr WeaponCleanup
|
jsr WeaponCleanup
|
||||||
|
|
||||||
|
|
||||||
mva #$2 colpf2s
|
mva #TextBackgroundColor colpf2s
|
||||||
mva #12 colpf3s
|
mva #TextForegroundColor colpf3s
|
||||||
mva #>WeaponFont chbas
|
mva #>WeaponFont chbas
|
||||||
|
|
||||||
;parameter for old plot (unPlot) max 5 points
|
;parameter for old plot (unPlot) max 5 points
|
||||||
@@ -797,6 +803,7 @@ SetunPlots
|
|||||||
sta oldplotH,x
|
sta oldplotH,x
|
||||||
lda #0
|
lda #0
|
||||||
sta oldply,x
|
sta oldply,x
|
||||||
|
lda #$ff ; INVERSE
|
||||||
sta oldora,x
|
sta oldora,x
|
||||||
dex
|
dex
|
||||||
bpl SetunPlots
|
bpl SetunPlots
|
||||||
@@ -818,16 +825,16 @@ SetunPlots
|
|||||||
lda #$10 ; P/M priorities (bit 4 joins missiles)
|
lda #$10 ; P/M priorities (bit 4 joins missiles)
|
||||||
sta gtictls
|
sta gtictls
|
||||||
jsr PMoutofScreen
|
jsr PMoutofScreen
|
||||||
lda #$50 ; temporary colours of sprites under tanks
|
lda TankColoursTable ; temporary colours of sprites under tanks
|
||||||
sta $2c0
|
sta $2c0
|
||||||
lda #$30
|
lda TankColoursTable+1
|
||||||
sta $2c1
|
sta $2c1
|
||||||
lda #$70
|
lda TankColoursTable+2
|
||||||
sta $2c2
|
sta $2c2
|
||||||
lda #$90
|
lda TankColoursTable+3
|
||||||
sta $2c3
|
sta $2c3
|
||||||
LDA #$B0
|
LDA TankColoursTable+4
|
||||||
STA COLPF3S
|
STA COLPF3S ; joined missiles (5th tank)
|
||||||
mva #0 hscrol
|
mva #0 hscrol
|
||||||
|
|
||||||
|
|
||||||
@@ -862,24 +869,39 @@ ClearResults
|
|||||||
lda #0 ;starting song line 0-255 to A reg
|
lda #0 ;starting song line 0-255 to A reg
|
||||||
jsr RASTERMUSICTRACKER ;Init
|
jsr RASTERMUSICTRACKER ;Init
|
||||||
;
|
;
|
||||||
|
VMAIN VBLinterrupt,6 ;jsr SetVBL
|
||||||
|
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
DLIinterrupt .proc
|
DLIinterruptGraph .proc
|
||||||
pha
|
pha
|
||||||
phy
|
phy
|
||||||
ldy dliCounter
|
ldy dliCounter
|
||||||
lda dliColors,y
|
lda dliColorsBack,y
|
||||||
;lda #$02 ; color of playground
|
ldy dliColorsFore
|
||||||
sta WSYNC
|
nop
|
||||||
sta COLPF2
|
nop
|
||||||
|
nop
|
||||||
|
; sta WSYNC
|
||||||
|
sta COLPF1
|
||||||
|
sty COLPF2
|
||||||
inc dliCounter
|
inc dliCounter
|
||||||
ply
|
ply
|
||||||
pla
|
pla
|
||||||
rti
|
rti
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
|
DLIinterruptText .proc
|
||||||
|
pha
|
||||||
|
sta WSYNC
|
||||||
|
mva #TextBackgroundColor colpf2
|
||||||
|
mva #TextForegroundColor colpf3
|
||||||
|
pla
|
||||||
|
DLIinterruptNone
|
||||||
|
rti
|
||||||
|
.endp
|
||||||
|
|
||||||
VBLinterrupt .proc
|
VBLinterrupt .proc
|
||||||
pha
|
pha
|
||||||
phx
|
phx
|
||||||
@@ -1168,7 +1190,7 @@ checkJoyGetKey
|
|||||||
rts
|
rts
|
||||||
notpressedJoyGetKey
|
notpressedJoyGetKey
|
||||||
;fire
|
;fire
|
||||||
lda TRIG0
|
lda TRIG0S
|
||||||
bne @-
|
bne @-
|
||||||
lda #$0c ;Return key
|
lda #$0c ;Return key
|
||||||
rts
|
rts
|
||||||
@@ -1188,7 +1210,7 @@ WaitForKeyRelease .proc
|
|||||||
and #$0f
|
and #$0f
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
bne WaitForKeyRelease
|
bne WaitForKeyRelease
|
||||||
lda TRIG0
|
lda TRIG0S
|
||||||
beq WaitForKeyRelease
|
beq WaitForKeyRelease
|
||||||
lda SKSTAT
|
lda SKSTAT
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
|
|||||||
BIN
Binary file not shown.
+3
-1
@@ -228,7 +228,7 @@ AfterManualPurchase
|
|||||||
jsr PMoutofScreen
|
jsr PMoutofScreen
|
||||||
|
|
||||||
ldx tankNr
|
ldx tankNr
|
||||||
lda TankColoursTable,x
|
lda TankStatusColoursTable,x
|
||||||
sta colpf2s
|
sta colpf2s
|
||||||
|
|
||||||
; we are clearing list of the weapons
|
; we are clearing list of the weapons
|
||||||
@@ -1394,6 +1394,8 @@ EndOfTypeLine4x4
|
|||||||
;displays results of the round
|
;displays results of the round
|
||||||
;using 4x4 font
|
;using 4x4 font
|
||||||
|
|
||||||
|
mva #sfx_smoke_cloud sfx_effect
|
||||||
|
|
||||||
;centering the result screen
|
;centering the result screen
|
||||||
mwa #((ScreenWidth/2)-(8*4)) ResultX
|
mwa #((ScreenWidth/2)-(8*4)) ResultX
|
||||||
mva #((ScreenHeight/2)-(8*4)) ResultY
|
mva #((ScreenHeight/2)-(8*4)) ResultY
|
||||||
|
|||||||
+3
-3
@@ -15,7 +15,7 @@ TanksNames ; DO NOT ZERO - ticket #24
|
|||||||
:6 dta d" "
|
:6 dta d" "
|
||||||
;----------------------------
|
;----------------------------
|
||||||
;Options DO NOT ZERO - ticket #27
|
;Options DO NOT ZERO - ticket #27
|
||||||
OptionsTable .by 0,0,2,2,0,1,4
|
OptionsTable .by 0,0,2,2,0,1,3
|
||||||
RoundsInTheGame .by 10 ;how many rounds in the current game
|
RoundsInTheGame .by 10 ;how many rounds in the current game
|
||||||
seppukuVal .by 75
|
seppukuVal .by 75
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
@@ -43,7 +43,7 @@ flyDelay .ds 1
|
|||||||
;--------------
|
;--------------
|
||||||
NumberOfPlayers .DS 1 ;current number of players (counted from 1)
|
NumberOfPlayers .DS 1 ;current number of players (counted from 1)
|
||||||
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
|
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
|
||||||
GameIsOver .DS 1 ; 1 - it was the last round in the game
|
GameIsOver .DS 1 ; 1 means it was the last round in the game
|
||||||
;-----------------------------------
|
;-----------------------------------
|
||||||
moneyH ;we place zero at the end of prices and money
|
moneyH ;we place zero at the end of prices and money
|
||||||
;and have range from 0 to 99990 (not too much)
|
;and have range from 0 to 99990 (not too much)
|
||||||
@@ -152,7 +152,7 @@ digtabyL .DS [8]
|
|||||||
digtabyH .DS [8]
|
digtabyH .DS [8]
|
||||||
; liquiddirt
|
; liquiddirt
|
||||||
TempXfill .ds 2
|
TempXfill .ds 2
|
||||||
FillCounter .ds 1
|
FillCounter .ds 2
|
||||||
;sandhog
|
;sandhog
|
||||||
sandhogflag .DS 1 ; (0 digger, 8 sandhog)
|
sandhogflag .DS 1 ; (0 digger, 8 sandhog)
|
||||||
;ofdirt
|
;ofdirt
|
||||||
|
|||||||
+21
-15
@@ -523,6 +523,12 @@ DiggerCharacter
|
|||||||
jmp cleanDirt
|
jmp cleanDirt
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
|
.proc liquiddirt
|
||||||
|
mva #sfx_liquid_dirt sfx_effect
|
||||||
|
mwa #254 FillCounter
|
||||||
|
jmp xliquiddirt
|
||||||
|
.endp
|
||||||
|
; ------------------------
|
||||||
.proc laser
|
.proc laser
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
lda AngleTable,x
|
lda AngleTable,x
|
||||||
@@ -686,6 +692,7 @@ dirtLoop
|
|||||||
; -----------------
|
; -----------------
|
||||||
.proc xriotbomb ;
|
.proc xriotbomb ;
|
||||||
; -----------------
|
; -----------------
|
||||||
|
mva #sfx_riot_blast sfx_effect
|
||||||
lda #0
|
lda #0
|
||||||
sta radius
|
sta radius
|
||||||
sta color
|
sta color
|
||||||
@@ -746,13 +753,13 @@ UpNotYet
|
|||||||
beq HowMuchToFallRight2
|
beq HowMuchToFallRight2
|
||||||
.nowarn dew xdraw
|
.nowarn dew xdraw
|
||||||
lda xdraw
|
lda xdraw
|
||||||
bne RollinContinues
|
bne RollinContinues ; like cpw xdraw #0
|
||||||
lda xdraw+1
|
lda xdraw+1
|
||||||
jne RollinContinues
|
jne RollinContinues
|
||||||
beq ExplodeNow
|
beq ExplodeNow
|
||||||
HowMuchToFallRight2
|
HowMuchToFallRight2
|
||||||
inw xdraw
|
inw xdraw
|
||||||
cpw xdraw screenwidth
|
cpw xdraw #screenwidth
|
||||||
jne RollinContinues
|
jne RollinContinues
|
||||||
ExplodeNow
|
ExplodeNow
|
||||||
mwa xdraw xcircle ; we must store somewhere (BAD)
|
mwa xdraw xcircle ; we must store somewhere (BAD)
|
||||||
@@ -890,17 +897,15 @@ EndOfTheDirt
|
|||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
; ----------------
|
; ----------------
|
||||||
.proc liquiddirt ;
|
.proc xliquiddirt ;
|
||||||
mva #sfx_liquid_dirt sfx_effect
|
|
||||||
mva xdraw TempXfill
|
mva xdraw TempXfill
|
||||||
mva #254 FillCounter
|
|
||||||
RepeatFill
|
RepeatFill
|
||||||
mva TempXfill xdraw
|
mva TempXfill xdraw
|
||||||
jsr checkRollDirection
|
jsr checkRollDirection
|
||||||
; HowMuchToFall - direction
|
; HowMuchToFall - direction
|
||||||
; $FF - we are in a hole (flying in missile direction)
|
; $FF - we are in a hole (flying in missile direction)
|
||||||
; 1 - right, 2 - left
|
; 1 - right, 2 - left
|
||||||
adw xdraw #mountaintable tempXROLLER
|
adw xdraw #mountaintable tempXROLLER
|
||||||
ldy #0
|
ldy #0
|
||||||
lda (tempXROLLER),y
|
lda (tempXROLLER),y
|
||||||
sta HeightRol ; relative point
|
sta HeightRol ; relative point
|
||||||
@@ -911,7 +916,6 @@ RollinContinuesLiquid
|
|||||||
ldy #0
|
ldy #0
|
||||||
lda (tempXROLLER),y
|
lda (tempXROLLER),y
|
||||||
sta ydraw
|
sta ydraw
|
||||||
beq FillNow
|
|
||||||
cmp HeightRol
|
cmp HeightRol
|
||||||
beq UpNotYet2
|
beq UpNotYet2
|
||||||
bcc FillNow
|
bcc FillNow
|
||||||
@@ -924,14 +928,12 @@ UpNotYet2
|
|||||||
cmp #1
|
cmp #1
|
||||||
beq HowMuchToFallRight3
|
beq HowMuchToFallRight3
|
||||||
.NOWARN dew xdraw
|
.NOWARN dew xdraw
|
||||||
lda xdraw
|
cpw xdraw #$ffff
|
||||||
bne RollinContinuesLiquid
|
|
||||||
lda xdraw+1
|
|
||||||
jne RollinContinuesLiquid
|
jne RollinContinuesLiquid
|
||||||
beq FillNow
|
beq FillNow
|
||||||
HowMuchToFallRight3
|
HowMuchToFallRight3
|
||||||
inw xdraw
|
inw xdraw
|
||||||
cpw xdraw screenwidth
|
cpw xdraw #(screenwidth+1)
|
||||||
jne RollinContinuesLiquid
|
jne RollinContinuesLiquid
|
||||||
FillNow
|
FillNow
|
||||||
; finally one pixel more
|
; finally one pixel more
|
||||||
@@ -948,12 +950,15 @@ FillHole
|
|||||||
adw xdraw #mountaintable tempXROLLER
|
adw xdraw #mountaintable tempXROLLER
|
||||||
lda (tempXROLLER),y
|
lda (tempXROLLER),y
|
||||||
sta ydraw
|
sta ydraw
|
||||||
|
beq ToHighFill ; if we filled all playfield (very rare but possible)
|
||||||
dec ydraw ; one pixel up
|
dec ydraw ; one pixel up
|
||||||
|
ToHighFill
|
||||||
lda ydraw
|
lda ydraw
|
||||||
sta (tempXROLLER),y ;mountaintable update
|
sta (tempXROLLER),y ;mountaintable update
|
||||||
mva #1 color
|
mva #1 color
|
||||||
jsr plot
|
jsr plot.MakePlot
|
||||||
dec FillCounter
|
.nowarn dew FillCounter
|
||||||
|
cpw FillCounter #0
|
||||||
jne RepeatFill
|
jne RepeatFill
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
@@ -1001,7 +1006,7 @@ ContinueToCheckMaxForce2
|
|||||||
; $f3 - shift+key
|
; $f3 - shift+key
|
||||||
|
|
||||||
notpressed
|
notpressed
|
||||||
lda TRIG0
|
lda TRIG0S
|
||||||
beq notpressed
|
beq notpressed
|
||||||
lda SKSTAT
|
lda SKSTAT
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
@@ -1046,7 +1051,7 @@ checkJoy
|
|||||||
jmp jumpFromStick
|
jmp jumpFromStick
|
||||||
notpressedJoy
|
notpressedJoy
|
||||||
;fire
|
;fire
|
||||||
lda TRIG0
|
lda TRIG0S
|
||||||
jeq pressedSpace
|
jeq pressedSpace
|
||||||
jmp notpressed
|
jmp notpressed
|
||||||
|
|
||||||
@@ -1149,6 +1154,7 @@ NotThrough90DegreesRight
|
|||||||
jmp BeforeFire
|
jmp BeforeFire
|
||||||
|
|
||||||
pressedTAB
|
pressedTAB
|
||||||
|
mva #sfx_purchase sfx_effect
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
inc ActiveWeapon,x
|
inc ActiveWeapon,x
|
||||||
lda ActiveWeapon,x
|
lda ActiveWeapon,x
|
||||||
|
|||||||
Reference in New Issue
Block a user