mirror of
https://github.com/A2osX/A2osX.git
synced 2024-05-31 16:41:30 +00:00
0.9 : Started migrating external commands, new KMs
This commit is contained in:
parent
21b3789b99
commit
50a6edfdef
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
0
BIN/ATLOGOFF.S.txt
Normal file
0
BIN/ATLOGOFF.S.txt
Normal file
0
BIN/ATLOGON.S.txt
Normal file
0
BIN/ATLOGON.S.txt
Normal file
0
BIN/ATMOUNT.S.txt
Normal file
0
BIN/ATMOUNT.S.txt
Normal file
|
@ -531,23 +531,7 @@ Ctrl.ESC ldy #bEscMode
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Prompt.Editor pha
|
Prompt.Editor cmp #127
|
||||||
ldy #bInit
|
|
||||||
lda (pData),y
|
|
||||||
asl
|
|
||||||
pla
|
|
||||||
bcs .1
|
|
||||||
|
|
||||||
cmp #$1B
|
|
||||||
beq Ctrl.ESC
|
|
||||||
|
|
||||||
cmp #3 Ctrl-C ?
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.1 cmp #127
|
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
cmp #$20
|
cmp #$20
|
||||||
|
|
|
@ -73,7 +73,7 @@ SCRN.UpdateMain ldy #ScreenY
|
||||||
ldy #ViewPortH
|
ldy #ViewPortH
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
sta TmpCount
|
sta TmpCount
|
||||||
|
|
||||||
.1 >LDAX TmpIndex
|
.1 >LDAX TmpIndex
|
||||||
jsr BUF.GetLineAX Y = line length
|
jsr BUF.GetLineAX Y = line length
|
||||||
bcs .5
|
bcs .5
|
||||||
|
|
117
BIN/EDIT.S.txt
117
BIN/EDIT.S.txt
|
@ -130,23 +130,15 @@ CS.INIT lda #$ff
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #bCancel
|
CS.RUN >LDYA L.SEQ.DETECT
|
||||||
lda (pData),y
|
|
||||||
bne .99
|
|
||||||
|
|
||||||
ldy #bInit
|
|
||||||
lda (pData),y
|
|
||||||
bne .8
|
|
||||||
|
|
||||||
>LDYA L.SEQ.DETECT
|
|
||||||
>SYSCALL CPrintFYA Send Query for term W & H
|
>SYSCALL CPrintFYA Send Query for term W & H
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.1 ldy #bCancel
|
.1 >SYSCALL Sleep
|
||||||
lda (pData),y
|
>SYSCALL GetC
|
||||||
bne .99
|
bcs .1
|
||||||
|
|
||||||
>SYSCALL Sleep
|
jsr CharIn
|
||||||
|
|
||||||
ldy #ScreenW Wait for Response from terminal
|
ldy #ScreenW Wait for Response from terminal
|
||||||
lda (pData),y for W & H
|
lda (pData),y for W & H
|
||||||
|
@ -155,36 +147,53 @@ CS.RUN ldy #bCancel
|
||||||
jsr SCRN.Init
|
jsr SCRN.Init
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldy #bInit
|
.2 ldy #bCancel
|
||||||
lda #$ff
|
lda (pData),y
|
||||||
sta (pData),y
|
bne .99
|
||||||
|
|
||||||
|
>SYSCALL Sleep
|
||||||
|
>SYSCALL GetC
|
||||||
|
|
||||||
.8 clc
|
bcs .2
|
||||||
rts
|
|
||||||
|
jsr CharIn
|
||||||
|
bra .2
|
||||||
|
|
||||||
.99 lda #0
|
.99 lda #0
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
CS.DOEVENT sec
|
||||||
lda (pEvent),y
|
rts
|
||||||
ldy #S.PS.hStdIn
|
*--------------------------------------
|
||||||
cmp (pPs),y
|
CS.QUIT ldy #hBuffer
|
||||||
bne .9
|
lda (pData),y
|
||||||
|
beq .1
|
||||||
|
>SYSCALL FreeMemA
|
||||||
|
|
||||||
lda (pEvent)
|
.1 ldy #hBufferBackup
|
||||||
and #S.EVT.F.KEY is it a KEY event?
|
lda (pData),y
|
||||||
beq .9
|
beq .2
|
||||||
|
>SYSCALL FreeMemA
|
||||||
|
|
||||||
ldy #S.EVT.DATAHI is it an O or SAPPLE key ?
|
.2 ldy #hClipBoard
|
||||||
lda (pEvent),y
|
lda (pData),y
|
||||||
bmi .9 test only OA, bug in Applewin for #,@...
|
beq .3
|
||||||
* bne .9
|
>SYSCALL FreeMemA
|
||||||
|
|
||||||
ldy #S.EVT.DATALO
|
.3 ldy #hFileName
|
||||||
lda (pEvent),y
|
lda (pData),y
|
||||||
|
beq .8
|
||||||
tax
|
>SYSCALL FreeMemA
|
||||||
|
|
||||||
|
.8 >LDYA L.SEQ.RESET
|
||||||
|
>SYSCALL CPrintFYA
|
||||||
|
bcs .9
|
||||||
|
lda #12
|
||||||
|
>SYSCALL PutCA
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CharIn tax
|
||||||
|
|
||||||
ldy #bEscMode
|
ldy #bEscMode
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
@ -209,7 +218,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
||||||
cmp #64
|
cmp #64
|
||||||
|
|
||||||
bcc .8
|
bcc .8
|
||||||
jsr CS.DOEVENT.Esc
|
jsr CharIn.Esc
|
||||||
bcs .8 Not translated, exit
|
bcs .8 Not translated, exit
|
||||||
|
|
||||||
.1 pha
|
.1 pha
|
||||||
|
@ -221,11 +230,8 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT.Esc ldy #bEscMode
|
CharIn.Esc ldy #bEscMode
|
||||||
lda #0
|
lda #0
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
|
@ -238,6 +244,7 @@ CS.DOEVENT.Esc ldy #bEscMode
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
|
||||||
ldx EscChars
|
ldx EscChars
|
||||||
|
|
||||||
.1 cmp EscChars,x
|
.1 cmp EscChars,x
|
||||||
beq .2
|
beq .2
|
||||||
dex
|
dex
|
||||||
|
@ -321,33 +328,6 @@ CS.DOEVENT.Esc ldy #bEscMode
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT ldy #hBuffer
|
|
||||||
lda (pData),y
|
|
||||||
beq .1
|
|
||||||
>SYSCALL FreeMemA
|
|
||||||
|
|
||||||
.1 ldy #hBufferBackup
|
|
||||||
lda (pData),y
|
|
||||||
beq .2
|
|
||||||
>SYSCALL FreeMemA
|
|
||||||
|
|
||||||
.2 ldy #hClipBoard
|
|
||||||
lda (pData),y
|
|
||||||
beq .3
|
|
||||||
>SYSCALL FreeMemA
|
|
||||||
|
|
||||||
.3 ldy #hFileName
|
|
||||||
lda (pData),y
|
|
||||||
beq .8
|
|
||||||
>SYSCALL FreeMemA
|
|
||||||
|
|
||||||
.8 >LDYA L.SEQ.RESET
|
|
||||||
>SYSCALL CPrintFYA
|
|
||||||
bcs .9
|
|
||||||
lda #12
|
|
||||||
>SYSCALL PutCA
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
LoadFile >PUSHWI 0 Aux type
|
LoadFile >PUSHWI 0 Aux type
|
||||||
>PUSHBI 4 S.FILEINFO.TYPE.TXT
|
>PUSHBI 4 S.FILEINFO.TYPE.TXT
|
||||||
>PUSHBI SYS.FOpen.R
|
>PUSHBI SYS.FOpen.R
|
||||||
|
@ -512,7 +492,6 @@ DS.START
|
||||||
PromptBuffer .BS PromptBufferMax+1
|
PromptBuffer .BS PromptBufferMax+1
|
||||||
PromptMode .BS 1
|
PromptMode .BS 1
|
||||||
bCancel .BS 1
|
bCancel .BS 1
|
||||||
bInit .BS 1
|
|
||||||
bSaved .BS 1
|
bSaved .BS 1
|
||||||
bEscMode .BS 1
|
bEscMode .BS 1
|
||||||
EscBuffer .BS 16
|
EscBuffer .BS 16
|
||||||
|
|
|
@ -20,7 +20,7 @@ MLIWRITEBLOCK .EQ $81
|
||||||
MLIGETTIME .EQ $82
|
MLIGETTIME .EQ $82
|
||||||
MLICREATE .EQ $C0
|
MLICREATE .EQ $C0
|
||||||
MLIDESTROY .EQ $C1
|
MLIDESTROY .EQ $C1
|
||||||
MLIRename .EQ $C2
|
MLIRENAME .EQ $C2
|
||||||
MLISETFILEINFO .EQ $C3
|
MLISETFILEINFO .EQ $C3
|
||||||
MLIGETFILEINFO .EQ $C4
|
MLIGETFILEINFO .EQ $C4
|
||||||
MLIONLINE .EQ $C5
|
MLIONLINE .EQ $C5
|
||||||
|
|
148
SYS/KM.APPLETALK.txt
Normal file
148
SYS/KM.APPLETALK.txt
Normal file
|
@ -0,0 +1,148 @@
|
||||||
|
PR#3
|
||||||
|
PREFIX /A2OSX.SRC
|
||||||
|
NEW
|
||||||
|
INC 1
|
||||||
|
AUTO 6
|
||||||
|
.LIST OFF
|
||||||
|
.OP 65C02
|
||||||
|
.OR $2000
|
||||||
|
.TF /A2OSX.BOOT/SYS/KM.APPLETALK
|
||||||
|
*--------------------------------------
|
||||||
|
.INB /A2OSX.DEV/INC/MACROS.I
|
||||||
|
.INB /A2OSX.DEV/INC/IO.I
|
||||||
|
.INB /A2OSX.DEV/INC/MONITOR.I
|
||||||
|
.INB /A2OSX.DEV/INC/PRODOS.I
|
||||||
|
*--------------------------------------
|
||||||
|
TmpPtr1 .EQ $0
|
||||||
|
*--------------------------------------
|
||||||
|
AT.INIT >LDAXI MSG.INIT
|
||||||
|
jsr PrintCStrAX
|
||||||
|
|
||||||
|
lda #$F9
|
||||||
|
sta TmpPtr1
|
||||||
|
lda #$C7
|
||||||
|
sta TmpPtr1+1
|
||||||
|
|
||||||
|
.1 ldy #3
|
||||||
|
|
||||||
|
.2 lda (TmpPtr1),y
|
||||||
|
cmp SIG.ATLK,y
|
||||||
|
bne .3
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
ldy #4
|
||||||
|
lda (TmpPtr1),y
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
cmp #1
|
||||||
|
beq .4
|
||||||
|
|
||||||
|
ldx #$80
|
||||||
|
cmp #2
|
||||||
|
beq .4
|
||||||
|
|
||||||
|
pha
|
||||||
|
>LDAXI MSG.FAILED
|
||||||
|
jsr PrintCStrAX
|
||||||
|
rts
|
||||||
|
|
||||||
|
.3 dec TmpPtr1+1
|
||||||
|
lda TmpPtr1+1
|
||||||
|
cmp #$C0
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
>LDAXI MSG.NOHW
|
||||||
|
jsr PrintCStrAX
|
||||||
|
rts
|
||||||
|
|
||||||
|
.4 stx WC.Flag
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda TmpPtr1+1
|
||||||
|
and #$0f
|
||||||
|
pha Push slot #
|
||||||
|
phy Push Type #
|
||||||
|
>LDAXI MSG.HWOK
|
||||||
|
jsr PrintCStrAX
|
||||||
|
|
||||||
|
>LDYA MLI+1
|
||||||
|
>STYA GO.OLDMLI+1
|
||||||
|
|
||||||
|
ldy #$14
|
||||||
|
lda TmpPtr1+1 Cn
|
||||||
|
sta MLIALLOCIRQ.PARAMS.SLOT
|
||||||
|
|
||||||
|
>STYA GO.WSCARD+1
|
||||||
|
bit WC.Flag
|
||||||
|
bmi .5
|
||||||
|
|
||||||
|
>STYA MLI+1
|
||||||
|
|
||||||
|
.5 jsr GO.WSCARD
|
||||||
|
.DA #MLIATALK
|
||||||
|
.DA MLIATALK.PARAMS
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr MLI
|
||||||
|
.DA #MLIALLOCIRQ
|
||||||
|
.DA MLIALLOCIRQ.PARAMS
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cli
|
||||||
|
|
||||||
|
jsr GO.OLDMLI
|
||||||
|
.DA #MLIGETPREFIX
|
||||||
|
.DA MLIGETPREFIX.PARAMS
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr GO.WSCARD
|
||||||
|
.DA #MLIGETPREFIX
|
||||||
|
.DA MLIGETPREFIX.PARAMS
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>LDAXI MSG.OK
|
||||||
|
jsr PrintCStrAX
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 pha
|
||||||
|
>LDAXI MSG.KO
|
||||||
|
jsr PrintCStrAX
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
GO.WSCARD jmp $ffff Self Modifed
|
||||||
|
GO.OLDMLI jmp $ffff
|
||||||
|
*--------------------------------------
|
||||||
|
.INB X.PRINTF.S
|
||||||
|
*--------------------------------------
|
||||||
|
MSG.INIT >CSTR "AppleTalk Driver For A2osX\n"
|
||||||
|
MSG.NOHW >CSTR "AppleTalk Workstation Card Not Found.\n"
|
||||||
|
MSG.HWOK >CSTR "AppleTalk Workstation Card Type #%n Found In Slot #%n.\n"
|
||||||
|
MSG.FAILED >CSTR "AppleTalk Workstation Card Failed Power Up Diagnostics : EC=%h.\n"
|
||||||
|
MSG.OK >CSTR "AppleTalk Driver Successfully Installed.\n"
|
||||||
|
MSG.KO >CSTR "AppleTalk Driver Install Failed : EC=%h.\n"
|
||||||
|
*--------------------------------------
|
||||||
|
SIG.ATLK .AS "ATLK"
|
||||||
|
WC.Flag .BS 1
|
||||||
|
*--------------------------------------
|
||||||
|
MLIATALK.PARAMS .DA #0 Sync
|
||||||
|
.DA #1 INIT
|
||||||
|
.BS 2 RC
|
||||||
|
.DA #$40 ??? from ATINIT dissaembly
|
||||||
|
*--------------------------------------
|
||||||
|
MLIALLOCIRQ.PARAMS
|
||||||
|
.DA #2 Param Count
|
||||||
|
.BS 1 Int Num returned
|
||||||
|
.DA #$19 Lo byte always $19 for WS Card
|
||||||
|
MLIALLOCIRQ.PARAMS.SLOT
|
||||||
|
.BS 1 hi byte : $Cn
|
||||||
|
*--------------------------------------
|
||||||
|
MLIGETPREFIX.PARAMS
|
||||||
|
.DA #1
|
||||||
|
.DA BUF.PREFIX
|
||||||
|
*--------------------------------------
|
||||||
|
BUF.PREFIX .BS MLI.MAXPATH
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE SYS/KM.APPLETALK.S
|
||||||
|
ASM
|
|
@ -151,6 +151,7 @@ VSDRIVE.SetSlot ldx #2 Starts at Slot1
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
|
ora #$0D
|
||||||
ldy DEVCNT
|
ldy DEVCNT
|
||||||
iny
|
iny
|
||||||
sta DEVLST,y add Drv1
|
sta DEVLST,y add Drv1
|
||||||
|
@ -170,16 +171,18 @@ VSDRIVE.SetSlot ldx #2 Starts at Slot1
|
||||||
bne .1
|
bne .1
|
||||||
rts sec from CPX
|
rts sec from CPX
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
VSDRIVE.Install ldx #9
|
VSDRIVE.Install ldx #PATCH.SIZE
|
||||||
.1 lda ProDOS.PATCH,x
|
|
||||||
sta DRV.EntryPoint,x
|
.1 lda PATCH-1,x
|
||||||
|
sta DRV.EntryPoint-1,x
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bne .1
|
||||||
|
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
|
|
||||||
ldx #DRV.SIZE
|
ldx #DRV.SIZE
|
||||||
|
|
||||||
.2 lda DRV-1,x
|
.2 lda DRV-1,x
|
||||||
sta $D000,x
|
sta $D000,x
|
||||||
dex
|
dex
|
||||||
|
@ -204,12 +207,13 @@ VSDRIVE.MSG6 >CSTR "VSDRIVE Driver Successfully Installed.\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* ProDOS $BE41->$BE4B Patch for switching to BANK2 (10 bytes)
|
* ProDOS $BE41->$BE4B Patch for switching to BANK2 (10 bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ProDOS.PATCH .PH DRV.EntryPoint
|
PATCH .PH DRV.EntryPoint
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
jsr $D001
|
jsr $D001
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
rts
|
rts
|
||||||
.EP
|
.EP
|
||||||
|
PATCH.SIZE .EQ *-PATCH
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver
|
* Driver
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -236,6 +240,7 @@ DRV .EQ *
|
||||||
.PH $D001 Main LC Bnk 2 $D001->$DFFF
|
.PH $D001 Main LC Bnk 2 $D001->$DFFF
|
||||||
cld
|
cld
|
||||||
DRV.Slotn0 ldx #$ff Self Modified
|
DRV.Slotn0 ldx #$ff Self Modified
|
||||||
|
>DEBUG
|
||||||
lda DRV.COMMAND S=0,R=1,W=2,F=3
|
lda DRV.COMMAND S=0,R=1,W=2,F=3
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
@ -253,7 +258,7 @@ DRV.Slotn0 ldx #$ff Self Modified
|
||||||
bcs .9 more....IO error
|
bcs .9 more....IO error
|
||||||
|
|
||||||
ora #2 W=2,R=3
|
ora #2 W=2,R=3
|
||||||
ldx DRV.UNITNUM
|
ldy DRV.UNITNUM
|
||||||
bpl .1
|
bpl .1
|
||||||
adc #2 CC from bcs .9
|
adc #2 CC from bcs .9
|
||||||
|
|
||||||
|
@ -383,7 +388,7 @@ DRV.SSCSend sta .2+1
|
||||||
|
|
||||||
.1 lda SSC.STATUS,x
|
.1 lda SSC.STATUS,x
|
||||||
bit #SSC.STATUS.DCD+SSC.STATUS.DSR
|
bit #SSC.STATUS.DCD+SSC.STATUS.DSR
|
||||||
beq DRV.IOERR
|
* beq DRV.IOERR
|
||||||
|
|
||||||
and #SSC.STATUS.TDRE Outgoing char?
|
and #SSC.STATUS.TDRE Outgoing char?
|
||||||
beq .1
|
beq .1
|
||||||
|
@ -395,7 +400,7 @@ DRV.SSCSend sta .2+1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.SSCGet lda SSC.STATUS,x
|
DRV.SSCGet lda SSC.STATUS,x
|
||||||
bit #SSC.STATUS.DCD+SSC.STATUS.DSR
|
bit #SSC.STATUS.DCD+SSC.STATUS.DSR
|
||||||
beq DRV.IOERR
|
* beq DRV.IOERR
|
||||||
|
|
||||||
and #SSC.STATUS.RDRF incoming char?
|
and #SSC.STATUS.RDRF incoming char?
|
||||||
beq DRV.SSCGet
|
beq DRV.SSCGet
|
||||||
|
|
Loading…
Reference in New Issue
Block a user