Kernel 0.9.1 : Code reorganization & move to CSTR (PS switcher, LS, IRQ & VBL)

This commit is contained in:
Rémy GIBERT 2017-09-21 17:29:45 +02:00
parent 38c8649e23
commit c85f3c62c4
15 changed files with 241 additions and 190 deletions

Binary file not shown.

Binary file not shown.

View File

@ -29,9 +29,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START Code Length To Relocate
.DA DS.END-DS.START Data Segment to Allocate
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #16 SS
.DA #8 ZP
.DA 0
*--------------------------------------
* Relocation Table
@ -47,20 +48,15 @@ L.MSG.DIREXT .DA MSG.DIREXT
L.MSG.FILE .DA MSG.FILE
L.MSG.FILEEXT .DA MSG.FILEEXT
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
L.STAT .DA STAT
L.TIME.Format .DA TIME.Format
L.TIME.Create .DA TIME.Create
L.TIME.Mod .DA TIME.Mod
.DA 0
*--------------------------------------
CS.INIT >SYSCALL GetArgC
sta ArgCount
.1 dec ArgCount
beq .5
CS.INIT ldy #S.PS.ARGC
lda (pPs),y
>STA.G ArgCount
beq .7
lda ArgCount
>SYSCALL GetArg.A
.1 >SYSCALL GetArg.A
>STYA ZPPtr1
lda (ZPPtr1)
@ -89,15 +85,18 @@ CS.INIT >SYSCALL GetArgC
.3 ldy OptionVars-1,x
lda #$80
sta (pData),y
bra .1
bra .7
.4 >LDYA ZPPtr1
jsr InitSrcDirYA
bcs .9
bra .1 scan for any other args
>LDA.G ArgCount
dec
sta (pData),y
bne .1 scan for any other args
.5 ldy #index
.7 ldy #index
lda (pData),y
bne .8
@ -217,17 +216,14 @@ CS.RUN.DEV ldy #bLong
clc
.9 rts
*--------------------------------------
CS.RUN.DIR ldy #bAllmostAll
lda (pData),y
CS.RUN.DIR >LDA.G bAllmostAll
bpl .10
ldy #1
lda (ZPFileName),y
lda (ZPFileName)
cmp #'.'
beq .5
.10 ldy #bLong
lda (pData),y
.10 >LDA.G bLong
bmi .4
>PUSHW ZPFileName
@ -235,19 +231,19 @@ CS.RUN.DIR ldy #bAllmostAll
>SYSCALL PrintF.YA
bcs .9
lda #80/MAX.COL-2
sec
sbc (ZPFileName)
beq .2
tax
ldy #0
.1 lda #' '
phx
.1 lda (ZPFileName),y
beq .11
.11 lda #' '
phy
>SYSCALL PutChar.A
plx
ply
bcs .9
dex
bne .1
iny
cpy #16
bne .11
.2 jsr CS.RUN.UpdateColCnt
bcc .5
@ -271,8 +267,7 @@ CS.RUN.DIR ldy #bAllmostAll
lda (pData),y
bpl .8
ldy #1
lda (ZPFileName),y
lda (ZPFileName)
cmp #'.'
beq .8
@ -354,7 +349,8 @@ CS.RUN.PUSHEXTRA
lda (ZPFileStat),y
beq .1 Month=0.....invalid date/time
>PUSHW L.TIME.Mod
>LEA.G TIME.Mod
>PUSHYA
>PUSHW L.TIME.Format
lda ZPFileStat
clc
@ -369,7 +365,8 @@ CS.RUN.PUSHEXTRA
lda (ZPFileStat),y
beq .2 Month=0.....invalid date/time
>PUSHW L.TIME.Create
>LEA.G TIME.Create
>PUSHYA
>PUSHW L.TIME.Format
lda ZPFileStat
clc
@ -380,8 +377,10 @@ CS.RUN.PUSHEXTRA
>PUSHYA
>SYSCALL StrFTime
.2 >PUSHW L.TIME.Mod ModTime
>PUSHW L.TIME.Create Create Time
.2 >LEA.G TIME.Mod
>PUSHYA
>LEA.G TIME.Create
>PUSHYA
rts
*--------------------------------------
CS.RUN.UpdateColCnt
@ -472,12 +471,12 @@ CS.END
OptionList >PSTR "ALRalr"
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
*--------------------------------------
MSG.DEVEXT >CSTR "%15S S%d,D%d Blocks Used:%5D,Total:%5D\r\n"
MSG.DIR >CSTR "%S/"
MSG.ENTER >CSTR "Directory:%S\r\n"
MSG.DIREXT >CSTR "%16S <dir> %a %s %s\r\n"
MSG.FILE >CSTR "%19S"
MSG.FILEEXT >CSTR "%15S %S $%H %a %10u %s %s\r\n"
MSG.DEVEXT >CSTR "%15s S%d,D%d Blocks Used:%5D Total:%5D\r\n"
MSG.DIR >CSTR "%s/"
MSG.ENTER >CSTR "Directory:%s\r\n"
MSG.DIREXT >CSTR "%16s <dir> %a %s %s\r\n"
MSG.FILE >CSTR "%19s"
MSG.FILEEXT >CSTR "%15s %S $%H %a %10u %s %s\r\n"
*--------------------------------------
PRODOS.FT.HEX .HS 0406FAFCFDE2FF
PRODOS.FT.TXT >PSTR "TXT"
@ -490,16 +489,19 @@ PRODOS.FT.TXT >PSTR "TXT"
PRODOS.FT.DFLT >PSTR "$ "
TIME.NODATE >CSTR " <No-Date> "
TIME.Format >CSTR "%d-%b-%y %H:%M"
TIME.Create .BS 20
TIME.Mod .BS 20
HEXDIGIT .AS '0123456789ABCDEF'
STAT .BS S.STAT
ArgCount .BS 1
*--------------------------------------
.DUMMY
.OR 0
DS.START
ArgCount .BS 1
Index .BS 1
STAT .BS S.STAT
TIME.Create .BS 20
TIME.Mod .BS 20
hFullPath .BS 1
bExists .BS 1
hDIRs .BS X.MAX.RECURSE
hDIRENTs .BS X.MAX.RECURSE
oDIRENTs .BS X.MAX.RECURSE*2

