Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-31 16:59:11 +01:00
parent 7a927f173e
commit 831267b78e
5 changed files with 25 additions and 6 deletions

Binary file not shown.

Binary file not shown.

View File

@ -382,13 +382,15 @@ CMD.READ lda (ZPArgVBufPtr)
bra .5
.9 jmp CMD.E.CSYN
.3 cmp #'N'
bne .9
jsr CORE.ArgV.Next
beq .9
jsr CMD.GetInt8Arg
>LDYA ZPArgVBufPtr
jsr CMD.GetInt8ArgYA
bcs CMD.ECHO.RTS
>STA.G READ.N
@ -1221,12 +1223,14 @@ CMD.IsSwitch lda (ZPArgVBufPtr)
txa
jmp ToUpperCase
.9 sec
CMD.IsSwitch.RTS
rts
*--------------------------------------
CMD.GetInt8Arg >LDYA ZPArgVBufPtr
jsr EXP.GET
bcs .9
bcs CMD.IsSwitch.RTS
CMD.GetInt8ArgYA
>SYSCALL AToL
bcs .99
@ -1240,7 +1244,7 @@ CMD.GetInt8Arg >LDYA ZPArgVBufPtr
.99 lda #E.ESYN
* sec
.9 rts
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.CMD

View File

@ -278,6 +278,9 @@ CORE.ExecExtCmd >PUSHB CORE.PSFlags
and #S.PS.F.HOLD
bne .4
>LDA.G CORE.bPipeOut
bmi .4
txa
>PUSHA
>PUSHBI 1

View File

@ -3,7 +3,7 @@ NEW
.LIST OFF
.OP 65C02
.OR $2000
.TF SYS/KM/KM.RAMWORKS
.TF SYS/KM.RAMWORKS
*--------------------------------------
.INB INC/MACROS.I
.INB INC/IO.I
@ -486,30 +486,38 @@ RWDRVX.B.START
RWDRVX.START sta RWDRVX.XM.BANK+1 setup BANK
txa
beq .1 page 0/1, no need to check BANK
cmp #$D0 $C0 <= PAGE < $D0 ?
bcs .1 no, store in BNK1
ora #$10 Remap $C0 page to $D0 BNK2
.1 ror RWDRVX.XM.RWLC+1 Save Carry to select proper RW bank later
ldy DRV.BUFF
ldx DRV.BUFF+1
lsr DRV.COMMAND DRV.COMMAND: 1=READ,2=WRITE
bcc .2 CC=WRITE, CS=READ
stz RWDRVX.XM.SRC+1 READ from src LO = 0
sta RWDRVX.XM.SRC+2 READ from src HI = PAGE
sty RWDRVX.XM.DST+1 WRITE to DRV.BUFF
stx RWDRVX.XM.DST+2
bra .3
.2 sty RWDRVX.XM.SRC+1 READ from DRV.BUFF
stx RWDRVX.XM.SRC+2
stz RWDRVX.XM.DST+1 WRITE to dst LO = 0
sta RWDRVX.XM.DST+2 WRITE to dst HI = PAGE
.3 sta CLRWRITEAUX
ldy #RWDRVX.XM.SIZE
.4 lda RWDRVX.XM.START-1,y
sta RWDRV.XM.RUN-1,y
dey
bne .4
rts
*--------------------------------------
* Called form Main LC after RWDRVX.XM execution
@ -540,16 +548,20 @@ RWDRVX.XM.SRC lda $FFFF,x
sta RMDRVX.TMP,x
inx
bne RWDRVX.XM.SRC
sta CLRALTZP
jsr RWDRV.XM.RUN+RWDRVX.XM.MNLC-RWDRVX.XM.START READ:copy from TMP to MAIN
bcs RWDRVX.XM.1 CC=WRITE,CS=READ?
jsr RWDRV.XM.RUN+RWDRVX.XM.RWLC-RWDRVX.XM.START WRITE:copy from TMP to BANK
sta SETALTZP
RWDRVX.XM.1 lda RMDRVX.TMP,x
RWDRVX.XM.DST sta $FFFF,x
inx
bne RWDRVX.XM.1
sta CLRALTZP
inc RWDRV.XM.RUN+RWDRVX.XM.SRC+2-RWDRVX.XM.START
@ -563,7 +575,7 @@ RWDRVX.XM.MNLC stz RWBankSelect ProDOS always uses LCBANK1
rts
RWDRVX.XM.RWLC lda #$FF
bpl RWDRVX.XM.BANK
bmi RWDRVX.XM.BANK
bit RRAMWRAMBNK2
bit RRAMWRAMBNK2