parent
96e407d53e
commit
99610b5710
|
@ -0,0 +1,266 @@
|
|||
*
|
||||
* NTP Player
|
||||
* v1.0
|
||||
*
|
||||
* (c) 2019-2023, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
* v1.0b0 - 20190523
|
||||
* I replaced the pei $0a with lda $0a stal ptrSAVE
|
||||
* The final version will have them back to shorten code
|
||||
*
|
||||
* v1.0b1 - 20190523
|
||||
* Everything is in place, must test now
|
||||
*
|
||||
* v1.0b2 - 20190524
|
||||
* Oops, not finderSaysBeforeOpen MUST go to myREQUEST4, not 3
|
||||
* That's what happens when you modify your code from 1994 :-)
|
||||
*
|
||||
* v1.0 - 20230318
|
||||
* GS/OS string buffer is now bigger
|
||||
* We DO NOT have an icon yet
|
||||
* Some bugs fixed
|
||||
* Better lisibility of the source code
|
||||
*
|
||||
|
||||
mx %00
|
||||
rel
|
||||
typ $B6
|
||||
dsk NTPPlayer.l
|
||||
lst off
|
||||
|
||||
*----------------------------
|
||||
|
||||
use 4/Locator.Macs
|
||||
use 4/Mem.Macs
|
||||
use 4/Tool222.Macs
|
||||
use 4/Misc.Macs
|
||||
use 4/Util.Macs
|
||||
|
||||
*----------------------------
|
||||
|
||||
ntpTOOL = 222
|
||||
ntpVERSION = $0100
|
||||
ntpTYPE = $d5
|
||||
ntpAUXTYPE = $08
|
||||
|
||||
GSOS = $E100A8
|
||||
|
||||
result = $10
|
||||
reqCode = $0e
|
||||
dataIn = $0a
|
||||
dataOut = $06
|
||||
|
||||
*----------------------------
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
pha
|
||||
_MMStartUp
|
||||
pla
|
||||
ora #$0100
|
||||
sta myID
|
||||
|
||||
PushLong #myBRUTAL
|
||||
PushWord myID
|
||||
PushLong #myREQUEST
|
||||
_AcceptRequests
|
||||
|
||||
PushLong #mySTRING
|
||||
PushLong #0 ; myICON
|
||||
_ShowBootInfo
|
||||
|
||||
plb
|
||||
rtl
|
||||
|
||||
*----------------------------
|
||||
|
||||
doSRQGOAWAY ldy #2
|
||||
lda #0 ; do not remove me from memory
|
||||
sta [dataOut],y
|
||||
bra myREQUEST3
|
||||
|
||||
*----------------------------
|
||||
|
||||
myREQUEST phd
|
||||
tsc
|
||||
tcd
|
||||
lda reqCode
|
||||
cmp #3 ; srqGoAway
|
||||
beq doSRQGOAWAY ; nah, I want to stay in memory...
|
||||
cmp #$0101 ; finderSaysGoodbye
|
||||
beq doBYE
|
||||
myREQUEST2 cmp #$0104 ; finderSaysBeforeOpen
|
||||
bne myREQUEST4
|
||||
beq doOPEN
|
||||
|
||||
myREQUEST3 lda #$8000 ; call handled
|
||||
sta result
|
||||
|
||||
myREQUEST4 pld
|
||||
lda $02,s
|
||||
sta $0c,s
|
||||
lda $01,s
|
||||
sta $0b,s
|
||||
ply
|
||||
ply
|
||||
ply
|
||||
ply
|
||||
ply
|
||||
rtl
|
||||
|
||||
*----------------------------
|
||||
|
||||
doBYE ldal fgTOOL222 ; did I activate the tool?
|
||||
beq doBYE9 ; nope
|
||||
|
||||
_NTPShutDown ; yes, stop music & tool
|
||||
|
||||
PushWord #ntpTOOL ; unload it!
|
||||
_UnloadOneTool
|
||||
|
||||
doBYE9 lda #0 ; tool is off
|
||||
stal fgTOOL222
|
||||
|
||||
bra myREQUEST3 ; call handled
|
||||
|
||||
*----------------------------
|
||||
|
||||
doOPEN ldy #$0016
|
||||
lda [dataIn],y ; printFlag
|
||||
beq doOPEN2 ; 0 for open
|
||||
doOPEN1 bra myREQUEST4
|
||||
|
||||
doOPEN2 ldy #$000a ; is it a NTP file?
|
||||
lda [$0a],y
|
||||
cmp #ntpTYPE
|
||||
bne doOPEN1
|
||||
iny
|
||||
iny
|
||||
lda [dataIn],y
|
||||
cmp #ntpAUXTYPE
|
||||
bne doOPEN1
|
||||
|
||||
*--- Is tool in memory?
|
||||
|
||||
ldal fgTOOL222
|
||||
bne doOPEN3 ; yes
|
||||
|
||||
PushWord #ntpTOOL
|
||||
PushWord #ntpVERSION
|
||||
_LoadOneTool
|
||||
bcs doOPEN1
|
||||
|
||||
lda #1
|
||||
stal fgTOOL222
|
||||
|
||||
ldal myID
|
||||
pha
|
||||
_NTPStartUp
|
||||
|
||||
*--- Now, copy the GS/OS (STRL) pathname, we need a STR
|
||||
|
||||
doOPEN3 lda dataIn ; save dataIn ptr
|
||||
stal ptrSAVE
|
||||
lda dataIn+2
|
||||
stal ptrSAVE+2
|
||||
|
||||
ldy #2 ; pathPtr
|
||||
lda [dataIn],y
|
||||
tax
|
||||
iny
|
||||
iny
|
||||
lda [dataIn],y
|
||||
sta dataIn+2
|
||||
stx dataIn
|
||||
|
||||
ldy #768-2 ; copy path
|
||||
]lp tyx
|
||||
lda [dataIn],y
|
||||
stal pathSONG,x
|
||||
dey
|
||||
dey
|
||||
bpl ]lp
|
||||
|
||||
ldal pathSONG ; from STRL to STR
|
||||
xba ; if path is long...
|
||||
stal pathSONG ; ...ahem
|
||||
|
||||
ldal ptrSAVE+2
|
||||
sta dataIn+2
|
||||
ldal ptrSAVE
|
||||
sta dataIn
|
||||
|
||||
*--- Now, play the song
|
||||
|
||||
PushLong #pathSONG2
|
||||
_NTPLoadOneMusic
|
||||
bcc doOPEN4
|
||||
brl myREQUEST4 ; error
|
||||
|
||||
doOPEN4 PushWord #0 ; no loop
|
||||
_NTPPlayMusic
|
||||
brl myREQUEST3 ; muzak is playing!
|
||||
|
||||
*----------------------------
|
||||
|
||||
fgTOOL222 ds 2 ; <>0 if tool in mem
|
||||
myID ds 2 ; memID
|
||||
|
||||
ptrSAVE ds 4 ; save dataIn ptr
|
||||
pathSONG ds 1 ; STRL from GS/OS
|
||||
pathSONG2 ds 768 ; STR to the NTP tool
|
||||
|
||||
*----------------------------
|
||||
|
||||
myBRUTAL str 'BrutalDeluxe~NTPPlayer~'
|
||||
|
||||
mySTRING asc 'NTPPlayer v01.00 by Brutal Deluxe'00
|
||||
|
||||
*myICON dw $0080 ; Icon type
|
||||
* dw $00C8 ; Icon size
|
||||
* dw $0014 ; Icon height
|
||||
* dw $0014 ; Icon width
|
||||
* hex 33333333333333333333 ; Icon image
|
||||
* hex 3AAAAAAAAAAAAAAAAA83
|
||||
* hex 3A88888888888888A883
|
||||
* hex 3A8888888888888AA883
|
||||
* hex 3A8811111111111AA883
|
||||
* hex 3A88111111111FFAA883
|
||||
* hex 3A8811FFFF11111AA883
|
||||
* hex 3A88111111111FFAA883
|
||||
* hex 3A881FFFF111FFFAA883
|
||||
* hex 3A8811111111111AA883
|
||||
* hex 3A88EE1111EE111AA883
|
||||
* hex 3A886EEEEE6EEEEAA883
|
||||
* hex 3A8864EE666666EAA883
|
||||
* hex 3A88644EEEEE644AA883
|
||||
* hex 3A886646EE64466AA883
|
||||
* hex 3A88AAAAAAAAAAAAA883
|
||||
* hex 3A8AAAAAAAAAAAAAA883
|
||||
* hex 3AA88888888888888883
|
||||
* hex 3A888888888888888883
|
||||
* hex 33333333333333333333
|
||||
* hex FFFFFFFFFFFFFFFFFFFF ; Icon mask
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
* hex FFFFFFFFFFFFFFFFFFFF
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 124 KiB |
Loading…
Reference in New Issue