mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-30 04:36:32 +00:00
on continue
This commit is contained in:
parent
5db5afe5df
commit
dd57b9cadf
Binary file not shown.
98
billpalmer/fr/solution.txt
Normal file
98
billpalmer/fr/solution.txt
Normal file
@ -0,0 +1,98 @@
|
||||
Solution Bill Palmer
|
||||
|
||||
Main sur le capot de la voiture bleue
|
||||
Îil sur le moteur de la voiture
|
||||
Sud
|
||||
Sud
|
||||
Main sur la poubelle ˆ c™tŽ du vieillard
|
||||
Prendre la laitue
|
||||
Main sur la bo”te aux lettres
|
||||
Prendre le journal
|
||||
Main sur la poignŽe de porte
|
||||
Main sur les livres en haut de lÕŽtag<61>re
|
||||
Prendre le manuel
|
||||
Main sur la poche de la veste
|
||||
Prendre la carte de crŽdit
|
||||
Nord
|
||||
Main sur cadenas du coffre
|
||||
Prendre la souris mŽcanique
|
||||
Prendre la machette
|
||||
Main sur le coin en bas du coffre
|
||||
Prendre le passeport
|
||||
Sud
|
||||
Sud
|
||||
Sud
|
||||
Nord
|
||||
Main sur la bo”te ˆ gants
|
||||
Prendre le briquet
|
||||
Main sur la clŽ de contact
|
||||
Nord
|
||||
Main sur la carte de crŽdit de Bill
|
||||
Prendre le billet
|
||||
Main sur le billet de Bill
|
||||
Main sur le passeport de Bill
|
||||
Est
|
||||
Sud
|
||||
Nord
|
||||
Main sur le livre de Bill
|
||||
Main sur la laitue de Bill
|
||||
Ouest
|
||||
Nord
|
||||
Main sur le signal dÕalarme
|
||||
Main sur la fen<65>tre
|
||||
Ouest
|
||||
Ouest
|
||||
Ouest
|
||||
Main sur la souris mŽcanique de Bill
|
||||
Main sur la machette de Bill
|
||||
Prendre les brindilles
|
||||
Est
|
||||
Nord
|
||||
Main sur les rochers
|
||||
Nord
|
||||
Main sur la grosse pierre
|
||||
Sud
|
||||
Sud
|
||||
Main sur lÕhomme mort
|
||||
Prendre la photographie
|
||||
Main sur les rochers
|
||||
Nord
|
||||
Ouest
|
||||
Main sur la photographie de Bill
|
||||
Nord
|
||||
Ouest
|
||||
Poser les brindilles
|
||||
Main sur le briquet de Bill
|
||||
Est
|
||||
Est
|
||||
Îil sur la serrure
|
||||
Îil sur la serrure
|
||||
Îil sur la serrure
|
||||
Îil sur la serrure
|
||||
Nord
|
||||
Main sur la porte
|
||||
Main sur le premier tiroir de lÕarmoire
|
||||
Prendre lÕappeau
|
||||
Main sur le troisi<73>me tiroir de lÕarmoire
|
||||
Prendre la mitraillette
|
||||
Ouest
|
||||
Sud
|
||||
Sud
|
||||
Nord
|
||||
Bouche sur lÕappeau de Bill
|
||||
Main
|
||||
Main sur la mitraillette de Bill
|
||||
Nord
|
||||
Main sur la pointe du drapeau bleu
|
||||
Main sur la main droite de Bill
|
||||
Main sur lÕinterrupteur
|
||||
Ouest
|
||||
Main sur le premier tiroir
|
||||
Prendre le pistolet
|
||||
Bouche le micro
|
||||
Main sur le pistolet
|
||||
Prendre le fŽtiche
|
||||
Main sur le bouton bleu
|
||||
Main sur le bouton marron
|
||||
Main
|
||||
Main
|
BIN
dlld/dlld.2mg
BIN
dlld/dlld.2mg
Binary file not shown.
@ -1 +1,2 @@
|
||||
dlld2=Type(06),AuxType(2000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||
dlld3=Type(06),AuxType(2000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||
|
BIN
dlld/source/dlld3
Normal file
BIN
dlld/source/dlld3
Normal file
Binary file not shown.
478
dlld/source/dlld3.s
Normal file
478
dlld/source/dlld3.s
Normal file
@ -0,0 +1,478 @@
|
||||
*
|
||||
* DLLD
|
||||
* Let's play Dragon's Lair :-)
|
||||
*
|
||||
* (c) 2024, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %11
|
||||
org $2000
|
||||
lst off
|
||||
|
||||
use 4/Int.Macs
|
||||
use 4/Misc.Macs
|
||||
use 4/Util.Macs
|
||||
|
||||
*-----------------------------------
|
||||
* MACROS
|
||||
*-----------------------------------
|
||||
|
||||
_sendSTRING mac
|
||||
ldx #>]1
|
||||
ldy #<]1
|
||||
jsr sendString
|
||||
eom
|
||||
|
||||
*-----------------------------------
|
||||
* EQUATES
|
||||
*-----------------------------------
|
||||
|
||||
frameIN = 323
|
||||
frameOUT = 1359
|
||||
|
||||
SLOT = 2
|
||||
N0 = SLOT*16
|
||||
CN = SLOT!$C0
|
||||
|
||||
chrRETURN = $0d
|
||||
|
||||
dpFROM = $fc
|
||||
dpTO = dpFROM+2
|
||||
|
||||
*----------
|
||||
|
||||
CH = $24
|
||||
|
||||
KBD = $c000
|
||||
CLR80VID = $c00c
|
||||
KBDSTROBE = $c010
|
||||
|
||||
INIT = $FB2F
|
||||
TABV = $FB5B
|
||||
HOME = $FC58
|
||||
WAIT = $FCA8
|
||||
PRBYTE = $FDDA
|
||||
COUT = $FDED
|
||||
SETNORM = $FE84
|
||||
SETKBD = $FE89
|
||||
|
||||
*-----------------------------------
|
||||
* CODE
|
||||
*-----------------------------------
|
||||
|
||||
bra jumpME
|
||||
|
||||
theFRAME ds 2
|
||||
|
||||
jumpME sta CLR80VID
|
||||
jsr INIT ; text screen
|
||||
jsr SETNORM ; set normal text mode
|
||||
jsr SETKBD ; reset input to keyboard
|
||||
jsr HOME ; home cursor and clear to end of page
|
||||
|
||||
clc
|
||||
xce
|
||||
rep #$30
|
||||
lda #frameIN
|
||||
sta theFRAME
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
|
||||
jsr initSERIAL ; set the serial addresses
|
||||
jsr initPORT ; init the serial port for LD support
|
||||
|
||||
*----------
|
||||
ldx #>strDS ; on veut la frame number
|
||||
ldy #<strDS
|
||||
jsr sendLDCommand
|
||||
|
||||
ldx #>strSA ; start the player
|
||||
ldy #<strSA
|
||||
jsr sendLDCommand
|
||||
|
||||
jsr setINT
|
||||
|
||||
]lp lda KBD ; wait for a key
|
||||
bpl ]lp
|
||||
bit KBDSTROBE
|
||||
|
||||
*----------
|
||||
|
||||
mainLOOP ldx #>strSE ; Move to frame and wait for R
|
||||
ldy #<strSE
|
||||
jsr sendLDCommand2
|
||||
|
||||
ldx #>strPL ; Play and wait for R
|
||||
ldy #<strPL
|
||||
jsr sendLDCommand2
|
||||
|
||||
jsr startINT
|
||||
|
||||
*----------
|
||||
|
||||
]lp sec
|
||||
xce
|
||||
sep #$30
|
||||
|
||||
lda #0
|
||||
sta CH
|
||||
jsr TABV
|
||||
|
||||
lda theFRAME+1
|
||||
jsr PRBYTE
|
||||
lda theFRAME
|
||||
jsr PRBYTE
|
||||
|
||||
lda KBD ; wait for a key
|
||||
bmi theEND
|
||||
|
||||
clc
|
||||
xce
|
||||
rep #$30
|
||||
lda theFRAME
|
||||
cmp #frameOUT
|
||||
bcc ]lp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
ldx #>strPA ; Pause and return
|
||||
ldy #<strPA
|
||||
jsr sendLDCommand
|
||||
bra mainLOOP
|
||||
|
||||
theEND bit KBDSTROBE
|
||||
|
||||
jsr stopINT
|
||||
jsr unsetINT
|
||||
|
||||
*----------
|
||||
|
||||
ldx #>strRJ ; It's the end!
|
||||
ldy #<strRJ
|
||||
jsr sendLDCommand
|
||||
rts
|
||||
|
||||
*--- Data
|
||||
|
||||
strDS asc '1DS'00 ; display frame number
|
||||
strCO asc 'CO'00 ; close the door
|
||||
strSA asc 'SA'00 ; start player
|
||||
strRJ asc 'RJ'00 ; stop the player
|
||||
strPA asc 'PA'00 ; pause the player (blue screen)
|
||||
strST asc 'ST'00 ; pause the player (still image)
|
||||
strQF asc '?F'00 ; which frame are we on?
|
||||
|
||||
strSE asc 'FR00323SE'00 ; set frame...
|
||||
strPL asc 'PL'00 ; play only
|
||||
strPL2 asc 'FR01359PL'00 ; play to frame...
|
||||
|
||||
*-----------------------------------
|
||||
* INTERRUPT
|
||||
*-----------------------------------
|
||||
|
||||
setINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
php
|
||||
sei
|
||||
PushLong #theINT
|
||||
_SetHeartBeat
|
||||
plp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
unsetINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
php
|
||||
sei
|
||||
PushLong #theINT
|
||||
_DelHeartBeat
|
||||
plp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
theINT ds 4
|
||||
dw 2
|
||||
dw $a55A
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
rep #$30
|
||||
|
||||
lda #2
|
||||
sta theINT+4
|
||||
|
||||
inc theFRAME
|
||||
|
||||
sep #$30
|
||||
plb
|
||||
clc
|
||||
rtl
|
||||
|
||||
*----------
|
||||
|
||||
startINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
PushWord #2
|
||||
_IntSource
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
stopINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
PushWord #3
|
||||
_IntSource
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* SERIAL PORT (MODEM)
|
||||
*-----------------------------------
|
||||
|
||||
*---------- Set all addressses
|
||||
|
||||
initSERIAL
|
||||
lda $c20d
|
||||
sta doinit+1
|
||||
lda $c20e
|
||||
sta doread+1
|
||||
lda $c20f
|
||||
sta dowrite+1
|
||||
lda $c210
|
||||
sta dostatus+1
|
||||
rts
|
||||
|
||||
doinit jmp $c20d
|
||||
doread jmp $c20e
|
||||
dowrite jmp $c20f
|
||||
dostatus jmp $c210
|
||||
|
||||
*---------- Init modem port for LD support
|
||||
|
||||
initPORT ldx #CN
|
||||
ldy #N0
|
||||
jsr doinit
|
||||
|
||||
_sendSTRING #strED ; Don't echo output
|
||||
_sendSTRING #strBE ; Input buffering: on
|
||||
_sendSTRING #str12B ; Baud rate: 4800 BPS
|
||||
_sendSTRING #str0D ; Data/Stop bits: 8/1
|
||||
_sendSTRING #str0P ; Parity: none
|
||||
_sendSTRING #str0N ; Line length: 0
|
||||
_sendSTRING #strAD ; Do not implement basic tabs
|
||||
_sendSTRING #strCD ; Disable line formatting
|
||||
_sendSTRING #strXD ; Ignore XOFF
|
||||
_sendSTRING #strFD ; Disable keyboard input
|
||||
_sendSTRING #strLD ; Do not add line feeds after CR
|
||||
_sendSTRING #strME ; Mask line feed in
|
||||
_sendSTRING #strZ ; Suppress control characters
|
||||
jsr checkInputReady
|
||||
rts
|
||||
|
||||
*---------- Check the input is ready
|
||||
|
||||
checkInputReady
|
||||
ldx #8
|
||||
ldy #0
|
||||
|
||||
]lp phx
|
||||
phy
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
lda #1
|
||||
jsr dostatus
|
||||
bcs checkIR1
|
||||
|
||||
ply
|
||||
plx
|
||||
dey
|
||||
bne ]lp
|
||||
dex
|
||||
bne ]lp
|
||||
|
||||
sec
|
||||
rts
|
||||
checkIR1 ply
|
||||
plx
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Check the output is ready
|
||||
|
||||
checkOutputReady
|
||||
ldx #8
|
||||
ldy #0
|
||||
|
||||
]lp phx
|
||||
phy
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
lda #0
|
||||
jsr dostatus
|
||||
bcs checkOR1
|
||||
|
||||
ply
|
||||
plx
|
||||
dey
|
||||
bne ]lp
|
||||
dex
|
||||
bne ]lp
|
||||
|
||||
sec
|
||||
rts
|
||||
checkOR1 ply
|
||||
plx
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Send a LD command
|
||||
|
||||
sendLDCommand
|
||||
jsr sendString
|
||||
bcs sendLDError
|
||||
jmp receiveString
|
||||
sendLDError rts
|
||||
|
||||
*---------- Send a LD command & wait for an answer
|
||||
|
||||
sendLDCommand2
|
||||
stz responseBUF
|
||||
jsr sendString
|
||||
* bcs sendLDError2
|
||||
]lp jsr receiveString
|
||||
lda responseBUF
|
||||
cmp #'R'
|
||||
bne ]lp
|
||||
rts
|
||||
|
||||
*---------- Send a string
|
||||
|
||||
sendString
|
||||
sty dpFROM
|
||||
stx dpFROM+1
|
||||
|
||||
]lp lda (dpFROM)
|
||||
beq sendCRS1 ; end of string?
|
||||
jsr sendCharacter
|
||||
bcs sendError ; error!
|
||||
|
||||
inc dpFROM
|
||||
bne ]lp
|
||||
inc dpFROM+1
|
||||
bne ]lp
|
||||
|
||||
sendCRS1 lda #chrRETURN ; yes, add a final CR
|
||||
jsr sendCharacter
|
||||
|
||||
sendError rts
|
||||
|
||||
*---------- Send serial character
|
||||
|
||||
sendCharacter
|
||||
pha
|
||||
|
||||
]lp jsr checkOutputReady
|
||||
bcc sensSC1
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
|
||||
sensSC1 pla
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
jsr dowrite
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Receive string
|
||||
|
||||
receiveString
|
||||
ldy #<responseBUF
|
||||
sty dpTO
|
||||
ldx #>responseBUF
|
||||
stx dpTO+1
|
||||
|
||||
ldy #0
|
||||
receiveSTR1 phy
|
||||
]lp jsr checkInputReady
|
||||
bcs receiveSTR9
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
jsr doread
|
||||
cpx #0
|
||||
bne receiveSTR9
|
||||
|
||||
ply
|
||||
sta (dpTO),y
|
||||
cmp #chrRETURN
|
||||
beq receiveSTR8
|
||||
iny
|
||||
bne receiveSTR1
|
||||
receiveSTR8 clc
|
||||
rts
|
||||
receiveSTR9 ply
|
||||
sec
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* DATA
|
||||
*-----------------------------------
|
||||
|
||||
*---------- Serial data
|
||||
|
||||
strED asc 01'ED'00 ; *Don't echo output
|
||||
strBE asc 01'BE'00 ; *Input buffering: on
|
||||
str12B asc 01'12B'00 ; *Baud rate: 4800 BPS
|
||||
str0D asc 01'0D'00 ; *Data/Stop bits: 8/1
|
||||
str0P asc 01'0P'00 ; *Parity: none
|
||||
str0N asc 01'0N'00 ; Line length: 0
|
||||
strAD asc 01'AD'00 ; *Do not implement basic tabs
|
||||
strCD asc 01'CD'00 ; *Disable line formatting
|
||||
strXD asc 01'XD'00 ; *Ignore XOFF
|
||||
strFD asc 01'FD'00 ; *Disable keyboard input
|
||||
strLD asc 01'LD'00 ; Do not add line feeds after CR
|
||||
strME asc 01'ME'00 ; Mask line feed in
|
||||
strZ asc 01'Z'00 ; *Suppress control characters
|
||||
|
||||
*---------- Laserdisc
|
||||
|
||||
ds \
|
||||
|
||||
responseBUF ds 256 ; LD player response
|
||||
|
||||
*-----------------------------------
|
||||
* END OF CODE
|
||||
*-----------------------------------
|
||||
|
626
dlld/source/dlld3_Output.txt
Normal file
626
dlld/source/dlld3_Output.txt
Normal file
@ -0,0 +1,626 @@
|
||||
------+-------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
||||
Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code
|
||||
------+-------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
||||
1 | 1 dlld3.s 1 | Comment | 11 | | 0 | 00/8000 | *
|
||||
2 | 1 dlld3.s 2 | Comment | 11 | | 0 | 00/8000 | * DLLD
|
||||
3 | 1 dlld3.s 3 | Comment | 11 | | 0 | 00/8000 | * Let's play Dragon's Lair :-)
|
||||
4 | 1 dlld3.s 4 | Comment | 11 | | 0 | 00/8000 | *
|
||||
5 | 1 dlld3.s 5 | Comment | 11 | | 0 | 00/8000 | * (c) 2024, Brutal Deluxe Software
|
||||
6 | 1 dlld3.s 6 | Comment | 11 | | 0 | 00/8000 | *
|
||||
7 | 1 dlld3.s 7 | Empty | 11 | | 0 | 00/8000 |
|
||||
8 | 1 dlld3.s 8 | Directive | 11 | | 0 | 00/8000 | mx %11
|
||||
9 | 1 dlld3.s 9 | Directive | 11 | | 0 | 00/8000 | org $2000
|
||||
10 | 1 dlld3.s 10 | Directive | 11 | | 0 | 00/2000 | lst off
|
||||
11 | 1 dlld3.s 11 | Empty | 11 | | 0 | 00/2000 |
|
||||
12 | 1 dlld3.s 12 | Directive | 11 | | 0 | 00/2000 | use 4/Int.Macs
|
||||
13 | 1 dlld3.s 13 | Directive | 11 | | 0 | 00/2000 | use 4/Misc.Macs
|
||||
14 | 1 dlld3.s 14 | Directive | 11 | | 0 | 00/2000 | use 4/Util.Macs
|
||||
15 | 1 dlld3.s 15 | Empty | 11 | | 0 | 00/2000 |
|
||||
16 | 1 dlld3.s 16 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
|
||||
17 | 1 dlld3.s 17 | Comment | 11 | | 0 | 00/2000 | * MACROS
|
||||
18 | 1 dlld3.s 18 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
|
||||
19 | 1 dlld3.s 19 | Empty | 11 | | 0 | 00/2000 |
|
||||
20 | 1 dlld3.s 20 | Directive | 11 | | 0 | 00/2000 | _sendSTRING mac
|
||||
21 | 1 dlld3.s 21 | Directive | 11 | | 0 | 00/2000 | ldx #>]1
|
||||
22 | 1 dlld3.s 22 | Directive | 11 | | 0 | 00/2000 | ldy #<]1
|
||||
23 | 1 dlld3.s 23 | Directive | 11 | | 0 | 00/2000 | jsr sendString
|
||||
24 | 1 dlld3.s 24 | Directive | 11 | | 0 | 00/2000 | eom
|
||||
25 | 1 dlld3.s 25 | Empty | 11 | | 0 | 00/2000 |
|
||||
26 | 1 dlld3.s 26 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
|
||||
27 | 1 dlld3.s 27 | Comment | 11 | | 0 | 00/2000 | * EQUATES
|
||||
28 | 1 dlld3.s 28 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
|
||||
29 | 1 dlld3.s 29 | Empty | 11 | | 0 | 00/2000 |
|
||||
30 | 1 dlld3.s 30 | Equivalence | 11 | | 0 | 00/2000 | frameIN = 323
|
||||
31 | 1 dlld3.s 31 | Equivalence | 11 | | 0 | 00/2000 | frameOUT = 1359
|
||||
32 | 1 dlld3.s 32 | Empty | 11 | | 0 | 00/2000 |
|
||||
33 | 1 dlld3.s 33 | Equivalence | 11 | | 0 | 00/2000 | SLOT = 2
|
||||
34 | 1 dlld3.s 34 | Equivalence | 11 | | 0 | 00/2000 | N0 = {2}*16
|
||||
35 | 1 dlld3.s 35 | Equivalence | 11 | | 0 | 00/2000 | CN = {2}!$C0
|
||||
36 | 1 dlld3.s 36 | Empty | 11 | | 0 | 00/2000 |
|
||||
37 | 1 dlld3.s 37 | Equivalence | 11 | | 0 | 00/2000 | chrRETURN = $0d
|
||||
38 | 1 dlld3.s 38 | Empty | 11 | | 0 | 00/2000 |
|
||||
39 | 1 dlld3.s 39 | Equivalence | 11 | | 0 | 00/2000 | dpFROM = $fc
|
||||
40 | 1 dlld3.s 40 | Equivalence | 11 | | 0 | 00/2000 | dpTO = {$fc}+2
|
||||
41 | 1 dlld3.s 41 | Empty | 11 | | 0 | 00/2000 |
|
||||
42 | 1 dlld3.s 42 | Comment | 11 | | 0 | 00/2000 | *----------
|
||||
43 | 1 dlld3.s 43 | Empty | 11 | | 0 | 00/2000 |
|
||||
44 | 1 dlld3.s 44 | Equivalence | 11 | | 0 | 00/2000 | CH = $24
|
||||
45 | 1 dlld3.s 45 | Empty | 11 | | 0 | 00/2000 |
|
||||
46 | 1 dlld3.s 46 | Equivalence | 11 | | 0 | 00/2000 | KBD = $c000
|
||||
47 | 1 dlld3.s 47 | Equivalence | 11 | | 0 | 00/2000 | CLR80VID = $c00c
|
||||
48 | 1 dlld3.s 48 | Equivalence | 11 | | 0 | 00/2000 | KBDSTROBE = $c010
|
||||
49 | 1 dlld3.s 49 | Empty | 11 | | 0 | 00/2000 |
|
||||
50 | 1 dlld3.s 50 | Equivalence | 11 | | 0 | 00/2000 | INIT = $FB2F
|
||||
51 | 1 dlld3.s 51 | Equivalence | 11 | | 0 | 00/2000 | TABV = $FB5B
|
||||
52 | 1 dlld3.s 52 | Equivalence | 11 | | 0 | 00/2000 | HOME = $FC58
|
||||
53 | 1 dlld3.s 53 | Equivalence | 11 | | 0 | 00/2000 | WAIT = $FCA8
|
||||
54 | 1 dlld3.s 54 | Equivalence | 11 | | 0 | 00/2000 | PRBYTE = $FDDA
|
||||
55 | 1 dlld3.s 55 | Equivalence | 11 | | 0 | 00/2000 | COUT = $FDED
|
||||
56 | 1 dlld3.s 56 | Equivalence | 11 | | 0 | 00/2000 | SETNORM = $FE84
|
||||
57 | 1 dlld3.s 57 | Equivalence | 11 | | 0 | 00/2000 | SETKBD = $FE89
|
||||
58 | 1 dlld3.s 58 | Empty | 11 | | 0 | 00/2000 |
|
||||
59 | 1 dlld3.s 59 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
|
||||
60 | 1 dlld3.s 60 | Comment | 11 | | 0 | 00/2000 | * CODE
|
||||
61 | 1 dlld3.s 61 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
|
||||
62 | 1 dlld3.s 62 | Empty | 11 | | 0 | 00/2000 |
|
||||
63 | 1 dlld3.s 63 | Code | 11 | | 2 | 00/2000 : 80 02 | bra jumpME
|
||||
64 | 1 dlld3.s 64 | Empty | 11 | | 0 | 00/2002 |
|
||||
65 | 1 dlld3.s 65 | Data | 11 | | 2 | 00/2002 : 00 00 | theFRAME ds 2
|
||||
66 | 1 dlld3.s 66 | Empty | 11 | | 0 | 00/2004 |
|
||||
67 | 1 dlld3.s 67 | Code | 11 | | 3 | 00/2004 : 8D 0C C0 | jumpME sta {$c00c}
|
||||
68 | 1 dlld3.s 68 | Code | 11 | | 3 | 00/2007 : 20 2F FB | jsr {$FB2F} ; text screen
|
||||
69 | 1 dlld3.s 69 | Code | 11 | | 3 | 00/200A : 20 84 FE | jsr {$FE84} ; set normal text mode
|
||||
70 | 1 dlld3.s 70 | Code | 11 | | 3 | 00/200D : 20 89 FE | jsr {$FE89} ; reset input to keyboard
|
||||
71 | 1 dlld3.s 71 | Code | 11 | | 3 | 00/2010 : 20 58 FC | jsr {$FC58} ; home cursor and clear to end of page
|
||||
72 | 1 dlld3.s 72 | Empty | 11 | | 0 | 00/2013 |
|
||||
73 | 1 dlld3.s 73 | Code | 11 | | 1 | 00/2013 : 18 | clc
|
||||
74 | 1 dlld3.s 74 | Code | 11 | | 1 | 00/2014 : FB | xce
|
||||
75 | 1 dlld3.s 75 | Code | 00 | | 2 | 00/2015 : C2 30 | rep #$30
|
||||
76 | 1 dlld3.s 76 | Code | 00 | | 3 | 00/2017 : A9 43 01 | lda #{323}
|
||||
77 | 1 dlld3.s 77 | Code | 00 | | 3 | 00/201A : 8D 02 20 | sta theFRAME
|
||||
78 | 1 dlld3.s 78 | Empty | 00 | | 0 | 00/201D |
|
||||
79 | 1 dlld3.s 79 | Code | 00 | | 1 | 00/201D : 38 | sec
|
||||
80 | 1 dlld3.s 80 | Code | 11 | | 1 | 00/201E : FB | xce
|
||||
81 | 1 dlld3.s 81 | Code | 11 | | 2 | 00/201F : E2 30 | sep #$30
|
||||
82 | 1 dlld3.s 82 | Empty | 11 | | 0 | 00/2021 |
|
||||
83 | 1 dlld3.s 83 | Code | 11 | | 3 | 00/2021 : 20 37 21 | jsr initSERIAL ; set the serial addresses
|
||||
84 | 1 dlld3.s 84 | Code | 11 | | 3 | 00/2024 : 20 5C 21 | jsr initPORT ; init the serial port for LD support
|
||||
85 | 1 dlld3.s 85 | Empty | 11 | | 0 | 00/2027 |
|
||||
86 | 1 dlld3.s 86 | Comment | 11 | | 0 | 00/2027 | *----------
|
||||
87 | 1 dlld3.s 87 | Code | 11 | | 2 | 00/2027 : A2 20 | ldx #>strDS ; on veut la frame number
|
||||
88 | 1 dlld3.s 88 | Code | 11 | | 2 | 00/2029 : A0 97 | ldy #<strDS
|
||||
89 | 1 dlld3.s 89 | Code | 11 | | 3 | 00/202B : 20 00 22 | jsr sendLDCommand
|
||||
90 | 1 dlld3.s 90 | Empty | 11 | | 0 | 00/202E |
|
||||
91 | 1 dlld3.s 91 | Code | 11 | | 2 | 00/202E : A2 20 | ldx #>strSA ; start the player
|
||||
92 | 1 dlld3.s 92 | Code | 11 | | 2 | 00/2030 : A0 9E | ldy #<strSA
|
||||
93 | 1 dlld3.s 93 | Code | 11 | | 3 | 00/2032 : 20 00 22 | jsr sendLDCommand
|
||||
94 | 1 dlld3.s 94 | Empty | 11 | | 0 | 00/2035 |
|
||||
95 | 1 dlld3.s 95 | Code | 11 | | 3 | 00/2035 : 20 C4 20 | jsr setINT
|
||||
96 | 1 dlld3.s 96 | Empty | 11 | | 0 | 00/2038 |
|
||||
97 | 1 dlld3.s 97 | Code | 11 | | 3 | 00/2038 : AD 00 C0 | ozunid_1 lda {$c000} ; wait for a key
|
||||
98 | 1 dlld3.s 98 | Code | 11 | | 2 | 00/203B : 10 FB | bpl ozunid_1
|
||||
99 | 1 dlld3.s 99 | Code | 11 | | 3 | 00/203D : 2C 10 C0 | bit {$c010}
|
||||
100 | 1 dlld3.s 100 | Empty | 11 | | 0 | 00/2040 |
|
||||
101 | 1 dlld3.s 101 | Comment | 11 | | 0 | 00/2040 | *----------
|
||||
102 | 1 dlld3.s 102 | Empty | 11 | | 0 | 00/2040 |
|
||||
103 | 1 dlld3.s 103 | Code | 11 | | 2 | 00/2040 : A2 20 | mainLOOP ldx #>strSE ; Move to frame and wait for R
|
||||
104 | 1 dlld3.s 104 | Code | 11 | | 2 | 00/2042 : A0 AD | ldy #<strSE
|
||||
105 | 1 dlld3.s 105 | Code | 11 | | 3 | 00/2044 : 20 09 22 | jsr sendLDCommand2
|
||||
106 | 1 dlld3.s 106 | Empty | 11 | | 0 | 00/2047 |
|
||||
107 | 1 dlld3.s 107 | Code | 11 | | 2 | 00/2047 : A2 20 | ldx #>strPL ; Play and wait for R
|
||||
108 | 1 dlld3.s 108 | Code | 11 | | 2 | 00/2049 : A0 B7 | ldy #<strPL
|
||||
109 | 1 dlld3.s 109 | Code | 11 | | 3 | 00/204B : 20 09 22 | jsr sendLDCommand2
|
||||
110 | 1 dlld3.s 110 | Empty | 11 | | 0 | 00/204E |
|
||||
111 | 1 dlld3.s 111 | Code | 11 | | 3 | 00/204E : 20 11 21 | jsr startINT
|
||||
112 | 1 dlld3.s 112 | Empty | 11 | | 0 | 00/2051 |
|
||||
113 | 1 dlld3.s 113 | Comment | 11 | | 0 | 00/2051 | *----------
|
||||
114 | 1 dlld3.s 114 | Empty | 11 | | 0 | 00/2051 |
|
||||
115 | 1 dlld3.s 115 | Code | 11 | | 1 | 00/2051 : 38 | ozunid_2 sec
|
||||
116 | 1 dlld3.s 116 | Code | 11 | | 1 | 00/2052 : FB | xce
|
||||
117 | 1 dlld3.s 117 | Code | 11 | | 2 | 00/2053 : E2 30 | sep #$30
|
||||
118 | 1 dlld3.s 118 | Empty | 11 | | 0 | 00/2055 |
|
||||
119 | 1 dlld3.s 119 | Code | 11 | | 2 | 00/2055 : A9 00 | lda #0
|
||||
120 | 1 dlld3.s 120 | Code | 11 | | 2 | 00/2057 : 85 24 | sta {$24}
|
||||
121 | 1 dlld3.s 121 | Code | 11 | | 3 | 00/2059 : 20 5B FB | jsr {$FB5B}
|
||||
122 | 1 dlld3.s 122 | Empty | 11 | | 0 | 00/205C |
|
||||
123 | 1 dlld3.s 123 | Code | 11 | | 3 | 00/205C : AD 03 20 | lda theFRAME+1
|
||||
124 | 1 dlld3.s 124 | Code | 11 | | 3 | 00/205F : 20 DA FD | jsr {$FDDA}
|
||||
125 | 1 dlld3.s 125 | Code | 11 | | 3 | 00/2062 : AD 02 20 | lda theFRAME
|
||||
126 | 1 dlld3.s 126 | Code | 11 | | 3 | 00/2065 : 20 DA FD | jsr {$FDDA}
|
||||
127 | 1 dlld3.s 127 | Empty | 11 | | 0 | 00/2068 |
|
||||
128 | 1 dlld3.s 128 | Code | 11 | | 3 | 00/2068 : AD 00 C0 | lda {$c000} ; wait for a key
|
||||
129 | 1 dlld3.s 129 | Code | 11 | | 2 | 00/206B : 30 19 | bmi theEND
|
||||
130 | 1 dlld3.s 130 | Empty | 11 | | 0 | 00/206D |
|
||||
131 | 1 dlld3.s 131 | Code | 11 | | 1 | 00/206D : 18 | clc
|
||||
132 | 1 dlld3.s 132 | Code | 11 | | 1 | 00/206E : FB | xce
|
||||
133 | 1 dlld3.s 133 | Code | 00 | | 2 | 00/206F : C2 30 | rep #$30
|
||||
134 | 1 dlld3.s 134 | Code | 00 | | 3 | 00/2071 : AD 02 20 | lda theFRAME
|
||||
135 | 1 dlld3.s 135 | Code | 00 | | 3 | 00/2074 : C9 4F 05 | cmp #{1359}
|
||||
136 | 1 dlld3.s 136 | Code | 00 | | 2 | 00/2077 : 90 D8 | bcc ozunid_2
|
||||
137 | 1 dlld3.s 137 | Empty | 00 | | 0 | 00/2079 |
|
||||
138 | 1 dlld3.s 138 | Code | 00 | | 1 | 00/2079 : 38 | sec
|
||||
139 | 1 dlld3.s 139 | Code | 11 | | 1 | 00/207A : FB | xce
|
||||
140 | 1 dlld3.s 140 | Code | 11 | | 2 | 00/207B : E2 30 | sep #$30
|
||||
141 | 1 dlld3.s 141 | Code | 11 | | 2 | 00/207D : A2 20 | ldx #>strPA ; Pause and return
|
||||
142 | 1 dlld3.s 142 | Code | 11 | | 2 | 00/207F : A0 A4 | ldy #<strPA
|
||||
143 | 1 dlld3.s 143 | Code | 11 | | 3 | 00/2081 : 20 00 22 | jsr sendLDCommand
|
||||
144 | 1 dlld3.s 144 | Code | 11 | | 2 | 00/2084 : 80 BA | bra mainLOOP
|
||||
145 | 1 dlld3.s 145 | Empty | 11 | | 0 | 00/2086 |
|
||||
146 | 1 dlld3.s 146 | Code | 11 | | 3 | 00/2086 : 2C 10 C0 | theEND bit {$c010}
|
||||
147 | 1 dlld3.s 147 | Empty | 11 | | 0 | 00/2089 |
|
||||
148 | 1 dlld3.s 148 | Code | 11 | | 3 | 00/2089 : 20 24 21 | jsr stopINT
|
||||
149 | 1 dlld3.s 149 | Code | 11 | | 3 | 00/208C : 20 DD 20 | jsr unsetINT
|
||||
150 | 1 dlld3.s 150 | Empty | 11 | | 0 | 00/208F |
|
||||
151 | 1 dlld3.s 151 | Comment | 11 | | 0 | 00/208F | *----------
|
||||
152 | 1 dlld3.s 152 | Empty | 11 | | 0 | 00/208F |
|
||||
153 | 1 dlld3.s 153 | Code | 11 | | 2 | 00/208F : A2 20 | ldx #>strRJ ; It's the end!
|
||||
154 | 1 dlld3.s 154 | Code | 11 | | 2 | 00/2091 : A0 A1 | ldy #<strRJ
|
||||
155 | 1 dlld3.s 155 | Code | 11 | | 3 | 00/2093 : 20 00 22 | jsr sendLDCommand
|
||||
156 | 1 dlld3.s 156 | Code | 11 | | 1 | 00/2096 : 60 | rts
|
||||
157 | 1 dlld3.s 157 | Empty | 11 | | 0 | 00/2097 |
|
||||
158 | 1 dlld3.s 158 | Comment | 11 | | 0 | 00/2097 | *--- Data
|
||||
159 | 1 dlld3.s 159 | Empty | 11 | | 0 | 00/2097 |
|
||||
160 | 1 dlld3.s 160 | Data | 11 | | 4 | 00/2097 : 31 44 53 00 | strDS asc '1DS'00 ; display frame number
|
||||
161 | 1 dlld3.s 161 | Data | 11 | | 3 | 00/209B : 43 4F 00 | strCO asc 'CO'00 ; close the door
|
||||
162 | 1 dlld3.s 162 | Data | 11 | | 3 | 00/209E : 53 41 00 | strSA asc 'SA'00 ; start player
|
||||
163 | 1 dlld3.s 163 | Data | 11 | | 3 | 00/20A1 : 52 4A 00 | strRJ asc 'RJ'00 ; stop the player
|
||||
164 | 1 dlld3.s 164 | Data | 11 | | 3 | 00/20A4 : 50 41 00 | strPA asc 'PA'00 ; pause the player (blue screen)
|
||||
165 | 1 dlld3.s 165 | Data | 11 | | 3 | 00/20A7 : 53 54 00 | strST asc 'ST'00 ; pause the player (still image)
|
||||
166 | 1 dlld3.s 166 | Data | 11 | | 3 | 00/20AA : 3F 46 00 | strQF asc '?F'00 ; which frame are we on?
|
||||
167 | 1 dlld3.s 167 | Empty | 11 | | 0 | 00/20AD |
|
||||
168 | 1 dlld3.s 168 | Data | 11 | | 10 | 00/20AD : 46 52 30 30 | strSE asc 'FR00323SE'00 ; set frame...
|
||||
| | | | | | 33 32 33 53 |
|
||||
| | | | | | 45 00 |
|
||||
169 | 1 dlld3.s 169 | Data | 11 | | 3 | 00/20B7 : 50 4C 00 | strPL asc 'PL'00 ; play only
|
||||
170 | 1 dlld3.s 170 | Data | 11 | | 10 | 00/20BA : 46 52 30 31 | strPL2 asc 'FR01359PL'00 ; play to frame...
|
||||
| | | | | | 33 35 39 50 |
|
||||
| | | | | | 4C 00 |
|
||||
171 | 1 dlld3.s 171 | Empty | 11 | | 0 | 00/20C4 |
|
||||
172 | 1 dlld3.s 172 | Comment | 11 | | 0 | 00/20C4 | *-----------------------------------
|
||||
173 | 1 dlld3.s 173 | Comment | 11 | | 0 | 00/20C4 | * INTERRUPT
|
||||
174 | 1 dlld3.s 174 | Comment | 11 | | 0 | 00/20C4 | *-----------------------------------
|
||||
175 | 1 dlld3.s 175 | Empty | 11 | | 0 | 00/20C4 |
|
||||
176 | 1 dlld3.s 176 | Code | 11 | | 1 | 00/20C4 : 18 | setINT clc
|
||||
177 | 1 dlld3.s 177 | Code | 11 | | 1 | 00/20C5 : FB | xce
|
||||
178 | 1 dlld3.s 178 | Code | 00 | | 2 | 00/20C6 : C2 30 | rep #$30
|
||||
179 | 1 dlld3.s 179 | Empty | 00 | | 0 | 00/20C8 |
|
||||
180 | 1 dlld3.s 180 | Code | 00 | | 1 | 00/20C8 : 08 | php
|
||||
181 | 1 dlld3.s 181 | Code | 00 | | 1 | 00/20C9 : 78 | sei
|
||||
182 | 1 dlld3.s 182 | Macro | 00 | | 0 | 00/20CA | PushLong #theINT
|
||||
186 | 1 dlld3.s 182 | Code | 00 | | 3 | 00/20CA : F4 00 00 | PEA #^#theINT
|
||||
193 | 1 dlld3.s 182 | Code | 00 | | 3 | 00/20CD : F4 F6 20 | PEA #theINT
|
||||
196 | 1 dlld3.s 183 | Macro | 00 | | 0 | 00/20D0 | _SetHeartBeat
|
||||
198 | 1 dlld3.s 183 | Code | 00 | | 3 | 00/20D0 : A2 03 12 | LDX #$1203 ; load tool call #
|
||||
199 | 1 dlld3.s 183 | Code | 00 | | 4 | 00/20D3 : 22 00 00 E1 | JSL $E10000 ; go to dispatcher
|
||||
200 | 1 dlld3.s 184 | Code | 00 | | 1 | 00/20D7 : 28 | plp
|
||||
201 | 1 dlld3.s 185 | Empty | 00 | | 0 | 00/20D8 |
|
||||
202 | 1 dlld3.s 186 | Code | 00 | | 1 | 00/20D8 : 38 | sec
|
||||
203 | 1 dlld3.s 187 | Code | 11 | | 1 | 00/20D9 : FB | xce
|
||||
204 | 1 dlld3.s 188 | Code | 11 | | 2 | 00/20DA : E2 30 | sep #$30
|
||||
205 | 1 dlld3.s 189 | Code | 11 | | 1 | 00/20DC : 60 | rts
|
||||
206 | 1 dlld3.s 190 | Empty | 11 | | 0 | 00/20DD |
|
||||
207 | 1 dlld3.s 191 | Comment | 11 | | 0 | 00/20DD | *----------
|
||||
208 | 1 dlld3.s 192 | Empty | 11 | | 0 | 00/20DD |
|
||||
209 | 1 dlld3.s 193 | Code | 11 | | 1 | 00/20DD : 18 | unsetINT clc
|
||||
210 | 1 dlld3.s 194 | Code | 11 | | 1 | 00/20DE : FB | xce
|
||||
211 | 1 dlld3.s 195 | Code | 00 | | 2 | 00/20DF : C2 30 | rep #$30
|
||||
212 | 1 dlld3.s 196 | Empty | 00 | | 0 | 00/20E1 |
|
||||
213 | 1 dlld3.s 197 | Code | 00 | | 1 | 00/20E1 : 08 | php
|
||||
214 | 1 dlld3.s 198 | Code | 00 | | 1 | 00/20E2 : 78 | sei
|
||||
215 | 1 dlld3.s 199 | Macro | 00 | | 0 | 00/20E3 | PushLong #theINT
|
||||
219 | 1 dlld3.s 199 | Code | 00 | | 3 | 00/20E3 : F4 00 00 | PEA #^#theINT
|
||||
226 | 1 dlld3.s 199 | Code | 00 | | 3 | 00/20E6 : F4 F6 20 | PEA #theINT
|
||||
229 | 1 dlld3.s 200 | Macro | 00 | | 0 | 00/20E9 | _DelHeartBeat
|
||||
231 | 1 dlld3.s 200 | Code | 00 | | 3 | 00/20E9 : A2 03 13 | LDX #$1303 ; load tool call #
|
||||
232 | 1 dlld3.s 200 | Code | 00 | | 4 | 00/20EC : 22 00 00 E1 | JSL $E10000 ; go to dispatcher
|
||||
233 | 1 dlld3.s 201 | Code | 00 | | 1 | 00/20F0 : 28 | plp
|
||||
234 | 1 dlld3.s 202 | Empty | 00 | | 0 | 00/20F1 |
|
||||
235 | 1 dlld3.s 203 | Code | 00 | | 1 | 00/20F1 : 38 | sec
|
||||
236 | 1 dlld3.s 204 | Code | 11 | | 1 | 00/20F2 : FB | xce
|
||||
237 | 1 dlld3.s 205 | Code | 11 | | 2 | 00/20F3 : E2 30 | sep #$30
|
||||
238 | 1 dlld3.s 206 | Code | 11 | | 1 | 00/20F5 : 60 | rts
|
||||
239 | 1 dlld3.s 207 | Empty | 11 | | 0 | 00/20F6 |
|
||||
240 | 1 dlld3.s 208 | Comment | 11 | | 0 | 00/20F6 | *----------
|
||||
241 | 1 dlld3.s 209 | Empty | 11 | | 0 | 00/20F6 |
|
||||
242 | 1 dlld3.s 210 | Data | 11 | | 4 | 00/20F6 : 00 00 00 00 | theINT ds 4
|
||||
243 | 1 dlld3.s 211 | Data | 11 | | 2 | 00/20FA : 02 00 | dw 2
|
||||
244 | 1 dlld3.s 212 | Data | 11 | | 2 | 00/20FC : 5A A5 | dw $a55A
|
||||
245 | 1 dlld3.s 213 | Empty | 11 | | 0 | 00/20FE |
|
||||
246 | 1 dlld3.s 214 | Code | 11 | | 1 | 00/20FE : 8B | phb
|
||||
247 | 1 dlld3.s 215 | Code | 11 | | 1 | 00/20FF : 4B | phk
|
||||
248 | 1 dlld3.s 216 | Code | 11 | | 1 | 00/2100 : AB | plb
|
||||
249 | 1 dlld3.s 217 | Code | 00 | | 2 | 00/2101 : C2 30 | rep #$30
|
||||
250 | 1 dlld3.s 218 | Empty | 00 | | 0 | 00/2103 |
|
||||
251 | 1 dlld3.s 219 | Code | 00 | | 3 | 00/2103 : A9 02 00 | lda #2
|
||||
252 | 1 dlld3.s 220 | Code | 00 | | 3 | 00/2106 : 8D FA 20 | sta theINT+4
|
||||
253 | 1 dlld3.s 221 | Empty | 00 | | 0 | 00/2109 |
|
||||
254 | 1 dlld3.s 222 | Code | 00 | | 3 | 00/2109 : EE 02 20 | inc theFRAME
|
||||
255 | 1 dlld3.s 223 | Empty | 00 | | 0 | 00/210C |
|
||||
256 | 1 dlld3.s 224 | Code | 11 | | 2 | 00/210C : E2 30 | sep #$30
|
||||
257 | 1 dlld3.s 225 | Code | 11 | | 1 | 00/210E : AB | plb
|
||||
258 | 1 dlld3.s 226 | Code | 11 | | 1 | 00/210F : 18 | clc
|
||||
259 | 1 dlld3.s 227 | Code | 11 | | 1 | 00/2110 : 6B | rtl
|
||||
260 | 1 dlld3.s 228 | Empty | 11 | | 0 | 00/2111 |
|
||||
261 | 1 dlld3.s 229 | Comment | 11 | | 0 | 00/2111 | *----------
|
||||
262 | 1 dlld3.s 230 | Empty | 11 | | 0 | 00/2111 |
|
||||
263 | 1 dlld3.s 231 | Code | 11 | | 1 | 00/2111 : 18 | startINT clc
|
||||
264 | 1 dlld3.s 232 | Code | 11 | | 1 | 00/2112 : FB | xce
|
||||
265 | 1 dlld3.s 233 | Code | 00 | | 2 | 00/2113 : C2 30 | rep #$30
|
||||
266 | 1 dlld3.s 234 | Empty | 00 | | 0 | 00/2115 |
|
||||
267 | 1 dlld3.s 235 | Macro | 00 | | 0 | 00/2115 | PushWord #2
|
||||
269 | 1 dlld3.s 235 | Code | 00 | | 3 | 00/2115 : F4 02 00 | PEA #2
|
||||
272 | 1 dlld3.s 236 | Macro | 00 | | 0 | 00/2118 | _IntSource
|
||||
274 | 1 dlld3.s 236 | Code | 00 | | 3 | 00/2118 : A2 03 23 | LDX #$2303 ; load tool call #
|
||||
275 | 1 dlld3.s 236 | Code | 00 | | 4 | 00/211B : 22 00 00 E1 | JSL $E10000 ; go to dispatcher
|
||||
276 | 1 dlld3.s 237 | Empty | 00 | | 0 | 00/211F |
|
||||
277 | 1 dlld3.s 238 | Code | 00 | | 1 | 00/211F : 38 | sec
|
||||
278 | 1 dlld3.s 239 | Code | 11 | | 1 | 00/2120 : FB | xce
|
||||
279 | 1 dlld3.s 240 | Code | 11 | | 2 | 00/2121 : E2 30 | sep #$30
|
||||
280 | 1 dlld3.s 241 | Code | 11 | | 1 | 00/2123 : 60 | rts
|
||||
281 | 1 dlld3.s 242 | Empty | 11 | | 0 | 00/2124 |
|
||||
282 | 1 dlld3.s 243 | Comment | 11 | | 0 | 00/2124 | *----------
|
||||
283 | 1 dlld3.s 244 | Empty | 11 | | 0 | 00/2124 |
|
||||
284 | 1 dlld3.s 245 | Code | 11 | | 1 | 00/2124 : 18 | stopINT clc
|
||||
285 | 1 dlld3.s 246 | Code | 11 | | 1 | 00/2125 : FB | xce
|
||||
286 | 1 dlld3.s 247 | Code | 00 | | 2 | 00/2126 : C2 30 | rep #$30
|
||||
287 | 1 dlld3.s 248 | Empty | 00 | | 0 | 00/2128 |
|
||||
288 | 1 dlld3.s 249 | Macro | 00 | | 0 | 00/2128 | PushWord #3
|
||||
290 | 1 dlld3.s 249 | Code | 00 | | 3 | 00/2128 : F4 03 00 | PEA #3
|
||||
293 | 1 dlld3.s 250 | Macro | 00 | | 0 | 00/212B | _IntSource
|
||||
295 | 1 dlld3.s 250 | Code | 00 | | 3 | 00/212B : A2 03 23 | LDX #$2303 ; load tool call #
|
||||
296 | 1 dlld3.s 250 | Code | 00 | | 4 | 00/212E : 22 00 00 E1 | JSL $E10000 ; go to dispatcher
|
||||
297 | 1 dlld3.s 251 | Empty | 00 | | 0 | 00/2132 |
|
||||
298 | 1 dlld3.s 252 | Code | 00 | | 1 | 00/2132 : 38 | sec
|
||||
299 | 1 dlld3.s 253 | Code | 11 | | 1 | 00/2133 : FB | xce
|
||||
300 | 1 dlld3.s 254 | Code | 11 | | 2 | 00/2134 : E2 30 | sep #$30
|
||||
301 | 1 dlld3.s 255 | Code | 11 | | 1 | 00/2136 : 60 | rts
|
||||
302 | 1 dlld3.s 256 | Empty | 11 | | 0 | 00/2137 |
|
||||
303 | 1 dlld3.s 257 | Comment | 11 | | 0 | 00/2137 | *-----------------------------------
|
||||
304 | 1 dlld3.s 258 | Comment | 11 | | 0 | 00/2137 | * SERIAL PORT (MODEM)
|
||||
305 | 1 dlld3.s 259 | Comment | 11 | | 0 | 00/2137 | *-----------------------------------
|
||||
306 | 1 dlld3.s 260 | Empty | 11 | | 0 | 00/2137 |
|
||||
307 | 1 dlld3.s 261 | Comment | 11 | | 0 | 00/2137 | *---------- Set all addressses
|
||||
308 | 1 dlld3.s 262 | Empty | 11 | | 0 | 00/2137 |
|
||||
309 | 1 dlld3.s 263 | Empty | 11 | | 0 | 00/2137 | initSERIAL
|
||||
310 | 1 dlld3.s 264 | Code | 11 | | 3 | 00/2137 : AD 0D C2 | lda $c20d
|
||||
311 | 1 dlld3.s 265 | Code | 11 | | 3 | 00/213A : 8D 51 21 | sta doinit+1
|
||||
312 | 1 dlld3.s 266 | Code | 11 | | 3 | 00/213D : AD 0E C2 | lda $c20e
|
||||
313 | 1 dlld3.s 267 | Code | 11 | | 3 | 00/2140 : 8D 54 21 | sta doread+1
|
||||
314 | 1 dlld3.s 268 | Code | 11 | | 3 | 00/2143 : AD 0F C2 | lda $c20f
|
||||
315 | 1 dlld3.s 269 | Code | 11 | | 3 | 00/2146 : 8D 57 21 | sta dowrite+1
|
||||
316 | 1 dlld3.s 270 | Code | 11 | | 3 | 00/2149 : AD 10 C2 | lda $c210
|
||||
317 | 1 dlld3.s 271 | Code | 11 | | 3 | 00/214C : 8D 5A 21 | sta dostatus+1
|
||||
318 | 1 dlld3.s 272 | Code | 11 | | 1 | 00/214F : 60 | rts
|
||||
319 | 1 dlld3.s 273 | Empty | 11 | | 0 | 00/2150 |
|
||||
320 | 1 dlld3.s 274 | Code | 11 | | 3 | 00/2150 : 4C 0D C2 | doinit jmp $c20d
|
||||
321 | 1 dlld3.s 275 | Code | 11 | | 3 | 00/2153 : 4C 0E C2 | doread jmp $c20e
|
||||
322 | 1 dlld3.s 276 | Code | 11 | | 3 | 00/2156 : 4C 0F C2 | dowrite jmp $c20f
|
||||
323 | 1 dlld3.s 277 | Code | 11 | | 3 | 00/2159 : 4C 10 C2 | dostatus jmp $c210
|
||||
324 | 1 dlld3.s 278 | Empty | 11 | | 0 | 00/215C |
|
||||
325 | 1 dlld3.s 279 | Comment | 11 | | 0 | 00/215C | *---------- Init modem port for LD support
|
||||
326 | 1 dlld3.s 280 | Empty | 11 | | 0 | 00/215C |
|
||||
327 | 1 dlld3.s 281 | Code | 11 | | 2 | 00/215C : A2 C2 | initPORT ldx #{{2}!$C0}
|
||||
328 | 1 dlld3.s 282 | Code | 11 | | 2 | 00/215E : A0 20 | ldy #{{2}*16}
|
||||
329 | 1 dlld3.s 283 | Code | 11 | | 3 | 00/2160 : 20 50 21 | jsr doinit
|
||||
330 | 1 dlld3.s 284 | Empty | 11 | | 0 | 00/2163 |
|
||||
331 | 1 dlld3.s 285 | Macro | 11 | | 0 | 00/2163 | _sendSTRING #strED ; Don't echo output
|
||||
332 | 1 dlld3.s 285 | Code | 11 | | 2 | 00/2163 : A2 22 | ldx #>#strED
|
||||
333 | 1 dlld3.s 285 | Code | 11 | | 2 | 00/2165 : A0 72 | ldy #<#strED
|
||||
334 | 1 dlld3.s 285 | Code | 11 | | 3 | 00/2167 : 20 1A 22 | jsr sendString
|
||||
335 | 1 dlld3.s 286 | Macro | 11 | | 0 | 00/216A | _sendSTRING #strBE ; Input buffering: on
|
||||
336 | 1 dlld3.s 286 | Code | 11 | | 2 | 00/216A : A2 22 | ldx #>#strBE
|
||||
337 | 1 dlld3.s 286 | Code | 11 | | 2 | 00/216C : A0 76 | ldy #<#strBE
|
||||
338 | 1 dlld3.s 286 | Code | 11 | | 3 | 00/216E : 20 1A 22 | jsr sendString
|
||||
339 | 1 dlld3.s 287 | Macro | 11 | | 0 | 00/2171 | _sendSTRING #str12B ; Baud rate: 4800 BPS
|
||||
340 | 1 dlld3.s 287 | Code | 11 | | 2 | 00/2171 : A2 22 | ldx #>#str12B
|
||||
341 | 1 dlld3.s 287 | Code | 11 | | 2 | 00/2173 : A0 7A | ldy #<#str12B
|
||||
342 | 1 dlld3.s 287 | Code | 11 | | 3 | 00/2175 : 20 1A 22 | jsr sendString
|
||||
343 | 1 dlld3.s 288 | Macro | 11 | | 0 | 00/2178 | _sendSTRING #str0D ; Data/Stop bits: 8/1
|
||||
344 | 1 dlld3.s 288 | Code | 11 | | 2 | 00/2178 : A2 22 | ldx #>#str0D
|
||||
345 | 1 dlld3.s 288 | Code | 11 | | 2 | 00/217A : A0 7F | ldy #<#str0D
|
||||
346 | 1 dlld3.s 288 | Code | 11 | | 3 | 00/217C : 20 1A 22 | jsr sendString
|
||||
347 | 1 dlld3.s 289 | Macro | 11 | | 0 | 00/217F | _sendSTRING #str0P ; Parity: none
|
||||
348 | 1 dlld3.s 289 | Code | 11 | | 2 | 00/217F : A2 22 | ldx #>#str0P
|
||||
349 | 1 dlld3.s 289 | Code | 11 | | 2 | 00/2181 : A0 83 | ldy #<#str0P
|
||||
350 | 1 dlld3.s 289 | Code | 11 | | 3 | 00/2183 : 20 1A 22 | jsr sendString
|
||||
351 | 1 dlld3.s 290 | Macro | 11 | | 0 | 00/2186 | _sendSTRING #str0N ; Line length: 0
|
||||
352 | 1 dlld3.s 290 | Code | 11 | | 2 | 00/2186 : A2 22 | ldx #>#str0N
|
||||
353 | 1 dlld3.s 290 | Code | 11 | | 2 | 00/2188 : A0 87 | ldy #<#str0N
|
||||
354 | 1 dlld3.s 290 | Code | 11 | | 3 | 00/218A : 20 1A 22 | jsr sendString
|
||||
355 | 1 dlld3.s 291 | Macro | 11 | | 0 | 00/218D | _sendSTRING #strAD ; Do not implement basic tabs
|
||||
356 | 1 dlld3.s 291 | Code | 11 | | 2 | 00/218D : A2 22 | ldx #>#strAD
|
||||
357 | 1 dlld3.s 291 | Code | 11 | | 2 | 00/218F : A0 8B | ldy #<#strAD
|
||||
358 | 1 dlld3.s 291 | Code | 11 | | 3 | 00/2191 : 20 1A 22 | jsr sendString
|
||||
359 | 1 dlld3.s 292 | Macro | 11 | | 0 | 00/2194 | _sendSTRING #strCD ; Disable line formatting
|
||||
360 | 1 dlld3.s 292 | Code | 11 | | 2 | 00/2194 : A2 22 | ldx #>#strCD
|
||||
361 | 1 dlld3.s 292 | Code | 11 | | 2 | 00/2196 : A0 8F | ldy #<#strCD
|
||||
362 | 1 dlld3.s 292 | Code | 11 | | 3 | 00/2198 : 20 1A 22 | jsr sendString
|
||||
363 | 1 dlld3.s 293 | Macro | 11 | | 0 | 00/219B | _sendSTRING #strXD ; Ignore XOFF
|
||||
364 | 1 dlld3.s 293 | Code | 11 | | 2 | 00/219B : A2 22 | ldx #>#strXD
|
||||
365 | 1 dlld3.s 293 | Code | 11 | | 2 | 00/219D : A0 93 | ldy #<#strXD
|
||||
366 | 1 dlld3.s 293 | Code | 11 | | 3 | 00/219F : 20 1A 22 | jsr sendString
|
||||
367 | 1 dlld3.s 294 | Macro | 11 | | 0 | 00/21A2 | _sendSTRING #strFD ; Disable keyboard input
|
||||
368 | 1 dlld3.s 294 | Code | 11 | | 2 | 00/21A2 : A2 22 | ldx #>#strFD
|
||||
369 | 1 dlld3.s 294 | Code | 11 | | 2 | 00/21A4 : A0 97 | ldy #<#strFD
|
||||
370 | 1 dlld3.s 294 | Code | 11 | | 3 | 00/21A6 : 20 1A 22 | jsr sendString
|
||||
371 | 1 dlld3.s 295 | Macro | 11 | | 0 | 00/21A9 | _sendSTRING #strLD ; Do not add line feeds after CR
|
||||
372 | 1 dlld3.s 295 | Code | 11 | | 2 | 00/21A9 : A2 22 | ldx #>#strLD
|
||||
373 | 1 dlld3.s 295 | Code | 11 | | 2 | 00/21AB : A0 9B | ldy #<#strLD
|
||||
374 | 1 dlld3.s 295 | Code | 11 | | 3 | 00/21AD : 20 1A 22 | jsr sendString
|
||||
375 | 1 dlld3.s 296 | Macro | 11 | | 0 | 00/21B0 | _sendSTRING #strME ; Mask line feed in
|
||||
376 | 1 dlld3.s 296 | Code | 11 | | 2 | 00/21B0 : A2 22 | ldx #>#strME
|
||||
377 | 1 dlld3.s 296 | Code | 11 | | 2 | 00/21B2 : A0 9F | ldy #<#strME
|
||||
378 | 1 dlld3.s 296 | Code | 11 | | 3 | 00/21B4 : 20 1A 22 | jsr sendString
|
||||
379 | 1 dlld3.s 297 | Macro | 11 | | 0 | 00/21B7 | _sendSTRING #strZ ; Suppress control characters
|
||||
380 | 1 dlld3.s 297 | Code | 11 | | 2 | 00/21B7 : A2 22 | ldx #>#strZ
|
||||
381 | 1 dlld3.s 297 | Code | 11 | | 2 | 00/21B9 : A0 A3 | ldy #<#strZ
|
||||
382 | 1 dlld3.s 297 | Code | 11 | | 3 | 00/21BB : 20 1A 22 | jsr sendString
|
||||
383 | 1 dlld3.s 298 | Code | 11 | | 3 | 00/21BE : 20 C2 21 | jsr checkInputReady
|
||||
384 | 1 dlld3.s 299 | Code | 11 | | 1 | 00/21C1 : 60 | rts
|
||||
385 | 1 dlld3.s 300 | Empty | 11 | | 0 | 00/21C2 |
|
||||
386 | 1 dlld3.s 301 | Comment | 11 | | 0 | 00/21C2 | *---------- Check the input is ready
|
||||
387 | 1 dlld3.s 302 | Empty | 11 | | 0 | 00/21C2 |
|
||||
388 | 1 dlld3.s 303 | Empty | 11 | | 0 | 00/21C2 | checkInputReady
|
||||
389 | 1 dlld3.s 304 | Code | 11 | | 2 | 00/21C2 : A2 08 | ldx #8
|
||||
390 | 1 dlld3.s 305 | Code | 11 | | 2 | 00/21C4 : A0 00 | ldy #0
|
||||
391 | 1 dlld3.s 306 | Empty | 11 | | 0 | 00/21C6 |
|
||||
392 | 1 dlld3.s 307 | Code | 11 | | 1 | 00/21C6 : DA | ozunid_3 phx
|
||||
393 | 1 dlld3.s 308 | Code | 11 | | 1 | 00/21C7 : 5A | phy
|
||||
394 | 1 dlld3.s 309 | Empty | 11 | | 0 | 00/21C8 |
|
||||
395 | 1 dlld3.s 310 | Code | 11 | | 2 | 00/21C8 : A2 C2 | ldx #{{2}!$C0}
|
||||
396 | 1 dlld3.s 311 | Code | 11 | | 2 | 00/21CA : A0 20 | ldy #{{2}*16}
|
||||
397 | 1 dlld3.s 312 | Code | 11 | | 2 | 00/21CC : A9 01 | lda #1
|
||||
398 | 1 dlld3.s 313 | Code | 11 | | 3 | 00/21CE : 20 59 21 | jsr dostatus
|
||||
399 | 1 dlld3.s 314 | Code | 11 | | 2 | 00/21D1 : B0 0A | bcs checkIR1
|
||||
400 | 1 dlld3.s 315 | Empty | 11 | | 0 | 00/21D3 |
|
||||
401 | 1 dlld3.s 316 | Code | 11 | | 1 | 00/21D3 : 7A | ply
|
||||
402 | 1 dlld3.s 317 | Code | 11 | | 1 | 00/21D4 : FA | plx
|
||||
403 | 1 dlld3.s 318 | Code | 11 | | 1 | 00/21D5 : 88 | dey
|
||||
404 | 1 dlld3.s 319 | Code | 11 | | 2 | 00/21D6 : D0 EE | bne ozunid_3
|
||||
405 | 1 dlld3.s 320 | Code | 11 | | 1 | 00/21D8 : CA | dex
|
||||
406 | 1 dlld3.s 321 | Code | 11 | | 2 | 00/21D9 : D0 EB | bne ozunid_3
|
||||
407 | 1 dlld3.s 322 | Empty | 11 | | 0 | 00/21DB |
|
||||
408 | 1 dlld3.s 323 | Code | 11 | | 1 | 00/21DB : 38 | sec
|
||||
409 | 1 dlld3.s 324 | Code | 11 | | 1 | 00/21DC : 60 | rts
|
||||
410 | 1 dlld3.s 325 | Code | 11 | | 1 | 00/21DD : 7A | checkIR1 ply
|
||||
411 | 1 dlld3.s 326 | Code | 11 | | 1 | 00/21DE : FA | plx
|
||||
412 | 1 dlld3.s 327 | Code | 11 | | 1 | 00/21DF : 18 | clc
|
||||
413 | 1 dlld3.s 328 | Code | 11 | | 1 | 00/21E0 : 60 | rts
|
||||
414 | 1 dlld3.s 329 | Empty | 11 | | 0 | 00/21E1 |
|
||||
415 | 1 dlld3.s 330 | Comment | 11 | | 0 | 00/21E1 | *---------- Check the output is ready
|
||||
416 | 1 dlld3.s 331 | Empty | 11 | | 0 | 00/21E1 |
|
||||
417 | 1 dlld3.s 332 | Empty | 11 | | 0 | 00/21E1 | checkOutputReady
|
||||
418 | 1 dlld3.s 333 | Code | 11 | | 2 | 00/21E1 : A2 08 | ldx #8
|
||||
419 | 1 dlld3.s 334 | Code | 11 | | 2 | 00/21E3 : A0 00 | ldy #0
|
||||
420 | 1 dlld3.s 335 | Empty | 11 | | 0 | 00/21E5 |
|
||||
421 | 1 dlld3.s 336 | Code | 11 | | 1 | 00/21E5 : DA | ozunid_4 phx
|
||||
422 | 1 dlld3.s 337 | Code | 11 | | 1 | 00/21E6 : 5A | phy
|
||||
423 | 1 dlld3.s 338 | Empty | 11 | | 0 | 00/21E7 |
|
||||
424 | 1 dlld3.s 339 | Code | 11 | | 2 | 00/21E7 : A2 C2 | ldx #{{2}!$C0}
|
||||
425 | 1 dlld3.s 340 | Code | 11 | | 2 | 00/21E9 : A0 20 | ldy #{{2}*16}
|
||||
426 | 1 dlld3.s 341 | Code | 11 | | 2 | 00/21EB : A9 00 | lda #0
|
||||
427 | 1 dlld3.s 342 | Code | 11 | | 3 | 00/21ED : 20 59 21 | jsr dostatus
|
||||
428 | 1 dlld3.s 343 | Code | 11 | | 2 | 00/21F0 : B0 0A | bcs checkOR1
|
||||
429 | 1 dlld3.s 344 | Empty | 11 | | 0 | 00/21F2 |
|
||||
430 | 1 dlld3.s 345 | Code | 11 | | 1 | 00/21F2 : 7A | ply
|
||||
431 | 1 dlld3.s 346 | Code | 11 | | 1 | 00/21F3 : FA | plx
|
||||
432 | 1 dlld3.s 347 | Code | 11 | | 1 | 00/21F4 : 88 | dey
|
||||
433 | 1 dlld3.s 348 | Code | 11 | | 2 | 00/21F5 : D0 EE | bne ozunid_4
|
||||
434 | 1 dlld3.s 349 | Code | 11 | | 1 | 00/21F7 : CA | dex
|
||||
435 | 1 dlld3.s 350 | Code | 11 | | 2 | 00/21F8 : D0 EB | bne ozunid_4
|
||||
436 | 1 dlld3.s 351 | Empty | 11 | | 0 | 00/21FA |
|
||||
437 | 1 dlld3.s 352 | Code | 11 | | 1 | 00/21FA : 38 | sec
|
||||
438 | 1 dlld3.s 353 | Code | 11 | | 1 | 00/21FB : 60 | rts
|
||||
439 | 1 dlld3.s 354 | Code | 11 | | 1 | 00/21FC : 7A | checkOR1 ply
|
||||
440 | 1 dlld3.s 355 | Code | 11 | | 1 | 00/21FD : FA | plx
|
||||
441 | 1 dlld3.s 356 | Code | 11 | | 1 | 00/21FE : 18 | clc
|
||||
442 | 1 dlld3.s 357 | Code | 11 | | 1 | 00/21FF : 60 | rts
|
||||
443 | 1 dlld3.s 358 | Empty | 11 | | 0 | 00/2200 |
|
||||
444 | 1 dlld3.s 359 | Comment | 11 | | 0 | 00/2200 | *---------- Send a LD command
|
||||
445 | 1 dlld3.s 360 | Empty | 11 | | 0 | 00/2200 |
|
||||
446 | 1 dlld3.s 361 | Empty | 11 | | 0 | 00/2200 | sendLDCommand
|
||||
447 | 1 dlld3.s 362 | Code | 11 | | 3 | 00/2200 : 20 1A 22 | jsr sendString
|
||||
448 | 1 dlld3.s 363 | Code | 11 | | 2 | 00/2203 : B0 03 | bcs sendLDError
|
||||
449 | 1 dlld3.s 364 | Code | 11 | | 3 | 00/2205 : 4C 48 22 | jmp receiveString
|
||||
450 | 1 dlld3.s 365 | Code | 11 | | 1 | 00/2208 : 60 | sendLDError rts
|
||||
451 | 1 dlld3.s 366 | Empty | 11 | | 0 | 00/2209 |
|
||||
452 | 1 dlld3.s 367 | Comment | 11 | | 0 | 00/2209 | *---------- Send a LD command & wait for an answer
|
||||
453 | 1 dlld3.s 368 | Empty | 11 | | 0 | 00/2209 |
|
||||
454 | 1 dlld3.s 369 | Empty | 11 | | 0 | 00/2209 | sendLDCommand2
|
||||
455 | 1 dlld3.s 370 | Code | 11 | | 3 | 00/2209 : 9C 00 23 | stz responseBUF
|
||||
456 | 1 dlld3.s 371 | Code | 11 | | 3 | 00/220C : 20 1A 22 | jsr sendString
|
||||
457 | 1 dlld3.s 372 | Comment | 11 | | 0 | 00/220F | * bcs sendLDError2
|
||||
458 | 1 dlld3.s 373 | Code | 11 | | 3 | 00/220F : 20 48 22 | ozunid_5 jsr receiveString
|
||||
459 | 1 dlld3.s 374 | Code | 11 | | 3 | 00/2212 : AD 00 23 | lda responseBUF
|
||||
460 | 1 dlld3.s 375 | Code | 11 | | 2 | 00/2215 : C9 52 | cmp #'R'
|
||||
461 | 1 dlld3.s 376 | Code | 11 | | 2 | 00/2217 : D0 F6 | bne ozunid_5
|
||||
462 | 1 dlld3.s 377 | Code | 11 | | 1 | 00/2219 : 60 | rts
|
||||
463 | 1 dlld3.s 378 | Empty | 11 | | 0 | 00/221A |
|
||||
464 | 1 dlld3.s 379 | Comment | 11 | | 0 | 00/221A | *---------- Send a string
|
||||
465 | 1 dlld3.s 380 | Empty | 11 | | 0 | 00/221A |
|
||||
466 | 1 dlld3.s 381 | Empty | 11 | | 0 | 00/221A | sendString
|
||||
467 | 1 dlld3.s 382 | Code | 11 | | 2 | 00/221A : 84 FC | sty {$fc}
|
||||
468 | 1 dlld3.s 383 | Code | 11 | | 2 | 00/221C : 86 FD | stx {$fc}+1
|
||||
469 | 1 dlld3.s 384 | Empty | 11 | | 0 | 00/221E |
|
||||
470 | 1 dlld3.s 385 | Code | 11 | | 2 | 00/221E : B2 FC | ozunid_6 lda ({$fc})
|
||||
471 | 1 dlld3.s 386 | Code | 11 | | 2 | 00/2220 : F0 0D | beq sendCRS1 ; end of string?
|
||||
472 | 1 dlld3.s 387 | Code | 11 | | 3 | 00/2222 : 20 35 22 | jsr sendCharacter
|
||||
473 | 1 dlld3.s 388 | Code | 11 | | 2 | 00/2225 : B0 0D | bcs sendError ; error!
|
||||
474 | 1 dlld3.s 389 | Empty | 11 | | 0 | 00/2227 |
|
||||
475 | 1 dlld3.s 390 | Code | 11 | | 2 | 00/2227 : E6 FC | inc {$fc}
|
||||
476 | 1 dlld3.s 391 | Code | 11 | | 2 | 00/2229 : D0 F3 | bne ozunid_6
|
||||
477 | 1 dlld3.s 392 | Code | 11 | | 2 | 00/222B : E6 FD | inc {$fc}+1
|
||||
478 | 1 dlld3.s 393 | Code | 11 | | 2 | 00/222D : D0 EF | bne ozunid_6
|
||||
479 | 1 dlld3.s 394 | Empty | 11 | | 0 | 00/222F |
|
||||
480 | 1 dlld3.s 395 | Code | 11 | | 2 | 00/222F : A9 0D | sendCRS1 lda #{$0d} ; yes, add a final CR
|
||||
481 | 1 dlld3.s 396 | Code | 11 | | 3 | 00/2231 : 20 35 22 | jsr sendCharacter
|
||||
482 | 1 dlld3.s 397 | Empty | 11 | | 0 | 00/2234 |
|
||||
483 | 1 dlld3.s 398 | Code | 11 | | 1 | 00/2234 : 60 | sendError rts
|
||||
484 | 1 dlld3.s 399 | Empty | 11 | | 0 | 00/2235 |
|
||||
485 | 1 dlld3.s 400 | Comment | 11 | | 0 | 00/2235 | *---------- Send serial character
|
||||
486 | 1 dlld3.s 401 | Empty | 11 | | 0 | 00/2235 |
|
||||
487 | 1 dlld3.s 402 | Empty | 11 | | 0 | 00/2235 | sendCharacter
|
||||
488 | 1 dlld3.s 403 | Code | 11 | | 1 | 00/2235 : 48 | pha
|
||||
489 | 1 dlld3.s 404 | Empty | 11 | | 0 | 00/2236 |
|
||||
490 | 1 dlld3.s 405 | Code | 11 | | 3 | 00/2236 : 20 E1 21 | ozunid_7 jsr checkOutputReady
|
||||
491 | 1 dlld3.s 406 | Code | 11 | | 2 | 00/2239 : 90 03 | bcc sensSC1
|
||||
492 | 1 dlld3.s 407 | Code | 11 | | 1 | 00/223B : 68 | pla
|
||||
493 | 1 dlld3.s 408 | Code | 11 | | 1 | 00/223C : 38 | sec
|
||||
494 | 1 dlld3.s 409 | Code | 11 | | 1 | 00/223D : 60 | rts
|
||||
495 | 1 dlld3.s 410 | Empty | 11 | | 0 | 00/223E |
|
||||
496 | 1 dlld3.s 411 | Code | 11 | | 1 | 00/223E : 68 | sensSC1 pla
|
||||
497 | 1 dlld3.s 412 | Code | 11 | | 2 | 00/223F : A2 C2 | ldx #{{2}!$C0}
|
||||
498 | 1 dlld3.s 413 | Code | 11 | | 2 | 00/2241 : A0 20 | ldy #{{2}*16}
|
||||
499 | 1 dlld3.s 414 | Code | 11 | | 3 | 00/2243 : 20 56 21 | jsr dowrite
|
||||
500 | 1 dlld3.s 415 | Code | 11 | | 1 | 00/2246 : 18 | clc
|
||||
501 | 1 dlld3.s 416 | Code | 11 | | 1 | 00/2247 : 60 | rts
|
||||
502 | 1 dlld3.s 417 | Empty | 11 | | 0 | 00/2248 |
|
||||
503 | 1 dlld3.s 418 | Comment | 11 | | 0 | 00/2248 | *---------- Receive string
|
||||
504 | 1 dlld3.s 419 | Empty | 11 | | 0 | 00/2248 |
|
||||
505 | 1 dlld3.s 420 | Empty | 11 | | 0 | 00/2248 | receiveString
|
||||
506 | 1 dlld3.s 421 | Code | 11 | | 2 | 00/2248 : A0 00 | ldy #<responseBUF
|
||||
507 | 1 dlld3.s 422 | Code | 11 | | 2 | 00/224A : 84 FE | sty {{$fc}+2}
|
||||
508 | 1 dlld3.s 423 | Code | 11 | | 2 | 00/224C : A2 23 | ldx #>responseBUF
|
||||
509 | 1 dlld3.s 424 | Code | 11 | | 2 | 00/224E : 86 FF | stx {{$fc}+2}+1
|
||||
510 | 1 dlld3.s 425 | Empty | 11 | | 0 | 00/2250 |
|
||||
511 | 1 dlld3.s 426 | Code | 11 | | 2 | 00/2250 : A0 00 | ldy #0
|
||||
512 | 1 dlld3.s 427 | Code | 11 | | 1 | 00/2252 : 5A | receiveSTR1 phy
|
||||
513 | 1 dlld3.s 428 | Code | 11 | | 3 | 00/2253 : 20 C2 21 | ozunid_8 jsr checkInputReady
|
||||
514 | 1 dlld3.s 429 | Code | 11 | | 2 | 00/2256 : B0 17 | bcs receiveSTR9
|
||||
515 | 1 dlld3.s 430 | Empty | 11 | | 0 | 00/2258 |
|
||||
516 | 1 dlld3.s 431 | Code | 11 | | 2 | 00/2258 : A2 C2 | ldx #{{2}!$C0}
|
||||
517 | 1 dlld3.s 432 | Code | 11 | | 2 | 00/225A : A0 20 | ldy #{{2}*16}
|
||||
518 | 1 dlld3.s 433 | Code | 11 | | 3 | 00/225C : 20 53 21 | jsr doread
|
||||
519 | 1 dlld3.s 434 | Code | 11 | | 2 | 00/225F : E0 00 | cpx #0
|
||||
520 | 1 dlld3.s 435 | Code | 11 | | 2 | 00/2261 : D0 0C | bne receiveSTR9
|
||||
521 | 1 dlld3.s 436 | Empty | 11 | | 0 | 00/2263 |
|
||||
522 | 1 dlld3.s 437 | Code | 11 | | 1 | 00/2263 : 7A | ply
|
||||
523 | 1 dlld3.s 438 | Code | 11 | | 2 | 00/2264 : 91 FE | sta ({{$fc}+2}),y
|
||||
524 | 1 dlld3.s 439 | Code | 11 | | 2 | 00/2266 : C9 0D | cmp #{$0d}
|
||||
525 | 1 dlld3.s 440 | Code | 11 | | 2 | 00/2268 : F0 03 | beq receiveSTR8
|
||||
526 | 1 dlld3.s 441 | Code | 11 | | 1 | 00/226A : C8 | iny
|
||||
527 | 1 dlld3.s 442 | Code | 11 | | 2 | 00/226B : D0 E5 | bne receiveSTR1
|
||||
528 | 1 dlld3.s 443 | Code | 11 | | 1 | 00/226D : 18 | receiveSTR8 clc
|
||||
529 | 1 dlld3.s 444 | Code | 11 | | 1 | 00/226E : 60 | rts
|
||||
530 | 1 dlld3.s 445 | Code | 11 | | 1 | 00/226F : 7A | receiveSTR9 ply
|
||||
531 | 1 dlld3.s 446 | Code | 11 | | 1 | 00/2270 : 38 | sec
|
||||
532 | 1 dlld3.s 447 | Code | 11 | | 1 | 00/2271 : 60 | rts
|
||||
533 | 1 dlld3.s 448 | Empty | 11 | | 0 | 00/2272 |
|
||||
534 | 1 dlld3.s 449 | Comment | 11 | | 0 | 00/2272 | *-----------------------------------
|
||||
535 | 1 dlld3.s 450 | Comment | 11 | | 0 | 00/2272 | * DATA
|
||||
536 | 1 dlld3.s 451 | Comment | 11 | | 0 | 00/2272 | *-----------------------------------
|
||||
537 | 1 dlld3.s 452 | Empty | 11 | | 0 | 00/2272 |
|
||||
538 | 1 dlld3.s 453 | Comment | 11 | | 0 | 00/2272 | *---------- Serial data
|
||||
539 | 1 dlld3.s 454 | Empty | 11 | | 0 | 00/2272 |
|
||||
540 | 1 dlld3.s 455 | Data | 11 | | 4 | 00/2272 : 01 45 44 00 | strED asc 01'ED'00 ; *Don't echo output
|
||||
541 | 1 dlld3.s 456 | Data | 11 | | 4 | 00/2276 : 01 42 45 00 | strBE asc 01'BE'00 ; *Input buffering: on
|
||||
542 | 1 dlld3.s 457 | Data | 11 | | 5 | 00/227A : 01 31 32 42 | str12B asc 01'12B'00 ; *Baud rate: 4800 BPS
|
||||
| | | | | | 00 |
|
||||
543 | 1 dlld3.s 458 | Data | 11 | | 4 | 00/227F : 01 30 44 00 | str0D asc 01'0D'00 ; *Data/Stop bits: 8/1
|
||||
544 | 1 dlld3.s 459 | Data | 11 | | 4 | 00/2283 : 01 30 50 00 | str0P asc 01'0P'00 ; *Parity: none
|
||||
545 | 1 dlld3.s 460 | Data | 11 | | 4 | 00/2287 : 01 30 4E 00 | str0N asc 01'0N'00 ; Line length: 0
|
||||
546 | 1 dlld3.s 461 | Data | 11 | | 4 | 00/228B : 01 41 44 00 | strAD asc 01'AD'00 ; *Do not implement basic tabs
|
||||
547 | 1 dlld3.s 462 | Data | 11 | | 4 | 00/228F : 01 43 44 00 | strCD asc 01'CD'00 ; *Disable line formatting
|
||||
548 | 1 dlld3.s 463 | Data | 11 | | 4 | 00/2293 : 01 58 44 00 | strXD asc 01'XD'00 ; *Ignore XOFF
|
||||
549 | 1 dlld3.s 464 | Data | 11 | | 4 | 00/2297 : 01 46 44 00 | strFD asc 01'FD'00 ; *Disable keyboard input
|
||||
550 | 1 dlld3.s 465 | Data | 11 | | 4 | 00/229B : 01 4C 44 00 | strLD asc 01'LD'00 ; Do not add line feeds after CR
|
||||
551 | 1 dlld3.s 466 | Data | 11 | | 4 | 00/229F : 01 4D 45 00 | strME asc 01'ME'00 ; Mask line feed in
|
||||
552 | 1 dlld3.s 467 | Data | 11 | | 3 | 00/22A3 : 01 5A 00 | strZ asc 01'Z'00 ; *Suppress control characters
|
||||
553 | 1 dlld3.s 468 | Empty | 11 | | 0 | 00/22A6 |
|
||||
554 | 1 dlld3.s 469 | Comment | 11 | | 0 | 00/22A6 | *---------- Laserdisc
|
||||
555 | 1 dlld3.s 470 | Empty | 11 | | 0 | 00/22A6 |
|
||||
556 | 1 dlld3.s 471 | Data | 11 | | 90 | 00/22A6 : 00 00 00 00 | ds \
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 |
|
||||
557 | 1 dlld3.s 472 | Empty | 11 | | 0 | 00/2300 |
|
||||
558 | 1 dlld3.s 473 | Data | 11 | | 256 | 00/2300 : 00 00 00 00 | responseBUF ds 256 ; LD player response
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
| | | | | | 00 00 00 00 |
|
||||
559 | 1 dlld3.s 474 | Empty | 11 | | 0 | 00/2400 |
|
||||
560 | 1 dlld3.s 475 | Comment | 11 | | 0 | 00/2400 | *-----------------------------------
|
||||
561 | 1 dlld3.s 476 | Comment | 11 | | 0 | 00/2400 | * END OF CODE
|
||||
562 | 1 dlld3.s 477 | Comment | 11 | | 0 | 00/2400 | *-----------------------------------
|
||||
563 | 1 dlld3.s 478 | Empty | 11 | | 0 | 00/2400 |
|
||||
564 | 1 dlld3.s 479 | Empty | 11 | | 0 | 00/2400 |
|
||||
------+-------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
454
dlld/source/dlld4.s
Normal file
454
dlld/source/dlld4.s
Normal file
@ -0,0 +1,454 @@
|
||||
*
|
||||
* DLLD
|
||||
* Let's play Dragon's Lair :-)
|
||||
*
|
||||
* (c) 2024, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %11
|
||||
org $2000
|
||||
lst off
|
||||
|
||||
use 4/Int.Macs
|
||||
use 4/Misc.Macs
|
||||
use 4/Util.Macs
|
||||
|
||||
*-----------------------------------
|
||||
* MACROS
|
||||
*-----------------------------------
|
||||
|
||||
_sendSTRING mac
|
||||
ldx #>]1
|
||||
ldy #<]1
|
||||
jsr sendString
|
||||
eom
|
||||
|
||||
*-----------------------------------
|
||||
* EQUATES
|
||||
*-----------------------------------
|
||||
|
||||
SLOT = 2
|
||||
N0 = SLOT*16
|
||||
CN = SLOT!$C0
|
||||
|
||||
dpFROM = $fc
|
||||
dpTO = dpFROM+2
|
||||
|
||||
chrRETURN = $0d
|
||||
|
||||
*----------
|
||||
|
||||
CH = $24
|
||||
|
||||
KBD = $c000
|
||||
CLR80VID = $c00c
|
||||
KBDSTROBE = $c010
|
||||
|
||||
INIT = $FB2F
|
||||
TABV = $FB5B
|
||||
HOME = $FC58
|
||||
PRBYTE = $FDDA
|
||||
COUT = $FDED
|
||||
SETNORM = $FE84
|
||||
SETKBD = $FE89
|
||||
|
||||
*-----------------------------------
|
||||
* CODE
|
||||
*-----------------------------------
|
||||
|
||||
bra jumpME
|
||||
|
||||
theFRAME ds 2
|
||||
|
||||
jumpME sta CLR80VID
|
||||
jsr INIT ; text screen
|
||||
jsr SETNORM ; set normal text mode
|
||||
jsr SETKBD ; reset input to keyboard
|
||||
jsr HOME ; home cursor and clear to end of page
|
||||
|
||||
clc
|
||||
xce
|
||||
rep #$30
|
||||
lda #323
|
||||
sta theFRAME
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
|
||||
jsr initSERIAL ; set the serial addresses
|
||||
jsr initPORT ; init the serial port for LD support
|
||||
|
||||
ldx #>strDS ; on veut la frame number
|
||||
ldy #<strDS
|
||||
jsr sendLDCommand
|
||||
|
||||
ldx #>strSA ; start the player
|
||||
ldy #<strSA
|
||||
jsr sendLDCommand
|
||||
|
||||
* jsr setINT
|
||||
|
||||
*----------
|
||||
|
||||
]lp lda KBD ; wait for a key
|
||||
bpl ]lp
|
||||
bit KBDSTROBE
|
||||
|
||||
ldx #>strSE ; Move to frame
|
||||
ldy #<strSE
|
||||
jsr sendLDCommand
|
||||
|
||||
ldx #>strPL ; Play to frame
|
||||
ldy #<strPL
|
||||
jsr sendLDCommand
|
||||
|
||||
* jsr startINT
|
||||
|
||||
*----------
|
||||
|
||||
]lp lda #0
|
||||
sta CH
|
||||
jsr TABV
|
||||
|
||||
ldx #>strQF ; Frame number request
|
||||
ldy #<strQF
|
||||
jsr sendLDCommand
|
||||
|
||||
lda responseBUF
|
||||
ora #$80
|
||||
jsr COUT
|
||||
lda responseBUF+1
|
||||
ora #$80
|
||||
jsr COUT
|
||||
lda responseBUF+2
|
||||
ora #$80
|
||||
jsr COUT
|
||||
lda responseBUF+3
|
||||
ora #$80
|
||||
jsr COUT
|
||||
lda responseBUF+4
|
||||
ora #$80
|
||||
jsr COUT
|
||||
|
||||
* lda theFRAME+1
|
||||
* jsr PRBYTE
|
||||
* lda theFRAME
|
||||
* jsr PRBYTE
|
||||
|
||||
lda KBD ; wait for a key
|
||||
bpl ]lp
|
||||
bit KBDSTROBE
|
||||
|
||||
* jsr stopINT
|
||||
* jsr unsetINT
|
||||
|
||||
*----------
|
||||
|
||||
ldx #>strRJ ; It's the end!
|
||||
ldy #<strRJ
|
||||
jsr sendLDCommand
|
||||
rts
|
||||
|
||||
*--- Data
|
||||
|
||||
strDS asc '1DS'00 ; display frame number
|
||||
strCO asc 'CO'00 ; close the door
|
||||
strSA asc 'SA'00 ; start player
|
||||
strRJ asc 'RJ'00 ; stop the player
|
||||
strQF asc '?F'00 ; which frame are we on?
|
||||
|
||||
strSE asc 'FR00323SE'00 ; set frame...
|
||||
strPL asc 'FR01359PL'00 ; play to frame...
|
||||
|
||||
*-----------------------------------
|
||||
* INTERRUPT
|
||||
*-----------------------------------
|
||||
|
||||
setINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
php
|
||||
sei
|
||||
PushLong #theINT
|
||||
_SetHeartBeat
|
||||
plp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
unsetINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
php
|
||||
sei
|
||||
PushLong #theINT
|
||||
_DelHeartBeat
|
||||
plp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
theINT ds 4
|
||||
dw 1
|
||||
dw $a55A
|
||||
|
||||
rep #$30
|
||||
lda #1
|
||||
stal theINT+4
|
||||
|
||||
ldal theFRAME
|
||||
inc
|
||||
stal theFRAME
|
||||
|
||||
sep #$30
|
||||
clc
|
||||
rtl
|
||||
|
||||
*----------
|
||||
|
||||
startINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
PushWord #2
|
||||
_IntSource
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
stopINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
PushWord #3
|
||||
_IntSource
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* SERIAL PORT (MODEM)
|
||||
*-----------------------------------
|
||||
|
||||
*---------- Set all addressses
|
||||
|
||||
initSERIAL
|
||||
lda $c20d
|
||||
sta doinit+1
|
||||
lda $c20e
|
||||
sta doread+1
|
||||
lda $c20f
|
||||
sta dowrite+1
|
||||
lda $c210
|
||||
sta dostatus+1
|
||||
rts
|
||||
|
||||
doinit jmp $c20d
|
||||
doread jmp $c20e
|
||||
dowrite jmp $c20f
|
||||
dostatus jmp $c210
|
||||
|
||||
*---------- Init modem port for LD support
|
||||
|
||||
initPORT ldx #CN
|
||||
ldy #N0
|
||||
jsr doinit
|
||||
|
||||
_sendSTRING #strED ; Don't echo output
|
||||
_sendSTRING #strBE ; Input buffering: on
|
||||
_sendSTRING #str12B ; Baud rate: 4800 BPS
|
||||
_sendSTRING #str0D ; Data/Stop bits: 8/1
|
||||
_sendSTRING #str0P ; Parity: none
|
||||
_sendSTRING #str0N ; Line length: 0
|
||||
_sendSTRING #strAD ; Do not implement basic tabs
|
||||
_sendSTRING #strCD ; Disable line formatting
|
||||
_sendSTRING #strXD ; Ignore XOFF
|
||||
_sendSTRING #strFD ; Disable keyboard input
|
||||
_sendSTRING #strLD ; Do not add line feeds after CR
|
||||
_sendSTRING #strME ; Mask line feed in
|
||||
_sendSTRING #strZ ; Suppress control characters
|
||||
jsr checkInputReady
|
||||
rts
|
||||
|
||||
*---------- Check the input is ready
|
||||
|
||||
checkInputReady
|
||||
ldx #8
|
||||
ldy #0
|
||||
|
||||
]lp phx
|
||||
phy
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
lda #1
|
||||
jsr dostatus
|
||||
bcs checkIR1
|
||||
|
||||
ply
|
||||
plx
|
||||
dey
|
||||
bne ]lp
|
||||
dex
|
||||
bne ]lp
|
||||
|
||||
sec
|
||||
rts
|
||||
checkIR1 ply
|
||||
plx
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Check the output is ready
|
||||
|
||||
checkOutputReady
|
||||
ldx #8
|
||||
ldy #0
|
||||
|
||||
]lp phx
|
||||
phy
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
lda #0
|
||||
jsr dostatus
|
||||
bcs checkOR1
|
||||
|
||||
ply
|
||||
plx
|
||||
dey
|
||||
bne ]lp
|
||||
dex
|
||||
bne ]lp
|
||||
|
||||
sec
|
||||
rts
|
||||
checkOR1 ply
|
||||
plx
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Send a LD command
|
||||
|
||||
sendLDCommand
|
||||
jsr sendString
|
||||
bcs sendLDError
|
||||
jsr receiveString
|
||||
sendLDError rts
|
||||
|
||||
*---------- Send a string
|
||||
|
||||
sendString
|
||||
sty dpFROM
|
||||
stx dpFROM+1
|
||||
|
||||
]lp lda (dpFROM)
|
||||
beq sendCRS1 ; end of string?
|
||||
jsr sendCharacter
|
||||
bcs sendError ; error!
|
||||
|
||||
inc dpFROM
|
||||
bne ]lp
|
||||
inc dpFROM+1
|
||||
bne ]lp
|
||||
|
||||
sendCRS1 lda #chrRETURN ; yes, add a final CR
|
||||
jsr sendCharacter
|
||||
|
||||
sendError rts
|
||||
|
||||
*---------- Send serial character
|
||||
|
||||
sendCharacter
|
||||
pha
|
||||
|
||||
]lp jsr checkOutputReady
|
||||
bcc sensSC1
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
|
||||
sensSC1 pla
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
jsr dowrite
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Receive string
|
||||
|
||||
receiveString
|
||||
ldx #>responseBUF
|
||||
ldy #<responseBUF
|
||||
sty dpTO
|
||||
stx dpTO+1
|
||||
|
||||
ldy #0
|
||||
receiveSTR1 phy
|
||||
]lp jsr checkInputReady
|
||||
bcs receiveSTR9
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
jsr doread
|
||||
cpx #0
|
||||
bne receiveSTR9
|
||||
|
||||
ply
|
||||
sta (dpTO),y
|
||||
cmp #chrRETURN
|
||||
beq receiveSTR8
|
||||
iny
|
||||
bne receiveSTR1
|
||||
receiveSTR8 clc
|
||||
rts
|
||||
receiveSTR9 ply
|
||||
sec
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* DATA
|
||||
*-----------------------------------
|
||||
|
||||
*---------- Serial data
|
||||
|
||||
strED asc 01'ED'00 ; *Don't echo output
|
||||
strBE asc 01'BE'00 ; *Input buffering: on
|
||||
str12B asc 01'12B'00 ; *Baud rate: 4800 BPS
|
||||
str0D asc 01'0D'00 ; *Data/Stop bits: 8/1
|
||||
str0P asc 01'0P'00 ; *Parity: none
|
||||
str0N asc 01'0N'00 ; Line length: 0
|
||||
strAD asc 01'AD'00 ; *Do not implement basic tabs
|
||||
strCD asc 01'CD'00 ; *Disable line formatting
|
||||
strXD asc 01'XD'00 ; *Ignore XOFF
|
||||
strFD asc 01'FD'00 ; *Disable keyboard input
|
||||
strLD asc 01'LD'00 ; Do not add line feeds after CR
|
||||
strME asc 01'ME'00 ; Mask line feed in
|
||||
strZ asc 01'Z'00 ; *Suppress control characters
|
||||
|
||||
*---------- Laserdisc
|
||||
|
||||
ds \
|
||||
|
||||
responseBUF ds 256 ; LD player response
|
||||
|
||||
*-----------------------------------
|
||||
* END OF CODE
|
||||
*-----------------------------------
|
||||
|
435
dlld/source/dlld5.s
Normal file
435
dlld/source/dlld5.s
Normal file
@ -0,0 +1,435 @@
|
||||
*
|
||||
* DLLD
|
||||
* Let's play Dragon's Lair :-)
|
||||
*
|
||||
* (c) 2024, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %11
|
||||
org $2000
|
||||
lst off
|
||||
|
||||
use 4/Int.Macs
|
||||
use 4/Misc.Macs
|
||||
use 4/Util.Macs
|
||||
|
||||
*-----------------------------------
|
||||
* MACROS
|
||||
*-----------------------------------
|
||||
|
||||
_sendSTRING mac
|
||||
ldx #>]1
|
||||
ldy #<]1
|
||||
jsr sendString
|
||||
eom
|
||||
|
||||
*-----------------------------------
|
||||
* EQUATES
|
||||
*-----------------------------------
|
||||
|
||||
SLOT = 2
|
||||
N0 = SLOT*16
|
||||
CN = SLOT!$C0
|
||||
|
||||
dpFROM = $fc
|
||||
dpTO = dpFROM+2
|
||||
|
||||
chrRETURN = $0d
|
||||
|
||||
*----------
|
||||
|
||||
CH = $24
|
||||
|
||||
KBD = $c000
|
||||
CLR80VID = $c00c
|
||||
KBDSTROBE = $c010
|
||||
|
||||
INIT = $FB2F
|
||||
TABV = $FB5B
|
||||
HOME = $FC58
|
||||
PRBYTE = $FDDA
|
||||
COUT = $FDED
|
||||
SETNORM = $FE84
|
||||
SETKBD = $FE89
|
||||
|
||||
*-----------------------------------
|
||||
* CODE
|
||||
*-----------------------------------
|
||||
|
||||
bra jumpME
|
||||
|
||||
theFRAME ds 2
|
||||
|
||||
jumpME sta CLR80VID
|
||||
jsr INIT ; text screen
|
||||
jsr SETNORM ; set normal text mode
|
||||
jsr SETKBD ; reset input to keyboard
|
||||
jsr HOME ; home cursor and clear to end of page
|
||||
|
||||
clc
|
||||
xce
|
||||
rep #$30
|
||||
lda #323
|
||||
sta theFRAME
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
|
||||
jsr initSERIAL ; set the serial addresses
|
||||
jsr initPORT ; init the serial port for LD support
|
||||
|
||||
ldx #>strDS ; on veut la frame number
|
||||
ldy #<strDS
|
||||
jsr sendLDCommand
|
||||
|
||||
ldx #>strSA ; start the player
|
||||
ldy #<strSA
|
||||
jsr sendLDCommand
|
||||
|
||||
jsr setINT
|
||||
|
||||
*----------
|
||||
|
||||
]lp lda KBD ; wait for a key
|
||||
bpl ]lp
|
||||
bit KBDSTROBE
|
||||
|
||||
ldx #>strSE ; Move to frame
|
||||
ldy #<strSE
|
||||
jsr sendLDCommand
|
||||
|
||||
ldx #>strPL ; Play to frame
|
||||
ldy #<strPL
|
||||
jsr sendLDCommand
|
||||
|
||||
jsr startINT
|
||||
|
||||
*----------
|
||||
|
||||
]lp lda #0
|
||||
sta CH
|
||||
jsr TABV
|
||||
|
||||
lda theFRAME+1
|
||||
jsr PRBYTE
|
||||
lda theFRAME
|
||||
jsr PRBYTE
|
||||
|
||||
lda KBD ; wait for a key
|
||||
bpl ]lp
|
||||
bit KBDSTROBE
|
||||
|
||||
jsr stopINT
|
||||
jsr unsetINT
|
||||
|
||||
*----------
|
||||
|
||||
ldx #>strRJ ; It's the end!
|
||||
ldy #<strRJ
|
||||
jsr sendLDCommand
|
||||
rts
|
||||
|
||||
*--- Data
|
||||
|
||||
strDS asc '1DS'00 ; display frame number
|
||||
strCO asc 'CO'00 ; close the door
|
||||
strSA asc 'SA'00 ; start player
|
||||
strRJ asc 'RJ'00 ; stop the player
|
||||
strQF asc '?F'00 ; which frame are we on?
|
||||
|
||||
strSE asc 'FR00323SE'00 ; set frame...
|
||||
strPL asc 'FR01359PL'00 ; play to frame...
|
||||
|
||||
*-----------------------------------
|
||||
* INTERRUPT
|
||||
*-----------------------------------
|
||||
|
||||
setINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
php
|
||||
sei
|
||||
PushLong #theINT
|
||||
_SetHeartBeat
|
||||
plp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
unsetINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
php
|
||||
sei
|
||||
PushLong #theINT
|
||||
_DelHeartBeat
|
||||
plp
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
theINT ds 4
|
||||
dw 2
|
||||
dw $a55A
|
||||
|
||||
phk
|
||||
plb
|
||||
rep #$30
|
||||
|
||||
lda #2
|
||||
sta theINT+4
|
||||
|
||||
inc theFRAME
|
||||
|
||||
sep #$30
|
||||
clc
|
||||
rtl
|
||||
|
||||
*----------
|
||||
|
||||
startINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
PushWord #2
|
||||
_IntSource
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*----------
|
||||
|
||||
stopINT clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
PushWord #3
|
||||
_IntSource
|
||||
|
||||
sec
|
||||
xce
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* SERIAL PORT (MODEM)
|
||||
*-----------------------------------
|
||||
|
||||
*---------- Set all addressses
|
||||
|
||||
initSERIAL
|
||||
lda $c20d
|
||||
sta doinit+1
|
||||
lda $c20e
|
||||
sta doread+1
|
||||
lda $c20f
|
||||
sta dowrite+1
|
||||
lda $c210
|
||||
sta dostatus+1
|
||||
rts
|
||||
|
||||
doinit jmp $c20d
|
||||
doread jmp $c20e
|
||||
dowrite jmp $c20f
|
||||
dostatus jmp $c210
|
||||
|
||||
*---------- Init modem port for LD support
|
||||
|
||||
initPORT ldx #CN
|
||||
ldy #N0
|
||||
jsr doinit
|
||||
|
||||
_sendSTRING #strED ; Don't echo output
|
||||
_sendSTRING #strBE ; Input buffering: on
|
||||
_sendSTRING #str12B ; Baud rate: 4800 BPS
|
||||
_sendSTRING #str0D ; Data/Stop bits: 8/1
|
||||
_sendSTRING #str0P ; Parity: none
|
||||
_sendSTRING #str0N ; Line length: 0
|
||||
_sendSTRING #strAD ; Do not implement basic tabs
|
||||
_sendSTRING #strCD ; Disable line formatting
|
||||
_sendSTRING #strXD ; Ignore XOFF
|
||||
_sendSTRING #strFD ; Disable keyboard input
|
||||
_sendSTRING #strLD ; Do not add line feeds after CR
|
||||
_sendSTRING #strME ; Mask line feed in
|
||||
_sendSTRING #strZ ; Suppress control characters
|
||||
jsr checkInputReady
|
||||
rts
|
||||
|
||||
*---------- Check the input is ready
|
||||
|
||||
checkInputReady
|
||||
ldx #16
|
||||
ldy #0
|
||||
|
||||
]lp phx
|
||||
phy
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
lda #1
|
||||
jsr dostatus
|
||||
bcs checkIR1
|
||||
|
||||
ply
|
||||
plx
|
||||
dey
|
||||
bne ]lp
|
||||
dex
|
||||
bne ]lp
|
||||
|
||||
sec
|
||||
rts
|
||||
checkIR1 ply
|
||||
plx
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Check the output is ready
|
||||
|
||||
checkOutputReady
|
||||
ldx #16
|
||||
ldy #0
|
||||
|
||||
]lp phx
|
||||
phy
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
lda #0
|
||||
jsr dostatus
|
||||
bcs checkOR1
|
||||
|
||||
ply
|
||||
plx
|
||||
dey
|
||||
bne ]lp
|
||||
dex
|
||||
bne ]lp
|
||||
|
||||
sec
|
||||
rts
|
||||
checkOR1 ply
|
||||
plx
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Send a LD command
|
||||
|
||||
sendLDCommand
|
||||
jsr sendString
|
||||
bcs sendLDError
|
||||
jsr receiveString
|
||||
sendLDError rts
|
||||
|
||||
*---------- Send a string
|
||||
|
||||
sendString
|
||||
sty dpFROM
|
||||
stx dpFROM+1
|
||||
|
||||
]lp lda (dpFROM)
|
||||
beq sendCRS1 ; end of string?
|
||||
jsr sendCharacter
|
||||
bcs sendError ; error!
|
||||
|
||||
inc dpFROM
|
||||
bne ]lp
|
||||
inc dpFROM+1
|
||||
bne ]lp
|
||||
|
||||
sendCRS1 lda #chrRETURN ; yes, add a final CR
|
||||
jsr sendCharacter
|
||||
|
||||
sendError rts
|
||||
|
||||
*---------- Send serial character
|
||||
|
||||
sendCharacter
|
||||
pha
|
||||
|
||||
]lp jsr checkOutputReady
|
||||
bcc sensSC1
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
|
||||
sensSC1 pla
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
jsr dowrite
|
||||
clc
|
||||
rts
|
||||
|
||||
*---------- Receive string
|
||||
|
||||
receiveString
|
||||
ldx #>responseBUF
|
||||
ldy #<responseBUF
|
||||
sty dpTO
|
||||
stx dpTO+1
|
||||
|
||||
ldy #0
|
||||
receiveSTR1 phy
|
||||
]lp jsr checkInputReady
|
||||
bcs receiveSTR9
|
||||
|
||||
ldx #CN
|
||||
ldy #N0
|
||||
jsr doread
|
||||
cpx #0
|
||||
bne receiveSTR9
|
||||
|
||||
ply
|
||||
sta (dpTO),y
|
||||
cmp #chrRETURN
|
||||
beq receiveSTR8
|
||||
iny
|
||||
bne receiveSTR1
|
||||
receiveSTR8 clc
|
||||
rts
|
||||
receiveSTR9 ply
|
||||
sec
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* DATA
|
||||
*-----------------------------------
|
||||
|
||||
*---------- Serial data
|
||||
|
||||
strED asc 01'ED'00 ; *Don't echo output
|
||||
strBE asc 01'BE'00 ; *Input buffering: on
|
||||
str12B asc 01'12B'00 ; *Baud rate: 4800 BPS
|
||||
str0D asc 01'0D'00 ; *Data/Stop bits: 8/1
|
||||
str0P asc 01'0P'00 ; *Parity: none
|
||||
str0N asc 01'0N'00 ; Line length: 0
|
||||
strAD asc 01'AD'00 ; *Do not implement basic tabs
|
||||
strCD asc 01'CD'00 ; *Disable line formatting
|
||||
strXD asc 01'XD'00 ; *Ignore XOFF
|
||||
strFD asc 01'FD'00 ; *Disable keyboard input
|
||||
strLD asc 01'LD'00 ; Do not add line feeds after CR
|
||||
strME asc 01'ME'00 ; Mask line feed in
|
||||
strZ asc 01'Z'00 ; *Suppress control characters
|
||||
|
||||
*---------- Laserdisc
|
||||
|
||||
ds \
|
||||
|
||||
responseBUF ds 256 ; LD player response
|
||||
|
||||
*-----------------------------------
|
||||
* END OF CODE
|
||||
*-----------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user