mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-08 08:33:37 +00:00
Kernel 0.93+
This commit is contained in:
parent
807432e2af
commit
714a4bdff2
Binary file not shown.
|
@ -10,12 +10,12 @@ BUF.InsertClipboard
|
||||||
>STYA ClipboardPtr
|
>STYA ClipboardPtr
|
||||||
jsr BUF.ComputeCOffset
|
jsr BUF.ComputeCOffset
|
||||||
|
|
||||||
lda BufLen
|
lda FileLen
|
||||||
sec
|
sec
|
||||||
ldy #ClipboardLen
|
ldy #ClipboardLen
|
||||||
adc (pData),y
|
adc (pData),y
|
||||||
pha
|
pha
|
||||||
lda BufLen+1
|
lda FileLen+1
|
||||||
iny
|
iny
|
||||||
adc (pData),y
|
adc (pData),y
|
||||||
ply
|
ply
|
||||||
|
@ -30,13 +30,13 @@ BUF.InsertClipboard
|
||||||
|
|
||||||
>LDA.G ClipboardLen
|
>LDA.G ClipboardLen
|
||||||
clc
|
clc
|
||||||
adc BufLen
|
adc FileLen
|
||||||
sta BufLen
|
sta FileLen
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
adc BufLen+1
|
adc FileLen+1
|
||||||
sta BufLen+1
|
sta FileLen+1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -45,11 +45,11 @@ BUF.InsertTAB jsr BUF.ComputeCOffset
|
||||||
cpy #256-TABLEN
|
cpy #256-TABLEN
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda BufLen
|
lda FileLen
|
||||||
sec
|
sec
|
||||||
adc #TABLEN
|
adc #TABLEN
|
||||||
tay
|
tay
|
||||||
lda BufLen+1
|
lda FileLen+1
|
||||||
adc #0
|
adc #0
|
||||||
|
|
||||||
jsr BUF.GetNewYA
|
jsr BUF.GetNewYA
|
||||||
|
@ -71,13 +71,13 @@ BUF.InsertTAB jsr BUF.ComputeCOffset
|
||||||
|
|
||||||
.3 jsr BUF.CopyTail
|
.3 jsr BUF.CopyTail
|
||||||
|
|
||||||
.4 lda BufLen
|
.4 lda FileLen
|
||||||
clc
|
clc
|
||||||
adc #TABLEN
|
adc #TABLEN
|
||||||
sta BufLen
|
sta FileLen
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
inc BufLen+1
|
inc FileLen+1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -87,11 +87,11 @@ BUF.InsertA sta TmpByte
|
||||||
cpy #255
|
cpy #255
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda BufLen
|
lda FileLen
|
||||||
clc
|
clc
|
||||||
adc #2
|
adc #2
|
||||||
tay
|
tay
|
||||||
lda BufLen+1
|
lda FileLen+1
|
||||||
adc #0
|
adc #0
|
||||||
|
|
||||||
jsr BUF.GetNewYA
|
jsr BUF.GetNewYA
|
||||||
|
@ -108,9 +108,9 @@ BUF.InsertA sta TmpByte
|
||||||
|
|
||||||
.3 jsr BUF.CopyTail
|
.3 jsr BUF.CopyTail
|
||||||
|
|
||||||
.4 inc BufLen
|
.4 inc FileLen
|
||||||
bne .8
|
bne .8
|
||||||
inc BufLen+1
|
inc FileLen+1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -118,11 +118,11 @@ BUF.InsertA sta TmpByte
|
||||||
BUF.DelSel jsr BUF.GetSelLen
|
BUF.DelSel jsr BUF.GetSelLen
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
lda BufLen
|
lda FileLen
|
||||||
sec
|
sec
|
||||||
sbc SelLen
|
sbc SelLen
|
||||||
tay
|
tay
|
||||||
lda BufLen+1
|
lda FileLen+1
|
||||||
sbc SelLen+1
|
sbc SelLen+1
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
@ -142,13 +142,13 @@ BUF.DelSel jsr BUF.GetSelLen
|
||||||
sta BufPtrBackup+1
|
sta BufPtrBackup+1
|
||||||
jsr BUF.CopyTail
|
jsr BUF.CopyTail
|
||||||
|
|
||||||
lda BufLen
|
lda FileLen
|
||||||
sec
|
sec
|
||||||
sbc SelLen
|
sbc SelLen
|
||||||
sta BufLen
|
sta FileLen
|
||||||
lda BufLen+1
|
lda FileLen+1
|
||||||
sbc SelLen+1
|
sbc SelLen+1
|
||||||
sta BufLen+1
|
sta FileLen+1
|
||||||
|
|
||||||
jsr BUF.ResetSel
|
jsr BUF.ResetSel
|
||||||
.8 clc
|
.8 clc
|
||||||
|
@ -157,7 +157,7 @@ BUF.DelSel jsr BUF.GetSelLen
|
||||||
* Erase char at CurXY
|
* Erase char at CurXY
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.DelCharAtCursor
|
BUF.DelCharAtCursor
|
||||||
>LDYA BufLen
|
>LDYA FileLen
|
||||||
jsr BUF.GetNewYA BufferLen-1
|
jsr BUF.GetNewYA BufferLen-1
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -173,10 +173,10 @@ BUF.DelCharAtCursor
|
||||||
|
|
||||||
.4 jsr BUF.CopyTail
|
.4 jsr BUF.CopyTail
|
||||||
|
|
||||||
lda BufLen
|
lda FileLen
|
||||||
bne .5
|
bne .5
|
||||||
dec BufLen+1
|
dec FileLen+1
|
||||||
.5 dec BufLen
|
.5 dec FileLen
|
||||||
|
|
||||||
jsr BUF.ResetSel
|
jsr BUF.ResetSel
|
||||||
pla Get back deleted char
|
pla Get back deleted char
|
||||||
|
|
|
@ -438,10 +438,10 @@ Ctrl.D jsr BUF.DelSel
|
||||||
Ctrl.Z jsr BUF.ComputeCOffset
|
Ctrl.Z jsr BUF.ComputeCOffset
|
||||||
|
|
||||||
lda BUF.COffset
|
lda BUF.COffset
|
||||||
eor BufLen
|
eor FileLen
|
||||||
bne .1
|
bne .1
|
||||||
lda BUF.COffset+1
|
lda BUF.COffset+1
|
||||||
eor BufLen+1
|
eor FileLen+1
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
|
148
BIN/EDIT.S.FILE.txt
Normal file
148
BIN/EDIT.S.FILE.txt
Normal file
|
@ -0,0 +1,148 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
.LIST OFF
|
||||||
|
*--------------------------------------
|
||||||
|
NewFile stz FileLen
|
||||||
|
stz FileLen+1
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
LoadFile >PUSHWZ Aux type
|
||||||
|
>PUSHBZ Type
|
||||||
|
>PUSHBI O.RDONLY
|
||||||
|
>LDA.G hFileName
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>SYSCALL fopen
|
||||||
|
bcs NewFile
|
||||||
|
|
||||||
|
txa
|
||||||
|
>STA.G hFile
|
||||||
|
|
||||||
|
>PUSHEA.G STATBUF
|
||||||
|
>LDA.G hFile
|
||||||
|
>SYSCALL fstat
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>LDA.G STATBUF+S.STAT.P.TYPE
|
||||||
|
cmp #S.FI.T.TXT
|
||||||
|
beq LoadFile.TXT
|
||||||
|
cmp #$FA S-C/ASM?
|
||||||
|
bne .91
|
||||||
|
|
||||||
|
jmp LoadFile.ASM
|
||||||
|
|
||||||
|
>LDA.G hFile
|
||||||
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
.91 lda #MLI.E.INCFF
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
>LDA.G STATBUF+S.STAT.SIZE+3
|
||||||
|
dey
|
||||||
|
ora (pData),y
|
||||||
|
bne .90
|
||||||
|
|
||||||
|
dey
|
||||||
|
lda (pData),y Size HI
|
||||||
|
adc #4 1K more
|
||||||
|
|
||||||
|
ldy #0 Size LO
|
||||||
|
>STYA BufLen
|
||||||
|
|
||||||
|
>SYSCALL GetMem
|
||||||
|
>STYA BufPtr
|
||||||
|
|
||||||
|
txa
|
||||||
|
>STA.G hBuffer
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
.1 lda (BufPtrBackup),y
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
cpx #C.CR
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
cmp #C.LF
|
||||||
|
beq .5
|
||||||
|
|
||||||
|
.2 cmp #C.SPACE
|
||||||
|
bcs .3
|
||||||
|
|
||||||
|
cmp #C.CR
|
||||||
|
bne .5
|
||||||
|
|
||||||
|
.3 sta (BufPtr)
|
||||||
|
inc BufPtr
|
||||||
|
bne .4
|
||||||
|
inc BufPtr+1
|
||||||
|
.4 inc FileLen
|
||||||
|
bne .5
|
||||||
|
inc FileLen+1
|
||||||
|
|
||||||
|
.5 tax set previous char
|
||||||
|
iny
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
inc BufPtrBackup+1
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 sta (BufPtr)
|
||||||
|
clc
|
||||||
|
.9 jmp BUF.ResetSel
|
||||||
|
|
||||||
|
.90 lda #E.FTB
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
LoadFile.TXT stz
|
||||||
|
*--------------------------------------
|
||||||
|
LoadFile.ASM
|
||||||
|
lda #MLI.E.INCFF
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
SaveFile >PUSHWZ Aux type
|
||||||
|
>PUSHBI S.FI.T.TXT
|
||||||
|
>PUSHBI O.CREATE+O.WRONLY
|
||||||
|
>LDA.G hFileName
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
|
||||||
|
>SYSCALL FOpen
|
||||||
|
bcs .9
|
||||||
|
pha
|
||||||
|
>PUSHW FileLen
|
||||||
|
>LDA.G hBuffer
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>PUSHYA
|
||||||
|
pla
|
||||||
|
pha
|
||||||
|
|
||||||
|
>SYSCALL FWrite
|
||||||
|
bcc .1
|
||||||
|
|
||||||
|
tax
|
||||||
|
pla
|
||||||
|
phx
|
||||||
|
>SYSCALL FClose
|
||||||
|
pla
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.1 pla
|
||||||
|
>SYSCALL FClose
|
||||||
|
|
||||||
|
lda #$80
|
||||||
|
>STA.G bSaved
|
||||||
|
jsr SCRN.UpdateTopBar
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE USR/SRC/BIN/EDIT.S.FILE
|
||||||
|
LOAD USR/SRC/BIN/EDIT.S
|
||||||
|
ASM
|
|
@ -291,7 +291,7 @@ SCRN.UpdateStatusBar
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHW BUF.COffset
|
>PUSHW BUF.COffset
|
||||||
>PUSHW BufLen
|
>PUSHW FileLen
|
||||||
|
|
||||||
>PUSHBI 7
|
>PUSHBI 7
|
||||||
bra SCRN.UpdateStatusBarOut
|
bra SCRN.UpdateStatusBarOut
|
||||||
|
|
|
@ -22,6 +22,7 @@ BUF.COffset .BS 2
|
||||||
BUF.TmpLine1 .BS 2
|
BUF.TmpLine1 .BS 2
|
||||||
BUF.TmpLine2 .BS 2
|
BUF.TmpLine2 .BS 2
|
||||||
|
|
||||||
|
FileLen .BS 2
|
||||||
BufLen .BS 2
|
BufLen .BS 2
|
||||||
SelLen .BS 2
|
SelLen .BS 2
|
||||||
TmpLen .BS 2
|
TmpLen .BS 2
|
||||||
|
@ -153,7 +154,7 @@ CS.RUN >PUSHBI 0
|
||||||
bcs CS.RUN.RTS
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
txa
|
txa
|
||||||
>STA.G hBuffer BufLen already set to 0
|
>STA.G hBuffer FileLen already set to 0
|
||||||
|
|
||||||
.3 lda #$ff
|
.3 lda #$ff
|
||||||
>STA.G bSaved
|
>STA.G bSaved
|
||||||
|
@ -339,99 +340,10 @@ CharIn.Esc >STZ.G bEscMode
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
|
||||||
LoadFile >PUSHWZ Aux type
|
|
||||||
>PUSHBI S.FI.T.TXT
|
|
||||||
>PUSHBI O.RDONLY
|
|
||||||
>LDA.G hFileName
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>SYSCALL LoadTXTFile
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
txa
|
|
||||||
>STA.G hBuffer
|
|
||||||
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA BufPtr
|
|
||||||
>STYA BufPtrBackup
|
|
||||||
stz BufLen
|
|
||||||
stz BufLen+1
|
|
||||||
|
|
||||||
ldy #0
|
|
||||||
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
.1 lda (BufPtrBackup),y
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
cpx #C.CR
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
cmp #C.LF
|
|
||||||
beq .5
|
|
||||||
|
|
||||||
.2 cmp #C.SPACE
|
|
||||||
bcs .3
|
|
||||||
|
|
||||||
cmp #C.CR
|
|
||||||
bne .5
|
|
||||||
|
|
||||||
.3 sta (BufPtr)
|
|
||||||
inc BufPtr
|
|
||||||
bne .4
|
|
||||||
inc BufPtr+1
|
|
||||||
.4 inc BufLen
|
|
||||||
bne .5
|
|
||||||
inc BufLen+1
|
|
||||||
|
|
||||||
.5 tax set previous char
|
|
||||||
iny
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
inc BufPtrBackup+1
|
|
||||||
bra .1
|
|
||||||
|
|
||||||
.8 sta (BufPtr)
|
|
||||||
clc
|
|
||||||
.9 jmp BUF.ResetSel
|
|
||||||
*--------------------------------------
|
|
||||||
SaveFile >PUSHWZ Aux type
|
|
||||||
>PUSHBI S.FI.T.TXT
|
|
||||||
>PUSHBI O.CREATE+O.WRONLY
|
|
||||||
>LDA.G hFileName
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
|
|
||||||
>SYSCALL FOpen
|
|
||||||
bcs .9
|
|
||||||
pha
|
|
||||||
>PUSHW BufLen
|
|
||||||
>LDA.G hBuffer
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>PUSHYA
|
|
||||||
pla
|
|
||||||
pha
|
|
||||||
|
|
||||||
>SYSCALL FWrite
|
|
||||||
bcc .1
|
|
||||||
|
|
||||||
tax
|
|
||||||
pla
|
|
||||||
phx
|
|
||||||
>SYSCALL FClose
|
|
||||||
pla
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.1 pla
|
|
||||||
>SYSCALL FClose
|
|
||||||
|
|
||||||
lda #$80
|
|
||||||
>STA.G bSaved
|
|
||||||
jsr SCRN.UpdateTopBar
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB USR/SRC/BIN/EDIT.S.BUF
|
.INB USR/SRC/BIN/EDIT.S.BUF
|
||||||
.INB USR/SRC/BIN/EDIT.S.CTRL
|
.INB USR/SRC/BIN/EDIT.S.CTRL
|
||||||
|
.INB USR/SRC/BIN/EDIT.S.FILE
|
||||||
.INB USR/SRC/BIN/EDIT.S.SCRN
|
.INB USR/SRC/BIN/EDIT.S.SCRN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
|
@ -490,8 +402,10 @@ PromptBufPtr .BS 1
|
||||||
PromptMode .BS 1
|
PromptMode .BS 1
|
||||||
bExit .BS 1
|
bExit .BS 1
|
||||||
bSaved .BS 1
|
bSaved .BS 1
|
||||||
|
bCRLF .BS 1
|
||||||
bEscMode .BS 1
|
bEscMode .BS 1
|
||||||
EscBuffer .BS 16
|
EscBuffer .BS 16
|
||||||
|
hFile .BS 1
|
||||||
hFileName .BS 1
|
hFileName .BS 1
|
||||||
hFind .BS 1
|
hFind .BS 1
|
||||||
hReplace .BS 1
|
hReplace .BS 1
|
||||||
|
@ -512,6 +426,7 @@ ScreenX .BS 1
|
||||||
ScreenY .BS 2
|
ScreenY .BS 2
|
||||||
CurX .BS 1
|
CurX .BS 1
|
||||||
CurY .BS 1
|
CurY .BS 1
|
||||||
|
STATBUF .BS S.STAT
|
||||||
DS.END
|
DS.END
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
171
BIN/TERM.S.txt
Normal file
171
BIN/TERM.S.txt
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
.LIST OFF
|
||||||
|
.OP 65C02
|
||||||
|
.OR $2000
|
||||||
|
.TF BIN/TERM
|
||||||
|
*--------------------------------------
|
||||||
|
.INB INC/MACROS.I
|
||||||
|
.INB INC/A2OSX.I
|
||||||
|
.INB INC/ETH.I
|
||||||
|
.INB INC/LIBTCPIP.I
|
||||||
|
.INB INC/NET.TELNET.I
|
||||||
|
*--------------------------------------
|
||||||
|
TIMEOUT.MAX .EQ 200 20 sec.
|
||||||
|
BUFSIZE .EQ 256
|
||||||
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR ZPBIN
|
||||||
|
ZS.START
|
||||||
|
ZPDevName .BS 2
|
||||||
|
ZPBufPtr .BS 2
|
||||||
|
ZPBufLen .BS 2
|
||||||
|
hBuf .BS 1
|
||||||
|
hDev .BS 1
|
||||||
|
TimeOut .BS 1
|
||||||
|
ZS.END
|
||||||
|
.ED
|
||||||
|
*--------------------------------------
|
||||||
|
* File Header (16 Bytes)
|
||||||
|
*--------------------------------------
|
||||||
|
CS.START cld
|
||||||
|
jmp (.1,x)
|
||||||
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
|
.DA #1 BIN Layout Version 1
|
||||||
|
.DA #S.PS.F.EVENT S.PS.F
|
||||||
|
.DA #0
|
||||||
|
.DA CS.END-CS.START Code Size (without Constants)
|
||||||
|
.DA DS.END-DS.START Data Segment Size
|
||||||
|
.DA #32 Stack Size
|
||||||
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
|
.DA 0
|
||||||
|
*--------------------------------------
|
||||||
|
.1 .DA CS.INIT
|
||||||
|
.DA CS.RUN
|
||||||
|
.DA CS.DOEVENT
|
||||||
|
.DA CS.QUIT
|
||||||
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
|
L.MSG.DEVOK .DA MSG.DEVOK
|
||||||
|
.DA 0
|
||||||
|
*--------------------------------------
|
||||||
|
CS.INIT clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN lda #1
|
||||||
|
>SYSCALL ArgV
|
||||||
|
bcs .9
|
||||||
|
>STYA ZPDevName
|
||||||
|
|
||||||
|
>PUSHWZ auxtype
|
||||||
|
>PUSHBI 0 type >PUSHBI O.RDWR
|
||||||
|
>PUSHBI O.RDWR
|
||||||
|
>LDYA ZPDevName
|
||||||
|
>SYSCALL fopen
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
stx hDev
|
||||||
|
>LDYA L.MSG.DEVOK
|
||||||
|
>SYSCALL puts
|
||||||
|
|
||||||
|
>LDYAI BUFSIZE
|
||||||
|
>SYSCALL getmem
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>STYA ZPBufPtr
|
||||||
|
stx hBuf
|
||||||
|
|
||||||
|
bra CS.RUN.LOOP
|
||||||
|
|
||||||
|
.9 >LDYA L.MSG.USAGE
|
||||||
|
>SYSCALL puts
|
||||||
|
|
||||||
|
lda #E.SYN
|
||||||
|
sec
|
||||||
|
.99 rts
|
||||||
|
|
||||||
|
CS.RUN.LOOP >SLEEP
|
||||||
|
|
||||||
|
lda hDev
|
||||||
|
>SYSCALL feof
|
||||||
|
bcs .99
|
||||||
|
tay
|
||||||
|
bne .2 EOF, no char
|
||||||
|
|
||||||
|
>PUSHWI BUFSIZE
|
||||||
|
>PUSHW ZPBufPtr
|
||||||
|
lda hDev
|
||||||
|
>SYSCALL fRead
|
||||||
|
bcc .1
|
||||||
|
.99 rts
|
||||||
|
|
||||||
|
.1 >PUSHYA len
|
||||||
|
>PUSHW ZPBufPtr
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
lda (pPs),y
|
||||||
|
>SYSCALL fwrite
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
.2 ldy #S.PS.hStdIn
|
||||||
|
lda (pPs),y
|
||||||
|
|
||||||
|
>SYSCALL feof
|
||||||
|
bcs .9
|
||||||
|
tay
|
||||||
|
bne CS.RUN.LOOP EOF = true, no char from STDIN
|
||||||
|
|
||||||
|
>PUSHWI BUFSIZE
|
||||||
|
>PUSHW ZPBufPtr
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
lda (pPs),y
|
||||||
|
>SYSCALL fread
|
||||||
|
.3 bcs .9
|
||||||
|
|
||||||
|
>STYA ZPBufLen
|
||||||
|
lda (ZPBufPtr)
|
||||||
|
cmp #$14 Ctrl-T
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
>PUSHW ZPBufLen
|
||||||
|
>PUSHW ZPBufPtr
|
||||||
|
lda hDev
|
||||||
|
>SYSCALL fWrite
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jmp CS.RUN.LOOP
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.DOEVENT lda (pEvent)
|
||||||
|
bpl .9 is it a TIMER event?
|
||||||
|
lda TimeOut
|
||||||
|
beq .9
|
||||||
|
dec TimeOut
|
||||||
|
.9 sec do not discard TIMER event
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.QUIT lda hDev
|
||||||
|
beq .1
|
||||||
|
|
||||||
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
.1 lda hBuf
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
>SYSCALL freemem
|
||||||
|
|
||||||
|
.2 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.END
|
||||||
|
MSG.USAGE .AZ "Usage : TERM device "
|
||||||
|
MSG.DEVOK .AZ "Connected (Exit key is Ctrl-T)"
|
||||||
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR 0
|
||||||
|
DS.START
|
||||||
|
DS.END
|
||||||
|
.ED
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE USR/SRC/BIN/TERM.S
|
||||||
|
ASM
|
|
@ -52,7 +52,6 @@ CCLK.START >SHORTMX 8 bit mode.
|
||||||
xce to continue with Prodos 8
|
xce to continue with Prodos 8
|
||||||
rts
|
rts
|
||||||
savestate .HS 00 state of the state register
|
savestate .HS 00 state of the state register
|
||||||
.AS "JIMJAYKERRY&MIKE"
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CCLK.LEN .EQ *-CCLK.START
|
CCLK.LEN .EQ *-CCLK.START
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -3,10 +3,11 @@ NEW
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Thunderclock driver
|
* Thunderclock driver
|
||||||
* hard coded for slot 1
|
* hard coded for slot 1
|
||||||
* $2F00-2F7C moved to $D742
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
clkmode .EQ $0538 clock mode
|
clkmode .EQ $0538 clock mode
|
||||||
|
rdtcp .EQ $C108 Thunderclock read entry
|
||||||
|
wttcp .EQ $C10B Thunderclock write entry
|
||||||
|
*--------------------------------------
|
||||||
TCLK.START ldx TCLK.Cx2+2 clock slot = $C1.
|
TCLK.START ldx TCLK.Cx2+2 clock slot = $C1.
|
||||||
|
|
||||||
lda clkmode,x save current mode
|
lda clkmode,x save current mode
|
||||||
|
@ -77,7 +78,7 @@ TCLK.Cx2 jsr rdtcp read month, day of week, day of month
|
||||||
pla restore previous mode.
|
pla restore previous mode.
|
||||||
ldx TCLK.Cx2+2 clock slot = $C1
|
ldx TCLK.Cx2+2 clock slot = $C1
|
||||||
sta clkmode,x
|
sta clkmode,x
|
||||||
TCLK.CEND rts
|
rts
|
||||||
|
|
||||||
* this table contains entries for the cumulative # of days in a year,
|
* this table contains entries for the cumulative # of days in a year,
|
||||||
* one entry for each month. the values are modulo 256.
|
* one entry for each month. the values are modulo 256.
|
||||||
|
@ -109,7 +110,6 @@ yradj .DA #$12 Monday
|
||||||
.DA #$14 Wednesday
|
.DA #$14 Wednesday
|
||||||
.DA #$13 Tuesday
|
.DA #$13 Tuesday
|
||||||
|
|
||||||
TCLK.END .HS 000000 pad
|
|
||||||
TCLK.LEN .EQ *-TCLK.START
|
TCLK.LEN .EQ *-TCLK.START
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -62,7 +62,6 @@ ecde .EQ $1A
|
||||||
|
|
||||||
wndbtm .EQ $23
|
wndbtm .EQ $23
|
||||||
|
|
||||||
|
|
||||||
pcl .EQ $3A
|
pcl .EQ $3A
|
||||||
pch .EQ $3B
|
pch .EQ $3B
|
||||||
A1L .EQ $3C
|
A1L .EQ $3C
|
||||||
|
@ -142,9 +141,6 @@ q6h .EQ $C08D disk port
|
||||||
q7l .EQ $C08E disk port
|
q7l .EQ $C08E disk port
|
||||||
q7h .EQ $C08F disk port
|
q7h .EQ $C08F disk port
|
||||||
|
|
||||||
rdtcp .EQ $C108 Thunderclock read entry
|
|
||||||
wttcp .EQ $C10B Thunderclock write entry
|
|
||||||
|
|
||||||
auxmove .EQ $C311 move (3C)-(3E) to (42)
|
auxmove .EQ $C311 move (3C)-(3E) to (42)
|
||||||
xfer .EQ $C314
|
xfer .EQ $C314
|
||||||
|
|
||||||
|
|
|
@ -16,19 +16,27 @@ X.Unpak jsr X.Unpak.GetByte CHNK.DATA.T
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
X.Unpak.STORE jsr X.Unpak.GetULEN
|
X.Unpak.STORE jsr X.Unpak.GetULEN
|
||||||
|
|
||||||
|
ldx ZPnCnt !LEN LO
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 lda (ZPInBufPtr),y
|
.1 inx
|
||||||
|
|
||||||
iny
|
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
inc ZPInBufPtr+1
|
inc ZPnCnt+1
|
||||||
|
beq .8
|
||||||
.2 jsr X.Unpak.PutByte
|
|
||||||
|
.2 lda (ZPInBufPtr),y
|
||||||
|
sta (ZPOutBufPtr),y
|
||||||
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
inc ZPInBufPtr+1
|
||||||
|
inc ZPOutBufPtr+1
|
||||||
|
|
||||||
clc
|
bra .1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
X.Unpak.PAK pha A = BLBITS
|
X.Unpak.PAK pha A = BLBITS
|
||||||
|
|
Loading…
Reference in New Issue
Block a user