mirror of
https://github.com/ksherlock/morse-gs.git
synced 2025-01-13 12:31:29 +00:00
paly message from command-line
This commit is contained in:
parent
f8f7fd9a47
commit
85bf488bd1
234
morse.s
234
morse.s
@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
lst off
|
||||||
rel
|
rel
|
||||||
xc
|
xc
|
||||||
xc
|
xc
|
||||||
@ -6,6 +7,8 @@
|
|||||||
|
|
||||||
tbx on
|
tbx on
|
||||||
|
|
||||||
|
border_color equ 0
|
||||||
|
|
||||||
SoundCtrl equ $e0c03c
|
SoundCtrl equ $e0c03c
|
||||||
SoundData equ $e0c03d
|
SoundData equ $e0c03d
|
||||||
SoundAddr equ $e0c03e ; and $3f
|
SoundAddr equ $e0c03e ; and $3f
|
||||||
@ -49,6 +52,7 @@ main
|
|||||||
phk
|
phk
|
||||||
plb
|
plb
|
||||||
|
|
||||||
|
jsr cmdline
|
||||||
|
|
||||||
jsr init
|
jsr init
|
||||||
jsr start
|
jsr start
|
||||||
@ -69,6 +73,73 @@ main
|
|||||||
lda #0
|
lda #0
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
cmdline
|
||||||
|
]ptr equ 0
|
||||||
|
]c equ 4
|
||||||
|
|
||||||
|
mx %00
|
||||||
|
; x:y is command line ptr.
|
||||||
|
sty 0
|
||||||
|
stx 2
|
||||||
|
stz ]c
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
]loop lda :default,x
|
||||||
|
sta _buffer,x
|
||||||
|
beq :eod
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
bra ]loop
|
||||||
|
:eod
|
||||||
|
|
||||||
|
lda 0
|
||||||
|
ora 2
|
||||||
|
beq :eof2
|
||||||
|
|
||||||
|
* skip past first word of command line.
|
||||||
|
sep $20
|
||||||
|
ldy #8
|
||||||
|
]loop lda [0],y
|
||||||
|
beq :eof2
|
||||||
|
iny
|
||||||
|
cmp #' '+1
|
||||||
|
bcs ]loop
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
]loop lda [0],y
|
||||||
|
beq :eof
|
||||||
|
iny
|
||||||
|
and #$7f
|
||||||
|
phx
|
||||||
|
tax
|
||||||
|
bit valid,x
|
||||||
|
plx
|
||||||
|
bvc :inval
|
||||||
|
sta _buffer,x
|
||||||
|
inx
|
||||||
|
stz ]c
|
||||||
|
bra ]loop
|
||||||
|
:inval
|
||||||
|
lda ]c
|
||||||
|
bne ]loop
|
||||||
|
lda #' '
|
||||||
|
sta _buffer,x
|
||||||
|
inx
|
||||||
|
inc ]c
|
||||||
|
bra ]loop
|
||||||
|
|
||||||
|
|
||||||
|
:eof
|
||||||
|
stz _buffer,x
|
||||||
|
:eof2
|
||||||
|
rep $20
|
||||||
|
rts
|
||||||
|
|
||||||
|
:default asc 'SOS',00,00,00
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
start
|
start
|
||||||
mx %00
|
mx %00
|
||||||
|
|
||||||
@ -123,6 +194,15 @@ shutdown
|
|||||||
psw #$b
|
psw #$b
|
||||||
psl old_irq
|
psl old_irq
|
||||||
_SetVector
|
_SetVector
|
||||||
|
|
||||||
|
if border_color
|
||||||
|
sep $20
|
||||||
|
lda >$e0c034
|
||||||
|
and #$f0
|
||||||
|
ora old_border
|
||||||
|
sta >$e0c034
|
||||||
|
rep $20
|
||||||
|
fin
|
||||||
rts
|
rts
|
||||||
|
|
||||||
stop
|
stop
|
||||||
@ -176,6 +256,12 @@ sound_irq
|
|||||||
stx _on
|
stx _on
|
||||||
jsr setvolume
|
jsr setvolume
|
||||||
|
|
||||||
|
if border_color
|
||||||
|
lda >$e0c034 ; white border
|
||||||
|
ora #$0f
|
||||||
|
sta >$e0c034
|
||||||
|
fin
|
||||||
|
|
||||||
:trigger1 ; osc 5 interrupt on
|
:trigger1 ; osc 5 interrupt on
|
||||||
lda #$a0+timer_1
|
lda #$a0+timer_1
|
||||||
sta >SoundAddr
|
sta >SoundAddr
|
||||||
@ -188,6 +274,12 @@ sound_irq
|
|||||||
stz _on
|
stz _on
|
||||||
ldx #0
|
ldx #0
|
||||||
jsr setvolume
|
jsr setvolume
|
||||||
|
if border_color
|
||||||
|
lda >$e0c034 ; black border
|
||||||
|
and #$f0
|
||||||
|
sta >$e0c034
|
||||||
|
fin
|
||||||
|
|
||||||
* check for advance...
|
* check for advance...
|
||||||
lda _template
|
lda _template
|
||||||
bne :trigger1
|
bne :trigger1
|
||||||
@ -271,6 +363,12 @@ init
|
|||||||
|
|
||||||
sep $30
|
sep $30
|
||||||
|
|
||||||
|
if border_color
|
||||||
|
lda >$e0c034
|
||||||
|
and #$0f
|
||||||
|
sta old_border
|
||||||
|
fin
|
||||||
|
|
||||||
docmode
|
docmode
|
||||||
|
|
||||||
|
|
||||||
@ -601,17 +699,147 @@ table
|
|||||||
adrl %00000000000000000000000000000000
|
adrl %00000000000000000000000000000000
|
||||||
adrl %00000000000000000000000000000000
|
adrl %00000000000000000000000000000000
|
||||||
|
|
||||||
|
valid
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $40 ; ! ..--.
|
||||||
|
db $40 ; " .-..-.
|
||||||
|
db $40 ; # .-...
|
||||||
|
db $40 ; $ ...-..-
|
||||||
|
db $40 ; % -...-.-
|
||||||
|
db $40 ; & ...-.-
|
||||||
|
db $40 ; ' .----.
|
||||||
|
db $40 ; ( -.--.
|
||||||
|
db $40 ; ) -.--.-
|
||||||
|
db $40 ; * ...-.
|
||||||
|
db $40 ; + .-.-.
|
||||||
|
db $40 ; , --..--
|
||||||
|
db $40 ; - -....-
|
||||||
|
db $40 ; . .-.-.-
|
||||||
|
db $40 ; / -..-.
|
||||||
|
db $40 ; 0 -----
|
||||||
|
db $40 ; 1 .----
|
||||||
|
db $40 ; 2 ..---
|
||||||
|
db $40 ; 3 ...--
|
||||||
|
db $40 ; 4 ....-
|
||||||
|
db $40 ; 5 .....
|
||||||
|
db $40 ; 6 -....
|
||||||
|
db $40 ; 7 --...
|
||||||
|
db $40 ; 8 ---..
|
||||||
|
db $40 ; 9 ----.
|
||||||
|
db $40 ; : ---...
|
||||||
|
db $40 ; ; -.-.-.
|
||||||
|
db $00
|
||||||
|
db $40 ; = -...-
|
||||||
|
db $00
|
||||||
|
db $40 ; ? ..--..
|
||||||
|
db $40 ; @ .--.-.
|
||||||
|
db $40 ; A .-
|
||||||
|
db $40 ; B -...
|
||||||
|
db $40 ; C -.-.
|
||||||
|
db $40 ; D -..
|
||||||
|
db $40 ; E .
|
||||||
|
db $40 ; F ..-.
|
||||||
|
db $40 ; G --.
|
||||||
|
db $40 ; H ....
|
||||||
|
db $40 ; I ..
|
||||||
|
db $40 ; J .---
|
||||||
|
db $40 ; K -.-
|
||||||
|
db $40 ; L .-..
|
||||||
|
db $40 ; M --
|
||||||
|
db $40 ; N -.
|
||||||
|
db $40 ; O ---
|
||||||
|
db $40 ; P .--.
|
||||||
|
db $40 ; Q --.-
|
||||||
|
db $40 ; R .-.
|
||||||
|
db $40 ; S ...
|
||||||
|
db $40 ; T -
|
||||||
|
db $40 ; U ..-
|
||||||
|
db $40 ; V ...-
|
||||||
|
db $40 ; W .--
|
||||||
|
db $40 ; X -..-
|
||||||
|
db $40 ; Y -.--
|
||||||
|
db $40 ; Z --..
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $40 ; _ ..--.-
|
||||||
|
db $00
|
||||||
|
db $40 ; a .-
|
||||||
|
db $40 ; b -...
|
||||||
|
db $40 ; c -.-.
|
||||||
|
db $40 ; d -..
|
||||||
|
db $40 ; e .
|
||||||
|
db $40 ; f ..-.
|
||||||
|
db $40 ; g --.
|
||||||
|
db $40 ; h ....
|
||||||
|
db $40 ; i ..
|
||||||
|
db $40 ; j .---
|
||||||
|
db $40 ; k -.-
|
||||||
|
db $40 ; l .-..
|
||||||
|
db $40 ; m --
|
||||||
|
db $40 ; n -.
|
||||||
|
db $40 ; o ---
|
||||||
|
db $40 ; p .--.
|
||||||
|
db $40 ; q --.-
|
||||||
|
db $40 ; r .-.
|
||||||
|
db $40 ; s ...
|
||||||
|
db $40 ; t -
|
||||||
|
db $40 ; u ..-
|
||||||
|
db $40 ; v ...-
|
||||||
|
db $40 ; w .--
|
||||||
|
db $40 ; x -..-
|
||||||
|
db $40 ; y -.--
|
||||||
|
db $40 ; z --..
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
db $00
|
||||||
|
|
||||||
old_irq ds 4
|
old_irq ds 4
|
||||||
|
old_border ds 2
|
||||||
quit ds 2
|
quit ds 2
|
||||||
_active ds 2
|
_active ds 2
|
||||||
_template ds 4
|
_template ds 4
|
||||||
_on ds 2
|
_on ds 2
|
||||||
_index ds 2
|
_index ds 2
|
||||||
*_buffer ds 256
|
_buffer ds 256
|
||||||
_buffer asc 'SOS SOS SOS',00
|
*_buffer asc 'Apple 2 forever',00
|
||||||
|
|
||||||
sav morse.l
|
sav morse.l
|
||||||
lst on
|
* lst on
|
||||||
sym
|
sym
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user