mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-26 00:29:29 +00:00
wargames: fix to work in cases w/o ssi-263
This commit is contained in:
parent
868ae59e44
commit
f77b683740
|
@ -10,6 +10,7 @@
|
||||||
;=============================
|
;=============================
|
||||||
;=============================
|
;=============================
|
||||||
; A = slot of mockingboard
|
; A = slot of mockingboard
|
||||||
|
; carry set if found
|
||||||
|
|
||||||
detect_ssi263:
|
detect_ssi263:
|
||||||
and #$7
|
and #$7
|
||||||
|
@ -68,9 +69,13 @@ wait_irq:
|
||||||
bne wait_irq
|
bne wait_irq
|
||||||
inx ;
|
inx ;
|
||||||
bne wait_irq
|
bne wait_irq
|
||||||
|
sei
|
||||||
|
clc ; not found
|
||||||
|
rts
|
||||||
|
|
||||||
got_irq:
|
got_irq:
|
||||||
sei ; disable interrupts
|
sei ; disable interrupts
|
||||||
|
sec ; found
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
BIN
demos/wargames/wargames.dsk
Normal file
BIN
demos/wargames/wargames.dsk
Normal file
Binary file not shown.
|
@ -13,6 +13,7 @@ VGI_CX = P1
|
||||||
VGI_CY = P2
|
VGI_CY = P2
|
||||||
VGI_CR = P3
|
VGI_CR = P3
|
||||||
|
|
||||||
|
SSI_FOUND = $08
|
||||||
NIBCOUNT = $09
|
NIBCOUNT = $09
|
||||||
CH = $24
|
CH = $24
|
||||||
CV = $25
|
CV = $25
|
||||||
|
@ -68,6 +69,9 @@ wargames:
|
||||||
|
|
||||||
; jmp exchange ; debug
|
; jmp exchange ; debug
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta DRAW_PAGE
|
||||||
|
|
||||||
jsr HOME
|
jsr HOME
|
||||||
|
|
||||||
lda #<header
|
lda #<header
|
||||||
|
@ -288,13 +292,21 @@ done_missiles:
|
||||||
|
|
||||||
jsr HOME
|
jsr HOME
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta SSI_FOUND
|
||||||
|
|
||||||
|
|
||||||
lda #4 ; assume slot #4 for now
|
lda #4 ; assume slot #4 for now
|
||||||
jsr detect_ssi263
|
jsr detect_ssi263
|
||||||
|
bcc no_ssi
|
||||||
|
|
||||||
|
lda #1
|
||||||
|
sta SSI_FOUND
|
||||||
|
|
||||||
lda #4 ; assume slot #4 for now
|
lda #4 ; assume slot #4 for now
|
||||||
jsr ssi263_speech_init
|
jsr ssi263_speech_init
|
||||||
|
|
||||||
|
no_ssi:
|
||||||
|
|
||||||
speech_loop:
|
speech_loop:
|
||||||
|
|
||||||
|
@ -314,10 +326,7 @@ speech_loop:
|
||||||
jsr move_and_print
|
jsr move_and_print
|
||||||
|
|
||||||
; wait for it to complete
|
; wait for it to complete
|
||||||
|
jsr wait_for_ssi_done
|
||||||
wait1:
|
|
||||||
lda speech_busy
|
|
||||||
bne wait1
|
|
||||||
|
|
||||||
jsr wait_1s
|
jsr wait_1s
|
||||||
|
|
||||||
|
@ -332,9 +341,7 @@ wait1:
|
||||||
|
|
||||||
jsr move_and_print
|
jsr move_and_print
|
||||||
|
|
||||||
wait2:
|
jsr wait_for_ssi_done
|
||||||
lda speech_busy
|
|
||||||
bne wait2
|
|
||||||
|
|
||||||
jsr wait_1s
|
jsr wait_1s
|
||||||
|
|
||||||
|
@ -350,9 +357,7 @@ wait2:
|
||||||
jsr move_and_print
|
jsr move_and_print
|
||||||
jsr move_and_print
|
jsr move_and_print
|
||||||
|
|
||||||
wait3:
|
jsr wait_for_ssi_done
|
||||||
lda speech_busy
|
|
||||||
bne wait3
|
|
||||||
|
|
||||||
bit KEYRESET
|
bit KEYRESET
|
||||||
|
|
||||||
|
@ -728,3 +733,12 @@ parabolas:
|
||||||
|
|
||||||
; status grame x/x y/y dy/dy ddy/ddy destx/desty
|
; status grame x/x y/y dy/dy ddy/ddy destx/desty
|
||||||
|
|
||||||
|
wait_for_ssi_done:
|
||||||
|
lda SSI_FOUND
|
||||||
|
beq ssi_no_need
|
||||||
|
wait1:
|
||||||
|
lda speech_busy
|
||||||
|
bne wait1
|
||||||
|
|
||||||
|
ssi_no_need:
|
||||||
|
rts
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
Notes
|
||||||
|
~~~~~
|
||||||
|
Some people would like actual S.A.M. support like the original game,
|
||||||
|
but that takes 9kB! Is there room in TROGDOR for that?
|
||||||
|
|
||||||
|
|
||||||
Memory Map
|
Memory Map
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -18,7 +24,7 @@ $BC-$BF ???
|
||||||
$C0-$CF I/O
|
$C0-$CF I/O
|
||||||
$D0-$FF ROM
|
$D0-$FF ROM
|
||||||
|
|
||||||
Disk Map (disk has 35 tracks, each 4k in size)
|
Disk1 Map (disk has 35 tracks, each 4k in size)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
T 0 = Qboot
|
T 0 = Qboot
|
||||||
T 1 = QLOAD 4813 bytes 19S = 1T3S
|
T 1 = QLOAD 4813 bytes 19S = 1T3S
|
||||||
|
@ -31,6 +37,13 @@ T 19 = PEASANT2 ; 79 = 20224
|
||||||
T 24 = PEASANT3
|
T 24 = PEASANT3
|
||||||
T 29 = PEASANT4
|
T 29 = PEASANT4
|
||||||
|
|
||||||
|
Disk2 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 19 = TROGDOR 13673 bytes
|
||||||
|
T 24 = ENDING 19690 bytes 77S = 4T13S
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
238, to 280 (6)
|
238, to 280 (6)
|
||||||
50 to 135 (85) 6*85=510
|
50 to 135 (85) 6*85=510
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user