View File

@ -22,9 +22,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START Code Length To Relocate
.DA 0 Data Segment to Allocate
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #16 SS
.DA #4 ZP
.DA 0
*--------------------------------------
* Relocation Table
@ -37,7 +38,6 @@ L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
L.MSG2.C .DA MSG2.C
L.MSG2.B .DA MSG2.B
L.DEV.SIZE .DA DEV.SIZE
.DA 0
*--------------------------------------
CS.INIT clc
@ -46,11 +46,9 @@ CS.INIT clc
CS.RUN >LDYA L.MSG0
>SYSCALL PrintF.YA
stz DEV.ID
>LDA.G DEV.ID
lda DEV.ID
.1 >SYSCALL GetDevByIDA
.1 >SYSCALL GetDevByID.A
bcs .7
>STYA ZPPTR1
@ -59,10 +57,10 @@ CS.RUN >LDYA L.MSG0
bcs .9
lda DEV.ID
>SYSCALL GetDevByIDA
>LDA.G DEV.ID
>SYSCALL GetDevByID.A
>STYA pDev
ldx #DEVMGR.STATUS
jsr pDevJmp
bcs .6
@ -77,8 +75,9 @@ CS.RUN >LDYA L.MSG0
lda #10
>SYSCALL PutChar.A
.7 inc DEV.ID
lda DEV.ID
.7 >LDA.G DEV.ID
inc
sta (pData),y
cmp #K.DEV.MAX
bne .1
@ -106,28 +105,51 @@ DumpHeader ldy #S.DEV.DRV.JMP+1
>PUSHB (ZPPTR1),y
ldy #S.DEV.S
>PUSHB (ZPPTR1),y
sta DEV.S
lda (ZPPTR1),y
>STA.G DEV.S
>PUSHB DEV.ID
ldy #DEV.SFLAGS+7
ldx #7
.1 lsr
pha
lda #'-'
bcc .2
lda MSG.SFLAGS,x
.2 sta (pData),y
pla
dey
dex
bpl .1
>LEA.G DEV.SFLAGS
>PUSHYA
>LDA.G DEV.ID
>PUSHA
>LDYA L.MSG1
>SYSCALL PrintF.YA
rts
*--------------------------------------
DumpStatus bit DEV.S
DumpStatus >LDA.G DEV.S
bpl .1
ldy #S.DEVSTAT.SIZE
lda (ZPPTR2),y
sta DEV.SIZE
iny
>STA.G DEV.SIZE
ldy #S.DEVSTAT.SIZE+1
lda (ZPPTR2),y
sta DEV.SIZE+1
iny
>STA.G DEV.SIZE+1
ldy #S.DEVSTAT.SIZE+2
lda (ZPPTR2),y
sta DEV.SIZE+2
>PUSHW L.DEV.SIZE
>STA.G DEV.SIZE+2
>LEA.G DEV.SIZE
>PUSHYA
.1 ldy #S.DEVSTAT.VERSION+1
>PUSHB (ZPPTR2),y
@ -148,9 +170,9 @@ DumpStatus bit DEV.S
dey
>PUSHB (ZPPTR2),y
bit DEV.S
>LDA.G DEV.S
bpl .2
>LDYA L.MSG2.B
bra .3
.2 >LDYA L.MSG2.C
@ -166,13 +188,21 @@ CS.QUIT clc
*--------------------------------------
CS.END
MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version Size (BLK)\r\n"
MSG1 >CSTR "%03d %b %b %4S $%H "
MSG1 >CSTR "%03d %s %b %4s $%H "
MSG2.B >CSTR "$%h/$%h %16S %03d.%03d %10u"
MSG2.C >CSTR "$%h/$%h %16S %03d.%03d n/a"
MSG.SFLAGS .AS "BWRLNEIO"
*--------------------------------------
.DUMMY
.OR 0
DS.START
DEV.ID .BS 1
DEV.S .BS 1
DEV.SIZE .BS 4
DEV.SFLAGS .BS 9
DS.END
.ED
*--------------------------------------
MAN
SAVE /A2OSX.SRC/BIN/LSDEV.S
ASM

