mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
143 lines
6.0 KiB
NASM
143 lines
6.0 KiB
NASM
|
|
icl '../../Atari/lib/ATARISYS.ASM'
|
|
icl '../../Atari/lib/MACRO.ASM'
|
|
|
|
.zpvar dliCounter .byte = $80
|
|
.zpvar TetryxColor .byte
|
|
|
|
org $2000
|
|
|
|
WeaponFont
|
|
ins '../weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt'
|
|
|
|
main
|
|
lda #0
|
|
sta TetryxColor
|
|
lda RANDOM
|
|
bmi TnotVisible
|
|
lda #10
|
|
sta TetryxColor
|
|
TnotVisible
|
|
ldx #3
|
|
@ lda colors,x
|
|
sta COLOR0-1,x
|
|
dex
|
|
bpl @-
|
|
mva #>WeaponFont chbas
|
|
mwa #MenuDL dlptrs
|
|
VMAIN VBLinterrupt,7 ;jsr SetVBL
|
|
SetDLI DLIinterrupt
|
|
lda #@dmactl(narrow|dma) ; narrow screen width, DL on, P/M off
|
|
sta dmactls
|
|
|
|
stop
|
|
jmp stop
|
|
|
|
;--------------------------------------------------
|
|
.proc DLIinterrupt
|
|
pha
|
|
lda dliCounter
|
|
bne SecondDLI
|
|
FirstDLI
|
|
lda #0
|
|
;sta WSYNC
|
|
sta COLPF2
|
|
beq EndOfDLI
|
|
SecondDLI
|
|
lda TetryxColor
|
|
sta COLPF1
|
|
EndOfDLI
|
|
inc dliCounter
|
|
pla
|
|
DLIinterruptNone
|
|
rti
|
|
.endp
|
|
;--------------------------------------------------
|
|
.proc VBLinterrupt
|
|
mva #0 dliCounter
|
|
jmp XITVBV
|
|
.endp
|
|
;--------------------------------------------------
|
|
.macro SetDLI
|
|
; SetDLI #WORD
|
|
; Initialises Display List Interrupts
|
|
LDY # <:1
|
|
LDX # >:1
|
|
jsr _SetDLIproc
|
|
.endm
|
|
.proc _SetDLIproc
|
|
LDA #$C0
|
|
STY VDSLST
|
|
STX VDSLST+1
|
|
STA NMIEN
|
|
rts
|
|
.endp
|
|
;--------------------------------------------------
|
|
|
|
; DL for menu
|
|
MenuDL
|
|
.byte $70,$70,$70,$70
|
|
.byte $4e
|
|
.word picData
|
|
:29 .byte $0e
|
|
.byte $70,$70+$80
|
|
.byte $47
|
|
.word MenuTitle
|
|
.byte $30,$70
|
|
.byte $42
|
|
.word MenuOptions
|
|
.byte $10,$02
|
|
.byte $10,$02
|
|
.byte $10+$80,$02
|
|
.byte $41
|
|
.word MenuDL
|
|
|
|
|
|
; Picture data (narrow screen)
|
|
picData
|
|
.byte 0 ; offset
|
|
.BYTE $00,$00,$01,$55,$15,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$15,$55,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$05,$55,$45,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$15,$55,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$05,$55,$55,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$15,$56,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$15,$7D,$55,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$15,$57,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$15,$3F,$55,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$2E,$5B,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$C0,$C7,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5B,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$F0,$3F,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5F,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$57,$C0,$3F,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5F,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$C0,$0F,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$54,$00,$00,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$70,$00,$00,$00,$D5,$5F,$54,$00,$F5,$56,$F0,$09,$55,$68,$56,$00,$15,$55,$40,$00,$55,$05,$50,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$A9,$57,$00,$00,$02,$55,$56,$54,$03,$95,$55,$7C,$09,$55,$69,$54,$00,$55,$55,$50,$00,$55,$55,$54,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$3D,$55,$80,$00,$09,$55,$55,$58,$02,$55,$55,$5F,$09,$55,$65,$5A,$05,$55,$55,$50,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$3F,$55,$50,$00,$35,$5F,$F5,$5C,$0D,$56,$E5,$5B,$09,$55,$55,$7C,$05,$5B,$E5,$5C,$00,$56,$A9,$55,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$0F,$D5,$57,$00,$15,$7F,$FD,$7C,$05,$5F,$FD,$57,$0F,$D5,$55,$FC,$15,$7F,$FE,$BC,$00,$57,$FF,$55,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$03,$F5,$55,$C0,$15,$FC,$0F,$FC,$35,$7F,$FD,$57,$00,$D5,$5F,$FC,$D5,$FC,$0F,$F0,$00,$57,$00,$D7,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$00,$FF,$55,$70,$D5,$F0,$03,$FC,$35,$70,$03,$57,$00,$D5,$7F,$00,$55,$F0,$03,$C0,$00,$5F,$00,$97,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$00,$3F,$D5,$70,$57,$C0,$00,$FC,$15,$F0,$03,$57,$00,$D5,$7C,$00,$57,$C0,$00,$00,$00,$5F,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$00,$0F,$D5,$70,$57,$C0,$00,$00,$15,$F0,$03,$57,$00,$D5,$F0,$00,$57,$C0,$00,$00,$00,$5F,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$00,$00,$F5,$70,$57,$C0,$00,$00,$15,$F0,$03,$5F,$00,$D5,$C0,$00,$57,$00,$00,$00,$00,$5F,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$00,$00,$D5,$70,$57,$C0,$00,$00,$15,$F0,$03,$5F,$00,$D5,$C0,$00,$57,$C0,$00,$00,$00,$5F,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$00,$15,$F0,$57,$C0,$00,$00,$15,$F0,$03,$5F,$00,$D5,$F0,$00,$57,$C0,$00,$00,$00,$5F,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$F0,$15,$F0,$55,$F0,$00,$00,$15,$70,$01,$5F,$00,$D5,$F0,$00,$55,$C0,$00,$00,$00,$5F,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$C0,$15,$F0,$D5,$70,$03,$70,$35,$7F,$0D,$5C,$00,$D5,$F0,$00,$D5,$40,$01,$40,$00,$57,$00,$57,$00,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$73,$D5,$F0,$FD,$5C,$0D,$5C,$3F,$57,$CD,$7C,$00,$D5,$FF,$00,$3D,$50,$01,$50,$00,$57,$00,$57,$40,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$55,$5C,$57,$F0,$3F,$57,$35,$5C,$0F,$D7,$F5,$7C,$00,$D5,$7F,$C0,$3C,$54,$05,$50,$00,$55,$00,$55,$40,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$96,$55,$5B,$F0,$3F,$95,$55,$7C,$0F,$E5,$55,$F0,$05,$55,$55,$C0,$3F,$15,$55,$7C,$15,$55,$50,$55,$54,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$5F,$D5,$5F,$C0,$0F,$E5,$55,$F0,$03,$F5,$56,$F0,$05,$5B,$A5,$C0,$0F,$E5,$56,$F0,$15,$6E,$A0,$5B,$A8,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$FF,$F5,$7F,$C0,$03,$FD,$5F,$FC,$00,$FF,$5F,$F0,$05,$7F,$FF,$C0,$03,$FD,$5F,$F0,$15,$FF,$F0,$4F,$FC,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$3F,$3F,$FF,$00,$00,$FF,$FF,$C0,$00,$3F,$FF,$C0,$04,$FF,$FF,$C0,$00,$FF,$FF,$C0,$13,$FF,$F0,$3F,$FC,$00,$00,$00,$00,$00
|
|
.BYTE $00,$00,$FF,$CF,$FC,$00,$00,$3F,$FF,$00,$00,$0F,$FF,$00,$0F,$FF,$FF,$C0,$00,$0F,$FC,$00,$0F,$FF,$F0,$FF,$FC,$00,$00,$00,$00,$00
|
|
|
|
; Color data
|
|
colors
|
|
.BYTE 0,14,10,4
|
|
|
|
MenuTitle
|
|
dta d" SELECT OPTION "
|
|
MenuOptions
|
|
dta d" E - English Manual "
|
|
dta d" P - Polska instrukcja "
|
|
dta d" G - Start Game "
|
|
dta d" T - Start Tetryx Game "
|
|
|
|
run main
|