Now splash screen works on classic Atari 800 :)

This commit is contained in:
Pecusx
2022-08-12 15:23:23 +02:00
parent 224588eaa9
commit cee53fd257
3 changed files with 24 additions and 46 deletions
+23 -45
View File
@@ -28,7 +28,7 @@ WIDTH = 40
HEIGHT = 30 HEIGHT = 30
; --- BASIC switch OFF ; --- BASIC switch OFF
org $2000\ mva #$ff portb\ rts\ ini $2000 ;org $2000\ mva #$ff portb\ rts\ ini $2000
; --- MAIN PROGRAM ; --- MAIN PROGRAM
org $2000 org $2000
@@ -211,6 +211,7 @@ main
; ;sta $a300,x ; ;sta $a300,x
; inx ; inx
; bne @- ; bne @-
; --- init PMG ; --- init PMG
ift USESPRITES ift USESPRITES
@@ -223,16 +224,18 @@ main
sei ;stop IRQ interrupts sei ;stop IRQ interrupts
mva #$00 nmien ;stop NMI interrupts mva #$00 nmien ;stop NMI interrupts
sta dmactl sta dmactl
mva #$fe portb ;switch off ROM to get 16k more ram ;mva #$fe portb ;switch off ROM to get 16k more ram
mwa #NMI $fffa ;new NMI handler ;mwa #NMI $fffa ;new NMI handler
VMAIN NMI.vbl,6 ;jsr SetVBL
VDLI DLI.dli_start
mva #1 vscrol mva #1 vscrol
mva #$c0 nmien ;switch on NMI+DLI again mva #$c0 nmien ;switch on NMI+DLI again
ift CHANGES ;if label CHANGES defined
_lp lda trig0 ; FIRE #0 _lp lda trig0 ; FIRE #0
beq stop beq stop
@@ -247,27 +250,26 @@ _lp lda trig0 ; FIRE #0
and #$04 and #$04
bne _lp ;wait to press any key; here you can put any own routine bne _lp ;wait to press any key; here you can put any own routine
els
null jmp DLI.dli1 ;CPU is busy here, so no more routines allowed
eif
stop stop
cli
vmain sysvbv,6
mva #$00 pmcntl ;PMG disabled mva #$00 pmcntl ;PMG disabled
tax tax
sta:rne hposp0,x+ sta:rne hposp0,x+
mva #$ff portb ;ROM switch on ;mva #$ff portb ;ROM switch on
mva #$40 nmien ;only NMI interrupts, DLI disabled mva #$40 nmien ;only NMI interrupts, DLI disabled
cli ;IRQ enabled ;cli ;IRQ enabled
lda #0 lda #0
ldx #8 ldx #8
@ sta POKEY,x @ sta POKEY,x
dex dex
bpl @- bpl @-
;no glitching please (issue #67) ;no glitching please (issue #67)
lda #0 lda #0
@@ -281,32 +283,6 @@ stop
?old_dli = * ?old_dli = *
ift !CHANGES
dli1 lda trig0 ; FIRE #0
beq stop
lda trig1 ; FIRE #1
beq stop
lda consol ; START
and #1
beq stop
lda skctl
and #$04
beq stop
lda vcount
cmp #$02
bne dli1
:3 sta wsync
DLINEW dli13
eif
dli_start dli_start
dli13 dli13
@@ -680,6 +656,8 @@ FADECHR = 0
SCHR = 127 SCHR = 127
dliv = $0200
; --- ; ---
.proc NMI .proc NMI
@@ -688,14 +666,14 @@ SCHR = 127
bpl VBL bpl VBL
jmp DLI.dli_start jmp DLI.dli_start
dliv equ *-2
VBL VBL
sta regA sta regA
stx regX stx regX
sty regY sty regY
sta nmist ;reset NMI flag ;sta nmist ;reset NMI flag
mwa #ant dlptr ;ANTIC address program mwa #ant dlptr ;ANTIC address program
@@ -763,7 +741,7 @@ quit
lda regA lda regA
ldx regX ldx regX
ldy regY ldy regY
rti jmp sysvbv
.endp .endp
@@ -864,9 +842,9 @@ player3
USESPRITES = 1 USESPRITES = 1
.MACRO DLINEW .MACRO DLINEW
mva <:1 NMI.dliv mva <:1 dliv
ift [>?old_dli]<>[>:1] ift [>?old_dli]<>[>:1]
mva >:1 NMI.dliv+1 mva >:1 dliv+1
eif eif
ift :2 ift :2
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -254,7 +254,7 @@ OptionsYLoop
ManualPurchase ManualPurchase
jsr Purchase jsr Purchase
ldx escFlag bit escFlag
spl:rts spl:rts
AfterManualPurchase AfterManualPurchase