View File

@ -20,9 +20,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START Code Length To Relocate
.DA 0 Data Segment to Allocate
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #16 SS
.DA #2 ZP
.DA 0
*--------------------------------------
* Relocation Table
@ -45,17 +46,18 @@ CS.RUN >LDYA pData
>SYSCALL PrintF.YA
lda (pData) PS.COUNT
beq .8
beq .8
.1 >LDA.G PS.Index
inc
sta (pData),y
.1 dec
asl
tay
tay
lda (pData),y PID
>SYSCALL GetMemPtr.A
>STYA ZPPTR1
ldy #S.PS.hARGS
lda (ZPPTR1),y
>SYSCALL GetMemPtr.A
@ -73,13 +75,6 @@ CS.RUN >LDYA pData
>PUSHA PID
>LDYA L.MSG1
>SYSCALL PrintF.YA
.4 lda ZPPTR1
clc
adc #S.PS
sta ZPPTR1
bcc .5
inc ZPPTR1+1
.7 lda (pData) PS.COUNT
dec
@ -104,7 +99,8 @@ MSG1 >CSTR "%03d %b %03d %S\r\n"
.OR 0
DS.START
PS.COUNT .BS 1
PS.DATA .BS K.PS.MAX+K.PS.MAX
PS.DATA .BS K.PS.MAX
PS.Index .BS 1
DS.END
.ED
*--------------------------------------

View File

