mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-02 13:41:30 +00:00
Kernel 0.94
This commit is contained in:
parent
ba6ee5fd3f
commit
b899f75648
Binary file not shown.
Binary file not shown.
12
A2osX.S.txt
12
A2osX.S.txt
|
@ -210,23 +210,29 @@ A2osX.ScreenDLGR
|
||||||
sta WNDTOP
|
sta WNDTOP
|
||||||
sta CV
|
sta CV
|
||||||
jsr VTAB
|
jsr VTAB
|
||||||
|
|
||||||
sta CLRHIRES
|
sta CLRHIRES
|
||||||
sta SETMIXED
|
sta SETMIXED
|
||||||
sta CLRTEXT
|
sta CLRTEXT
|
||||||
|
sta SET80DISP
|
||||||
sta SET80STORE
|
sta SET80STORE
|
||||||
|
sta SETIOUDIS
|
||||||
sta SETDHIRES
|
sta SETDHIRES
|
||||||
|
|
||||||
lda #A2osX.LOGOLOAD+S.BM
|
lda #A2osX.LOGOLOAD+S.BM
|
||||||
sta TmpPtr1
|
sta TmpPtr1
|
||||||
lda /A2osX.LOGOLOAD+S.BM
|
lda /A2osX.LOGOLOAD+S.BM
|
||||||
sta TmpPtr1+1
|
sta TmpPtr1+1
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 lda SCR.BASEL,x
|
.1 lda SCR.BASEL,x
|
||||||
sta TmpPtr2
|
sta TmpPtr2
|
||||||
lda SCR.BASEH,x
|
lda SCR.BASEH,x
|
||||||
sta TmpPtr2+1
|
sta TmpPtr2+1
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 lda (TmpPtr1),y
|
.2 lda (TmpPtr1),y
|
||||||
pha
|
pha
|
||||||
and #$f
|
and #$f
|
||||||
|
@ -247,12 +253,15 @@ A2osX.ScreenDLGR
|
||||||
iny
|
iny
|
||||||
cpy #40
|
cpy #40
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
lda TmpPtr1
|
lda TmpPtr1
|
||||||
clc
|
clc
|
||||||
adc #40
|
adc #40
|
||||||
sta TmpPtr1
|
sta TmpPtr1
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
inc TmpPtr1+1
|
inc TmpPtr1+1
|
||||||
|
|
||||||
.3 ldy #0
|
.3 ldy #0
|
||||||
|
|
||||||
.4 lda (TmpPtr1),y
|
.4 lda (TmpPtr1),y
|
||||||
|
@ -278,12 +287,15 @@ A2osX.ScreenDLGR
|
||||||
iny
|
iny
|
||||||
cpy #40
|
cpy #40
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
lda TmpPtr1
|
lda TmpPtr1
|
||||||
clc
|
clc
|
||||||
adc #40
|
adc #40
|
||||||
sta TmpPtr1
|
sta TmpPtr1
|
||||||
bcc .7
|
bcc .7
|
||||||
|
|
||||||
inc TmpPtr1+1
|
inc TmpPtr1+1
|
||||||
|
|
||||||
.7 inx
|
.7 inx
|
||||||
cpx #20
|
cpx #20
|
||||||
bne .1
|
bne .1
|
||||||
|
|
115
BIN/IRC.S.txt
115
BIN/IRC.S.txt
|
@ -37,8 +37,10 @@ bEscMode .BS 1
|
||||||
|
|
||||||
TimeOut .BS 1
|
TimeOut .BS 1
|
||||||
|
|
||||||
|
bJoin .BS 1
|
||||||
hMsgBuf .BS 1
|
hMsgBuf .BS 1
|
||||||
ZPMsgPtr .BS 2
|
ZPMsgPtr .BS 2
|
||||||
|
|
||||||
ZPMsgPfxPtr .BS 2
|
ZPMsgPfxPtr .BS 2
|
||||||
ZPMsgCmdPtr .BS 2
|
ZPMsgCmdPtr .BS 2
|
||||||
ZPMsgArgPtr .BS 2
|
ZPMsgArgPtr .BS 2
|
||||||
|
@ -92,13 +94,18 @@ L.SEQ.INIT .DA SEQ.INIT
|
||||||
L.SEQ.BAR .DA SEQ.BAR
|
L.SEQ.BAR .DA SEQ.BAR
|
||||||
L.SEQ.TXTCLR .DA SEQ.TXTCLR
|
L.SEQ.TXTCLR .DA SEQ.TXTCLR
|
||||||
L.SEQ.PRIVMSG .DA SEQ.PRIVMSG
|
L.SEQ.PRIVMSG .DA SEQ.PRIVMSG
|
||||||
|
L.SEQ.INFOMSG .DA SEQ.INFOMSG
|
||||||
L.SEQ.DUMPMSG .DA SEQ.DUMPMSG
|
L.SEQ.DUMPMSG .DA SEQ.DUMPMSG
|
||||||
L.SEQ.RESET .DA SEQ.RESET
|
L.SEQ.RESET .DA SEQ.RESET
|
||||||
L.IRC.CMDS .DA IRC.CMDS
|
L.IRC.CMDS .DA IRC.CMDS
|
||||||
J.IRC.CMDS .DA CS.RUN.CMD.PING
|
J.IRC.CMDS .DA CS.RUN.CMD.JOIN
|
||||||
|
.DA CS.RUN.CMD.PING
|
||||||
.DA CS.RUN.CMD.PRIVMSG
|
.DA CS.RUN.CMD.PRIVMSG
|
||||||
.DA CS.RUN.CMD.MODE
|
.DA CS.RUN.CMD.MODE
|
||||||
.DA CS.RUN.CMD.353
|
.DA CS.RUN.CMD.353
|
||||||
|
.DA CS.RUN.CMD.375
|
||||||
|
.DA CS.RUN.CMD.372
|
||||||
|
.DA CS.RUN.CMD.376
|
||||||
J.ESC .DA CS.RUN.CHARIN.LEFT
|
J.ESC .DA CS.RUN.CHARIN.LEFT
|
||||||
.DA CS.RUN.CHARIN.DOWN
|
.DA CS.RUN.CHARIN.DOWN
|
||||||
.DA CS.RUN.CHARIN.UP
|
.DA CS.RUN.CHARIN.UP
|
||||||
|
@ -252,7 +259,7 @@ CS.RUN.OPENSKT >PUSHBI 0 no protocol
|
||||||
jsr CS.RUN.JOIN
|
jsr CS.RUN.JOIN
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>LDYA pData
|
>LDYA pData NULLSTRING
|
||||||
jsr CS.RUN.STATUSPDATE
|
jsr CS.RUN.STATUSPDATE
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
@ -262,15 +269,21 @@ CS.RUN.LOOP >SLEEP
|
||||||
>SYSCALL feof
|
>SYSCALL feof
|
||||||
bcs .9
|
bcs .9
|
||||||
tay
|
tay
|
||||||
bne .2
|
* bne .2
|
||||||
|
beq .77
|
||||||
|
|
||||||
|
lda $427
|
||||||
|
eor #$80
|
||||||
|
sta $427
|
||||||
|
bra .2
|
||||||
|
|
||||||
>PUSHWI MSGSIZE
|
.77 >PUSHWI MSGSIZE
|
||||||
>PUSHW ZPMsgPtr
|
>PUSHW ZPMsgPtr
|
||||||
lda hFile
|
lda hFile
|
||||||
>SYSCALL fgets
|
>SYSCALL fgets
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.1 jsr CS.RUN.REQ
|
jsr CS.RUN.REQ
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.2 ldy #S.PS.hStdIn
|
.2 ldy #S.PS.hStdIn
|
||||||
|
@ -536,31 +549,6 @@ CS.RUN.JOIN >LDYA L.MSG.JOIN
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
|
|
||||||
.2 >SYSCALL FPrintF
|
.2 >SYSCALL FPrintF
|
||||||
bcs .9
|
|
||||||
|
|
||||||
.3 >SLEEP
|
|
||||||
|
|
||||||
>PUSHWI MSGSIZE
|
|
||||||
>PUSHW ZPMsgPtr
|
|
||||||
lda hFile
|
|
||||||
>SYSCALL fgets
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
.4 jsr CS.RUN.SPLITMSG
|
|
||||||
jsr CS.RUN.DUMPMSG
|
|
||||||
|
|
||||||
ldy #$ff
|
|
||||||
|
|
||||||
.5 iny
|
|
||||||
lda IRC.REP.JOIN,y
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
cmp (ZPMsgCmdPtr),y
|
|
||||||
beq .5
|
|
||||||
|
|
||||||
bra .3
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.REQ jsr CS.RUN.SPLITMSG
|
CS.RUN.REQ jsr CS.RUN.SPLITMSG
|
||||||
|
@ -609,6 +597,13 @@ CS.RUN.REQ jsr CS.RUN.SPLITMSG
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.RUN.CMD.JOIN sec
|
||||||
|
ror bJoin
|
||||||
|
lda #'J'
|
||||||
|
sta $427
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CS.RUN.CMD.PING >PUSHB hFile
|
CS.RUN.CMD.PING >PUSHB hFile
|
||||||
|
|
||||||
>PUSHW L.IRC.PONG
|
>PUSHW L.IRC.PONG
|
||||||
|
@ -618,7 +613,17 @@ CS.RUN.CMD.PING >PUSHB hFile
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CMD.PRIVMSG
|
CS.RUN.CMD.PRIVMSG
|
||||||
>PUSHW L.SEQ.PRIVMSG
|
ldy #0
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
lda (ZPMsgPfxPtr),y
|
||||||
|
beq .2
|
||||||
|
eor #'!'
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
sta (ZPMsgPfxPtr),y
|
||||||
|
|
||||||
|
.2 >PUSHW L.SEQ.PRIVMSG
|
||||||
|
|
||||||
>PUSHW ZPMsgPfxPtr
|
>PUSHW ZPMsgPfxPtr
|
||||||
>PUSHW ZPMsgExtPtr
|
>PUSHW ZPMsgExtPtr
|
||||||
|
@ -633,6 +638,15 @@ CS.RUN.CMD.MODE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CMD.353 >LDYA ZPMsgExtPtr
|
CS.RUN.CMD.353 >LDYA ZPMsgExtPtr
|
||||||
jmp CS.RUN.STATUSPDATE
|
jmp CS.RUN.STATUSPDATE
|
||||||
|
|
||||||
|
CS.RUN.CMD.375
|
||||||
|
CS.RUN.CMD.372
|
||||||
|
CS.RUN.CMD.376
|
||||||
|
>PUSHW L.SEQ.INFOMSG
|
||||||
|
>PUSHW ZPMsgExtPtr
|
||||||
|
>PUSHBI 2
|
||||||
|
>SYSCALL PrintF
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.SPLITMSG >LDYA pData
|
CS.RUN.SPLITMSG >LDYA pData
|
||||||
>STYA ZPMsgPfxPtr
|
>STYA ZPMsgPfxPtr
|
||||||
|
@ -767,7 +781,7 @@ CS.RUN.CHARIN bit bEscMode
|
||||||
bpl .4
|
bpl .4
|
||||||
|
|
||||||
cmp #'['
|
cmp #'['
|
||||||
beq .9
|
beq .8
|
||||||
|
|
||||||
stz bEscMode
|
stz bEscMode
|
||||||
|
|
||||||
|
@ -779,7 +793,8 @@ CS.RUN.CHARIN bit bEscMode
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
.9 rts
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
.2 txa
|
.2 txa
|
||||||
asl
|
asl
|
||||||
|
@ -792,7 +807,8 @@ CS.RUN.CHARIN bit bEscMode
|
||||||
|
|
||||||
sec
|
sec
|
||||||
ror bEscMode
|
ror bEscMode
|
||||||
clc
|
|
||||||
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 cmp #C.SPACE
|
.5 cmp #C.SPACE
|
||||||
|
@ -802,10 +818,10 @@ CS.RUN.CHARIN bit bEscMode
|
||||||
bne CS.RUN.CHARIN.INS
|
bne CS.RUN.CHARIN.INS
|
||||||
|
|
||||||
lda TextLen
|
lda TextLen
|
||||||
beq .9
|
beq .8
|
||||||
|
|
||||||
lda TextPtr
|
lda TextPtr
|
||||||
beq .9
|
beq .8
|
||||||
|
|
||||||
lda #C.BS
|
lda #C.BS
|
||||||
>SYSCALL PutChar
|
>SYSCALL PutChar
|
||||||
|
@ -831,10 +847,13 @@ CS.RUN.CHARIN.INS
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CS.RUN.CHARIN.CTRL
|
CS.RUN.CHARIN.CTRL
|
||||||
cmp #C.CR
|
cmp #C.CR
|
||||||
bne .8
|
bne .1
|
||||||
|
|
||||||
|
bit bJoin
|
||||||
|
bpl .8
|
||||||
|
|
||||||
>PUSHW L.SEQ.PRIVMSG
|
>PUSHW L.SEQ.PRIVMSG
|
||||||
|
|
||||||
|
@ -848,10 +867,17 @@ CS.RUN.CHARIN.CTRL
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jmp CS.RUN.TXTCLR
|
jmp CS.RUN.TXTCLR
|
||||||
|
|
||||||
|
.1 cmp #$14 Ctrl-T
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
lda #3
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
CS.RUN.CHARIN.LEFT
|
CS.RUN.CHARIN.LEFT
|
||||||
lda TextPtr
|
lda TextPtr
|
||||||
beq .9
|
beq .9
|
||||||
|
@ -923,7 +949,7 @@ MSG.SKTERR .AZ "Socket Error : $%h\r\n"
|
||||||
MSG.NICK .AZ "Registering User..."
|
MSG.NICK .AZ "Registering User..."
|
||||||
MSG.USER .AZ "Connecting User..."
|
MSG.USER .AZ "Connecting User..."
|
||||||
MSG.JOIN .AZ "Joining Channel..."
|
MSG.JOIN .AZ "Joining Channel..."
|
||||||
MSG.TOPBAR .AZ "A2osX IRC %d.%d %s:%s %s"
|
MSG.TOPBAR .AZ "A2osX IRC %d.%d Server:%s:%s Nick:%s"
|
||||||
MSG.STATUSBAR .AZ "%s:%s"
|
MSG.STATUSBAR .AZ "%s:%s"
|
||||||
MSG.STATUSBARMSG .AZ "STATUS:%s"
|
MSG.STATUSBARMSG .AZ "STATUS:%s"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -935,10 +961,14 @@ IRC.REP.NOIDENT .AZ "*** No Ident response"
|
||||||
IRC.REP.001 .AZ "001"
|
IRC.REP.001 .AZ "001"
|
||||||
IRC.REP.JOIN .AZ "JOIN"
|
IRC.REP.JOIN .AZ "JOIN"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IRC.CMDS .AZ "PING"
|
IRC.CMDS .AZ "JOIN"
|
||||||
|
.AZ "PING"
|
||||||
.AZ "PRIVMSG"
|
.AZ "PRIVMSG"
|
||||||
.AZ "MODE"
|
.AZ "MODE"
|
||||||
.AZ "353"
|
.AZ "353"
|
||||||
|
.AZ "375"
|
||||||
|
.AZ "372"
|
||||||
|
.AZ "376"
|
||||||
.DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IRC.NICK .AZ "NICK %s\r\n"
|
IRC.NICK .AZ "NICK %s\r\n"
|
||||||
|
@ -951,8 +981,9 @@ IRC.PRIVMSG .AZ "PRIVMSG %s :%s\r\n"
|
||||||
SEQ.INIT .AZ "\ec\e(B\e)0\e[?7l\e[2;20r\e[22;1H\e[?7h"
|
SEQ.INIT .AZ "\ec\e(B\e)0\e[?7l\e[2;20r\e[22;1H\e[?7h"
|
||||||
SEQ.BAR .AZ "\e7\e[%d;1H\e[7m\e[37;40m%80s\e[0m\e8"
|
SEQ.BAR .AZ "\e7\e[%d;1H\e[7m\e[37;40m%80s\e[0m\e8"
|
||||||
SEQ.TXTCLR .AZ "\e[22;1H\e[K\r\n\e[K\r\n\e[K\e[22;1H"
|
SEQ.TXTCLR .AZ "\e[22;1H\e[K\r\n\e[K\r\n\e[K\e[22;1H"
|
||||||
SEQ.PRIVMSG .AZ "\e7\e[20;1H\r\n\e[7m%s:\e[0m%s\r\n\e8"
|
SEQ.PRIVMSG .AZ "\e7\e[20;1H\r\n\e[7m%s:\e[0m%s\e8"
|
||||||
SEQ.DUMPMSG .AZ "\e7\e[20;1H\r\n\e[7m%s \e[0m%s %s %s\e8"
|
SEQ.DUMPMSG .AZ "\e7\e[20;1H\r\n\e[7m%s \e[0m%s %s %s\e8"
|
||||||
|
SEQ.INFOMSG .AZ "\e7\e[20;1H%s\r\n\e8"
|
||||||
SEQ.RESET .AZ "\ec"
|
SEQ.RESET .AZ "\ec"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||||
|
|
|
@ -2,7 +2,7 @@ NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.D2.SeekTime .EQ 124
|
IO.D2.SeekTime .EQ 200
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.D2.Ph0Off .EQ $C080
|
IO.D2.Ph0Off .EQ $C080
|
||||||
IO.D2.Ph0On .EQ $C081
|
IO.D2.Ph0On .EQ $C081
|
||||||
|
|
|
@ -80,11 +80,7 @@ D2MoveHead >PULLB MoveTo
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr D2MoveHead.1
|
jsr D2MoveHead.1
|
||||||
|
|
||||||
jsr D2.Wait25600usec
|
|
||||||
jsr D2.Wait25600usec
|
|
||||||
jsr D2.Wait25600usec
|
|
||||||
jsr D2.Wait25600usec
|
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
|
@ -93,15 +89,11 @@ D2MoveHead.1
|
||||||
pha
|
pha
|
||||||
|
|
||||||
jsr D2.QPhaseOn
|
jsr D2.QPhaseOn
|
||||||
lda #IO.D2.SeekTime
|
|
||||||
jsr D2.Wait100usecA
|
|
||||||
|
|
||||||
pla
|
pla
|
||||||
cmp MoveTo
|
cmp MoveTo
|
||||||
beq .8
|
beq D2.AllPhasesOff
|
||||||
|
|
||||||
pha
|
|
||||||
|
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
@ -116,15 +108,14 @@ D2MoveHead.1
|
||||||
|
|
||||||
sta MoveFrom
|
sta MoveFrom
|
||||||
|
|
||||||
pla
|
lda #IO.D2.SeekTime
|
||||||
|
jsr D2.Wait100usecA
|
||||||
jsr D2.AllPhasesOff
|
|
||||||
* lda #IO.D2.SeekTime
|
|
||||||
* jsr D2.Wait100usecA
|
|
||||||
bra .1
|
|
||||||
|
|
||||||
.8 jsr D2.Wait25600usec
|
jsr D2.AllPhasesOff
|
||||||
jsr D2.Wait25600usec
|
|
||||||
|
lda #IO.D2.SeekTime
|
||||||
|
jsr D2.Wait100usecA
|
||||||
|
bra .1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
D2.AllPhasesOff ldx Slotn0
|
D2.AllPhasesOff ldx Slotn0
|
||||||
lda IO.D2.Ph0Off,x
|
lda IO.D2.Ph0Off,x
|
||||||
|
@ -133,26 +124,19 @@ D2.AllPhasesOff ldx Slotn0
|
||||||
lda IO.D2.Ph3Off,x
|
lda IO.D2.Ph3Off,x
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
D2.QPhaseOff clc
|
D2.QPhaseOn pha
|
||||||
.HS B0 BCS
|
|
||||||
D2.QPhaseOn sec
|
|
||||||
pha
|
|
||||||
php
|
|
||||||
and #6
|
and #6
|
||||||
adc Slotn0
|
ora Slotn0
|
||||||
tax
|
tax
|
||||||
|
|
||||||
plp
|
|
||||||
pla
|
pla
|
||||||
inc
|
inc
|
||||||
and #6
|
and #6
|
||||||
adc Slotn0
|
ora Slotn0
|
||||||
tay
|
tay
|
||||||
|
|
||||||
lda IO.D2.Ph0Off,x
|
lda IO.D2.Ph0On,x
|
||||||
nop
|
lda IO.D2.Ph0On,y
|
||||||
nop
|
|
||||||
lda IO.D2.Ph0Off,y
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
D2.Wait25600usec
|
D2.Wait25600usec
|
||||||
|
|
|
@ -1076,13 +1076,14 @@ SKT.EOF.I ldy #S.SOCKET.TCP.INUSED
|
||||||
iny
|
iny
|
||||||
ora (ZPPtrSKT),y
|
ora (ZPPtrSKT),y
|
||||||
bne .8 some DATA...
|
bne .8 some DATA...
|
||||||
|
|
||||||
jsr SKT.CheckStream
|
jsr SKT.CheckStream
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #$ff no DATA, EOF = true
|
lda #$ff no DATA, EOF = true
|
||||||
* clc
|
* clc
|
||||||
rts
|
rts
|
||||||
.8 lda #0 ...EOF = false
|
.8 lda #0 ...EOF = false
|
||||||
* clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SKT.CheckStream lda #S.SOCKET.T.STREAM
|
SKT.CheckStream lda #S.SOCKET.T.STREAM
|
||||||
|
|
|
@ -166,7 +166,7 @@ L5398 ldy #64
|
||||||
sty XRW.RetryCnt
|
sty XRW.RetryCnt
|
||||||
|
|
||||||
L539D jsr XRW.ReadAddr read next address field.
|
L539D jsr XRW.ReadAddr read next address field.
|
||||||
bcc L53BE branch if read ok.
|
bcc L53BE if CC A = current track
|
||||||
|
|
||||||
L53A4 dec XRW.RetryCnt one less chance.
|
L53A4 dec XRW.RetryCnt one less chance.
|
||||||
bne L539D branch to retry.
|
bne L539D branch to retry.
|
||||||
|
@ -188,15 +188,7 @@ XRW.Recalibrate lda #MLI.E.IO anticipate a bad drive error.
|
||||||
jsr XRW.Seek
|
jsr XRW.Seek
|
||||||
bra L5398
|
bra L5398
|
||||||
|
|
||||||
L53BE ldy XRW.UnitIndex
|
L53BE cmp XRW.ReqTrack
|
||||||
|
|
||||||
lda XRW.AddrField.V
|
|
||||||
sta XRW.D2VolNum-1,y
|
|
||||||
|
|
||||||
lda XRW.AddrField.T
|
|
||||||
sta XRW.D2Trk-1,y
|
|
||||||
|
|
||||||
cmp XRW.ReqTrack
|
|
||||||
beq L53D5
|
beq L53D5
|
||||||
|
|
||||||
lda XRW.ReqTrack
|
lda XRW.ReqTrack
|
||||||
|
@ -731,8 +723,8 @@ XRW.Read.RTS rts
|
||||||
* A = target track
|
* A = target track
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.Seek ldx XRW.UnitIndex
|
XRW.Seek ldx XRW.UnitIndex
|
||||||
cmp XRW.D2Trk-1,x
|
* cmp XRW.D2Trk-1,x
|
||||||
beq XRW.Read.RTS
|
* beq XRW.Read.RTS
|
||||||
|
|
||||||
pha save target track
|
pha save target track
|
||||||
|
|
||||||
|
@ -755,14 +747,11 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
pha
|
pha
|
||||||
|
|
||||||
jsr XRW.QPhaseOn
|
jsr XRW.QPhaseOn
|
||||||
jsr XRW.WaitSeekTime
|
|
||||||
|
|
||||||
pla
|
pla
|
||||||
cmp XRW.TargetQTrack
|
cmp XRW.TargetQTrack
|
||||||
beq .8
|
beq XRW.AllPhasesOff
|
||||||
|
|
||||||
pha
|
|
||||||
|
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
@ -777,13 +766,11 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
|
|
||||||
sta XRW.CurrentQTrack
|
sta XRW.CurrentQTrack
|
||||||
|
|
||||||
pla
|
jsr XRW.WaitSeekTime
|
||||||
|
|
||||||
jsr XRW.AllPhasesOff
|
jsr XRW.AllPhasesOff
|
||||||
* jsr XRW.WaitSeekTime
|
jsr XRW.WaitSeekTime
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 jsr XRW.Wait25600usec
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.AllPhasesOff
|
XRW.AllPhasesOff
|
||||||
ldx A2L
|
ldx A2L
|
||||||
|
@ -793,26 +780,19 @@ XRW.AllPhasesOff
|
||||||
lda IO.D2.Ph3Off,x
|
lda IO.D2.Ph3Off,x
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.QPhaseOff clc
|
XRW.QPhaseOn pha
|
||||||
.HS B0 BCS
|
|
||||||
XRW.QPhaseOn sec
|
|
||||||
pha
|
|
||||||
php
|
|
||||||
and #6
|
and #6
|
||||||
adc A2L
|
ora A2L
|
||||||
tax
|
tax
|
||||||
|
|
||||||
plp
|
|
||||||
pla
|
pla
|
||||||
inc
|
inc
|
||||||
and #6
|
and #6
|
||||||
adc A2L
|
ora A2L
|
||||||
tay
|
tay
|
||||||
|
|
||||||
lda IO.D2.Ph0Off,x
|
lda IO.D2.Ph0On,x
|
||||||
nop
|
lda IO.D2.Ph0On,y
|
||||||
nop
|
|
||||||
lda IO.D2.Ph0Off,y
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.Trk2Qtrk asl x2
|
XRW.Trk2Qtrk asl x2
|
||||||
|
@ -893,11 +873,19 @@ L56D2 lda IO.D2.RData,x read 'even bit' nibl
|
||||||
tay if final checksum non-zero,
|
tay if final checksum non-zero,
|
||||||
bne rderr then error.
|
bne rderr then error.
|
||||||
|
|
||||||
L56E6 lda IO.D2.RData,x first bit-slip nibl
|
*L56E6 lda IO.D2.RData,x first bit-slip nibl
|
||||||
bpl L56E6 *** no page cross ***
|
* bpl L56E6 *** no page cross ***
|
||||||
|
|
||||||
cmp #$DE
|
* cmp #$DE
|
||||||
bne rderr
|
* bne rderr
|
||||||
|
|
||||||
|
ldy XRW.UnitIndex Succesfull REad, update Drive table
|
||||||
|
|
||||||
|
lda XRW.AddrField.V
|
||||||
|
sta XRW.D2VolNum-1,y
|
||||||
|
|
||||||
|
lda XRW.AddrField.T
|
||||||
|
sta XRW.D2Trk-1,y and exit with A = Trk
|
||||||
|
|
||||||
clc normal read ok
|
clc normal read ok
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -495,9 +495,11 @@ CPU.Init.6502 >PUSHWI MSG.CPU
|
||||||
nop (2)
|
nop (2)
|
||||||
nop (2)
|
nop (2)
|
||||||
nop (2)
|
nop (2)
|
||||||
|
nop (2)
|
||||||
dec
|
nop (2)
|
||||||
bne .22
|
nop (2)
|
||||||
|
nop (2)
|
||||||
|
nop (2)
|
||||||
|
|
||||||
inc A2osX.RANDOM16 (6)
|
inc A2osX.RANDOM16 (6)
|
||||||
bne .5 (2*)
|
bne .5 (2*)
|
||||||
|
@ -512,7 +514,10 @@ CPU.Init.6502 >PUSHWI MSG.CPU
|
||||||
|
|
||||||
nop (2) 3+2+2+2+2 if from BNE
|
nop (2) 3+2+2+2+2 if from BNE
|
||||||
|
|
||||||
.6 eor VBL (4)
|
.6 dec
|
||||||
|
bne .22
|
||||||
|
|
||||||
|
eor VBL (4)
|
||||||
bpl .20 (2*)
|
bpl .20 (2*)
|
||||||
|
|
||||||
bit ZPPtr1 //c ?
|
bit ZPPtr1 //c ?
|
||||||
|
@ -1144,7 +1149,7 @@ MSG.KCREAD .AZ "Reading Kernel Config File..."
|
||||||
MSG.KCREAD.OK .AZ "OK\n"
|
MSG.KCREAD.OK .AZ "OK\n"
|
||||||
MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
|
MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
|
||||||
MSG.PRODOSFX .AZ "!!!Running under ProDOS.FX!!! Enabling lowercase mode.\n"
|
MSG.PRODOSFX .AZ "!!!Running under ProDOS.FX!!! Enabling lowercase mode.\n"
|
||||||
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n"
|
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete."
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.Init3 .AZ "A2osX[Stage3]:Init *** Press Ctrl-R for entering ROOT Mode ***\r\n"
|
MSG.Init3 .AZ "A2osX[Stage3]:Init *** Press Ctrl-R for entering ROOT Mode ***\r\n"
|
||||||
MSG.DEV .AZ "Device Manager..."
|
MSG.DEV .AZ "Device Manager..."
|
||||||
|
@ -1211,8 +1216,7 @@ SBININITD .AZ "${ROOT}sbin/initd"
|
||||||
MLIGETFILEINFOEX00
|
MLIGETFILEINFOEX00
|
||||||
.DA #2
|
.DA #2
|
||||||
.DA MLIOPEN00.FN
|
.DA MLIOPEN00.FN
|
||||||
.DA FIEX
|
.BS S.FIEX
|
||||||
FIEX .BS S.FIEX
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MLIOPEN00 .DA #3
|
MLIOPEN00 .DA #3
|
||||||
.DA MLIOPEN00.FN
|
.DA MLIOPEN00.FN
|
||||||
|
|
Loading…
Reference in New Issue
Block a user