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