@ -17,27 +17,33 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
bcc .10
rts
.10 stx .90+1
>STYA ZPPtr1
.10 >STYA ZPPtr1
txa
>STA.G hFullPath
lda (ZPPtr1)
cmp #1
ldy #1
lda (ZPPtr1),y
beq .5 we have '/'
>PUSHW L.STAT
>LEA.G STAT
>PUSHYA
>PUSHW ZPPtr1
>SYSCALL Stat
ror
sta .30+1 save file exists for later.....
>STA.G bExists save file exists for later.....
bmi .1 File/DIR does not exists, go extract pattern
lda STAT+S.STAT.P.TYPE
>LDA.G STAT+S.STAT.P.TYPE
cmp #$0f
beq .5 TYPE=DIR, do not extract wildcard
.1 lda (ZPPtr1) Get Src Path Len
tay
ldy #0
.1 iny
lda (ZPPtr1),y Get Src Path Len
bne .1
dey
ldx #0 Init Wildcard count
.2 lda (ZPPtr1),y search backward for a /
@ -53,36 +59,29 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
bne .2
.3 tya
cmp (ZPPtr1)
beq .5 Make sure at least one char
* cmp (ZPPtr1)
* beq .5 Make sure at least one char
txa
bne .31 we have wc, go extract....
bne .4 we have wc, go extract....
.30 lda #$ff no wc, remember if file exists?
bmi .91 no, file not found....
.31 ldx #0
phy save / pos to trunk string later
.4 tya save / pos to trunk string later
>STA.G index
.4 iny
inx
lda (ZPPtr1),y
sta UsrBuf256,x
tya
cmp (ZPPtr1)
bne .4
pla get back / pos
sta (ZPPtr1) trunk it for Opendir
stx UsrBuf256 set pattern len
>LDYAI UsrBuf256
>SYSCALL NewPstrYA
clc
adc ZPPtr1
tay
lda ZPPtr1+1
adc #0
>SYSCALL Newstr.YA
bcs .9
txa
ldy #hFilter
sta (pData),y
>STA.G hFilter
.5 >LDYAI 256
>SYSCALL GetMem.YA Get a 256 buffer to store BasePath
@ -90,29 +89,27 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
>STYA ZPPtr2
txa
ldy #hSrcBasePath
sta (pData),y
>STA.G hSrcBasePath
lda (ZPPtr1)
pha
>LDA.G index
tay
.6 lda (ZPPtr1),y
sta (ZPPtr2),y
dey
bne .6
ply
lda #'/'
cmp (ZPPtr1),y
beq .7
beq .51
iny
sta (ZPPtr2),y
sta (ZPPtr1),y
.7 tya
sta (ZPPtr2)
.51 lda #0
sta (ZPPtr1),y Trunk before filter string
ldy #$ff
.6 iny
lda (ZPPtr1),y
sta (ZPPtr2),y
bne .6
>LDYA ZPPtr2
>SYSCALL OpenDir.YA
@ -132,7 +129,7 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
.91 lda #MLI.ERR.FNOTFND
.9 pha
.90 lda #$ff self modified
.90 >LDA.G hFullPath
>SYSCALL FreeMem.A
pla
sec
@ -146,12 +143,13 @@ InitDstDirYA >SYSCALL GetFullPath.YA
stx .90+1
>STYA ZPPtr1
>PUSHW L.STAT
>LEA.G STAT
>PUSHYA
>PUSHW ZPPtr1
>SYSCALL Stat
bcs .1 File/DIR does not exists, go extract DstFileName
lda STAT+S.STAT.P.TYPE
>LDA.G STAT+S.STAT.P.TYPE
cmp #$0f
beq .5 Dst is a directory...no destfilename
@ -236,8 +234,12 @@ InitDstDirYA >SYSCALL GetFullPath.YA
GetNextEntry jsr GetEntry
bcs .9
lda (ZPFileName) Save actual file len for setting up
tax new offset later
ldy #0
.10 iny
lda (ZPFileName),y Save actual file len for setting up
bne .10
phy new offset later
lda ZPFileStat
clc
@ -265,7 +267,7 @@ GetNextEntry jsr GetEntry
adc #oDIRENTs-1
tay
txa Get back previous file len
pla Get back previous file len
sec
adc (pData),y
@ -290,17 +292,26 @@ GetNextEntry jsr GetEntry
clc
rts
.1 jsr GetEntry.ReadDir
.1 pla
jsr GetEntry.ReadDir
bcs .9
lda (ZPFileName)
beq .99
ldy #0
.2 iny
lda (ZPFileName),y
bne .2
tya
sec
adc ZPFileName
sta ZPFileStat
lda ZPFileName+1
adc #0
sta ZPFileStat+1
clc
.9 rts
@ -451,7 +462,7 @@ EnterSubDirYA.1 lda (pData),y
>PUSHW ZPPtr2
>PUSHW ZPPtr1
>SYSCALL PStrCat
>SYSCALL StrCat
lda (ZPPtr1)
inc
@ -541,3 +552,5 @@ BasePath..1 lda (pData),y
*--------------------------------------
MAN
SAVE /A2OSX.SRC/BIN/X.FILEENUM.S
LOAD /A2OSX.SRC/BIN/LS.S
ASM

View File

@ -372,7 +372,7 @@ S.DEV.BUSID .EQ 6
S.DEV.DEVID .EQ 7
S.DEV.ROM.JMP .EQ 8 word
*
S.DEV.NAME .EQ 11 L+4 MAX
S.DEV.NAME .EQ 11 4+\0 MAX
*
S.DEV .EQ 16
*----------- Smartport ----------------

View File

@ -73,10 +73,7 @@ Several subprojects are now indentified :
## General Information:
** Kernel 0.9.1 rewrite in progress **
(Kernel 0.9 has been archived)
It is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
Kernel API is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
Network drivers, Mouse, DHGR.DRV can load and fit in Aux LC.
Now it's time to make all external BINs use new API, then GUI development will resume.
@ -101,11 +98,11 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ------|
| INSDRV | Working | | 0.9 |
| GETTY | Working | | 0.9 |
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9 |
| SHELL | Working | (See Internal Shell commands) | 0.9 |
| KCONFIG | Working | Kernel Configuration Utility | 0.9 |
| INSDRV | Working | | 0.9.1 |
| GETTY | Working | | 0.9.1 |
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9.1 |
| SHELL | Working | (See Internal Shell commands) | 0.9.1 |
| KCONFIG | Working | Kernel Configuration Utility | 0.9.1 |
| ---- | ------ | ------- | ----- |
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
@ -149,7 +146,7 @@ note : '$VAR' does NOT expand Variable
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
| Console.DRV | Working | ANSI support in Progress. | 0.9 |
| Console.DRV | Working | ANSI support in Progress. | 0.9.1 |
| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9 |
| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9 |
| PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 |
@ -164,9 +161,9 @@ note : '$VAR' does NOT expand Variable
## BIN,External Shell commands:
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.9 |
| LSDEV | Working | | 0.9 |
| PS | Working | | 0.9 |
| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.9.1 |
| LSDEV | Working | | 0.9.1 |
| PS | Working | | 0.9.1 |
| MD | Working | | 0.9 |
| LS | Working | -A : Do Not Print . & .. | 0.9 |
| | | -L : long listing with size/date... | |
@ -182,7 +179,7 @@ note : '$VAR' does NOT expand Variable
| | | -Q : Quiet | |
| | | -R : Recurse subdirectories | |
| | | -Y : Dont't Prompt For Override | |
| CAT | Working | -A : Show All non printable caracters | 0.9 |
| CAT | Working | -A : Show All non printable caracters | 0.9.1 |
| | | -N : Number all output lines | |
| | | -S : Suppress repeated empty output lines | |
| CHTYP | In Progress | -C : Continue On Error | 0.9 |
@ -207,7 +204,7 @@ note : '$VAR' does NOT expand Variable
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 |
| MEMDUMP | Working | | 0.9 |
| MEMDUMP | Working | | 0.9.1 |
| RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 |
## Misc

View File

@ -212,6 +212,9 @@ Cmd.Exec.EXT.TXT
* BIN : Launch "/PATH/CMD ARGS"
*--------------------------------------
Cmd.Exec.EXT.BIN
lda (ZPPTR2) Some ARGS ?
beq .1
jsr Cmd.Exec.EXT.SEP Add a space....
>PUSHW ZPPTR2

View File

@ -163,7 +163,7 @@ CSH.Run jsr CSH.GetBuf
>STA.G bCmdBufexec
>LDA.G bEcho
* beq .80
beq .80
>PUSHW ZPCMDBuf
>LDYA L.MSG.ECHO

View File

@ -156,7 +156,7 @@ CS.RUN >LDA.G bReadMode READ Command ?
jsr CMD.Parse
>LDA.G CmdBuflen
beq .8 Empty line
beq .10 Empty line
jsr HIS.Add
@ -539,7 +539,7 @@ CSHCMDS >PSTR "IF"
>PSTR "FLOAT"
.HS 00
*--------------------------------------
MSG.GREETINGS >CSTR "\r\nA2osX-Shell\r\n\r\n"
MSG.GREETINGS >CSTR "\r\nA2osX-Shell 0.9.1\r\n\r\n"
MSG.PROMPT >CSTR "%s$ "
MSG.ECHO >CSTR ">%s\r\n"
MSG.ERROR >CSTR "[$%h]:%S.\r\n"

View File

@ -514,8 +514,6 @@ IrqMgrInit >LDYAI MSG.IRQ
lda (ZPPtr1),y
sta K.IrqMgrVBL.MRM+1
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
ldy #SETMOUSE
lda (ZPPtr1),y
sta .7+1
@ -525,16 +523,20 @@ IrqMgrInit >LDYAI MSG.IRQ
ldx ZPPtr1+1 DEVSLOTCn
stx .7+2
ldy K.IrqMgrVBL.n0
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
.7 jsr $ffff self Modified, CALL SETMOUSE
bcs *
bit RRAMWRAMBNK1 Back To LC Ram
bit RRAMWRAMBNK1
inc K.IrkMgr.VBL set=1 awaiting IrqMgr confirmation
plp
lda #"V"
sta SYS.BASL0+37
>LDYAI MSG.IRQ.VBL
>SYSCALL PrintF.YA
clc
@ -674,11 +676,11 @@ DevMgrInit.AddDev
lda DEV.HEADER+S.DEV.BUSID
ora #$30
sta DEV.HEADER+S.DEV.NAME+2 SnDy
sta DEV.HEADER+S.DEV.NAME+1 SnDy
lda DEV.HEADER+S.DEV.DEVID
ora #$30
sta DEV.HEADER+S.DEV.NAME+4 SxDn
sta DEV.HEADER+S.DEV.NAME+3 SxDn
ldy #S.DEV-1
@ -702,7 +704,7 @@ DEV.HEADER clc
.BS 1 DEV.ID
.BS 2 ROM.JMP
.BS 1
>PSTR "S1D1" 5 bytes
>CSTR "S1D1" 5 bytes
*--------------------------------------
SmartPort.OFS .HS 010305
SmartPort.SIG .HS 200003

View File

@ -60,15 +60,16 @@ K.IrkMgr.VBLINT .BS 1
* ProDOS IRQ Manager (GP)
*--------------------------------------
K.IrqHandler lda K.IrkMgr.VBL
beq .10 0, totally disabled....
beq K.IrqHandler.DEV 0, totally disabled....
K.IrqHandler.VBL
jsr K.IrqMgrVBL.MSM SERVEMOUSE
bcs .10 Not From Mouse
bcs K.IrqHandler.DEV Not From Mouse
ldx K.IrqMgrVBL.0n
lda $778,x
and #$08 IRQ was caused by VBL ?
beq .10
beq K.IrqHandler.DEV
ldx K.IrqMgrVBL.MRM+2 $Cn
ldy K.IrqMgrVBL.n0
@ -77,13 +78,16 @@ K.IrqHandler lda K.IrkMgr.VBL
inc K.IrkMgr.VBLINT
lda SYS.BASL0+37
eor #'V'
sta SYS.BASL0+37 Confirm VBL signal valid for EvtMgr
eor #$80
sta SYS.BASL0+37
sec
ror K.IrkMgr.VBL Confirm VBL signal valid for EvtMgr
clc
rts
.10 >LDYAI DevMgr.Table
*--------------------------------------
K.IrqHandler.DEV
>LDYAI DevMgr.Table
>STYA $fe
ldx DevMgr.Count

View File

@ -173,12 +173,11 @@ PS.CreateChild ldx #0
.9 rts
*--------------------------------------
PS.CmdLine2Args >STYA ZPPtr1
ldy #0
.1 lda (ZPPtr1),y compute strlen in Y,X
beq .2
cmp #'"' skip "" in computation....
cmp #'"' skip " in computation....
beq .1
iny
bne .1 max 255
@ -227,9 +226,11 @@ PS.CmdLine2Args >STYA ZPPtr1
lda #0
.70 sta (ZPPtr2) yes, set this token len
.71 inc ZPPtr2
bne .72
inc ZPPtr2+1
.72 iny
bne .4
@ -358,21 +359,22 @@ PS.DupEnv.A jsr K.GetMemPtr.A
*--------------------------------------
K.GetPSList.YA >STYA ZPPtr1
lda CORE.PSCount
sta (ZPPtr1)
ldx #0
ldy #1
ldy #0
.1 lda PS.Table.PID,x
sta (ZPPtr1),y
iny
beq .2
lda PS.Table.hMem,x
sta (ZPPtr1),y
iny
inx
sta (ZPPtr1),y
.2 inx
cpx CORE.PSCount
bne .1
.9 tya
sta (ZPPtr1)
rts
*--------------------------------------
MAN

View File

@ -1073,11 +1073,13 @@ PrintF.SS ldy #$00 PSTR
.2 lda PADLEN
beq .8
.3 lda PADCHAR
.3 cpy PADLEN
beq .8
lda PADCHAR
jsr Printf.Cout
bcs .9
iny
cpy PADLEN
bne .3
.8 clc