diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index e0074073..d73a5c85 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index e774746e..d152a3aa 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/BIN/ATLOGOFF.S.txt b/BIN/ATLOGOFF.S.txt new file mode 100644 index 00000000..e69de29b diff --git a/BIN/ATLOGON.S.txt b/BIN/ATLOGON.S.txt new file mode 100644 index 00000000..e69de29b diff --git a/BIN/ATMOUNT.S.txt b/BIN/ATMOUNT.S.txt new file mode 100644 index 00000000..e69de29b diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 114b9bec..e6c5a417 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -531,23 +531,7 @@ Ctrl.ESC ldy #bEscMode clc rts *-------------------------------------- -Prompt.Editor pha - 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 +Prompt.Editor cmp #127 beq .4 cmp #$20 diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 02ac9823..eb2d696c 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -73,7 +73,7 @@ SCRN.UpdateMain ldy #ScreenY ldy #ViewPortH lda (pData),y sta TmpCount - + .1 >LDAX TmpIndex jsr BUF.GetLineAX Y = line length bcs .5 diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index f30cd89b..196cb989 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -130,23 +130,15 @@ CS.INIT lda #$ff clc .9 rts *-------------------------------------- -CS.RUN ldy #bCancel - lda (pData),y - bne .99 - - ldy #bInit - lda (pData),y - bne .8 - - >LDYA L.SEQ.DETECT +CS.RUN >LDYA L.SEQ.DETECT >SYSCALL CPrintFYA Send Query for term W & H bcs .9 -.1 ldy #bCancel - lda (pData),y - bne .99 - - >SYSCALL Sleep +.1 >SYSCALL Sleep + >SYSCALL GetC + bcs .1 + + jsr CharIn ldy #ScreenW Wait for Response from terminal lda (pData),y for W & H @@ -155,36 +147,53 @@ CS.RUN ldy #bCancel jsr SCRN.Init bcs .9 - ldy #bInit - lda #$ff - sta (pData),y +.2 ldy #bCancel + lda (pData),y + bne .99 + + >SYSCALL Sleep + >SYSCALL GetC -.8 clc - rts + bcs .2 + + jsr CharIn + bra .2 .99 lda #0 .9 sec rts *-------------------------------------- -CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? - lda (pEvent),y - ldy #S.PS.hStdIn - cmp (pPs),y - bne .9 +CS.DOEVENT sec + rts +*-------------------------------------- +CS.QUIT ldy #hBuffer + lda (pData),y + beq .1 + >SYSCALL FreeMemA - lda (pEvent) - and #S.EVT.F.KEY is it a KEY event? - beq .9 +.1 ldy #hBufferBackup + lda (pData),y + beq .2 + >SYSCALL FreeMemA - ldy #S.EVT.DATAHI is it an O or SAPPLE key ? - lda (pEvent),y - bmi .9 test only OA, bug in Applewin for #,@... -* bne .9 - - ldy #S.EVT.DATALO - lda (pEvent),y - - tax +.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 +*-------------------------------------- +CharIn tax ldy #bEscMode lda (pData),y @@ -209,7 +218,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? cmp #64 bcc .8 - jsr CS.DOEVENT.Esc + jsr CharIn.Esc bcs .8 Not translated, exit .1 pha @@ -221,11 +230,8 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? .8 clc rts - -.9 sec - rts *-------------------------------------- -CS.DOEVENT.Esc ldy #bEscMode +CharIn.Esc ldy #bEscMode lda #0 sta (pData),y @@ -238,6 +244,7 @@ CS.DOEVENT.Esc ldy #bEscMode lda (pData),y ldx EscChars + .1 cmp EscChars,x beq .2 dex @@ -321,33 +328,6 @@ CS.DOEVENT.Esc ldy #bEscMode clc 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 >PUSHBI 4 S.FILEINFO.TYPE.TXT >PUSHBI SYS.FOpen.R @@ -512,7 +492,6 @@ DS.START PromptBuffer .BS PromptBufferMax+1 PromptMode .BS 1 bCancel .BS 1 -bInit .BS 1 bSaved .BS 1 bEscMode .BS 1 EscBuffer .BS 16 diff --git a/INC/PRODOS.I.txt b/INC/PRODOS.I.txt index ebea88c0..7145c908 100644 --- a/INC/PRODOS.I.txt +++ b/INC/PRODOS.I.txt @@ -20,7 +20,7 @@ MLIWRITEBLOCK .EQ $81 MLIGETTIME .EQ $82 MLICREATE .EQ $C0 MLIDESTROY .EQ $C1 -MLIRename .EQ $C2 +MLIRENAME .EQ $C2 MLISETFILEINFO .EQ $C3 MLIGETFILEINFO .EQ $C4 MLIONLINE .EQ $C5 diff --git a/SYS/KM.APPLETALK.txt b/SYS/KM.APPLETALK.txt new file mode 100644 index 00000000..5d4b7dc1 --- /dev/null +++ b/SYS/KM.APPLETALK.txt @@ -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 diff --git a/SYS/KM.VSDRIVE.S.txt b/SYS/KM.VSDRIVE.S.txt index 5c3e7524..920d8603 100644 --- a/SYS/KM.VSDRIVE.S.txt +++ b/SYS/KM.VSDRIVE.S.txt @@ -151,6 +151,7 @@ VSDRIVE.SetSlot ldx #2 Starts at Slot1 asl asl asl + ora #$0D ldy DEVCNT iny sta DEVLST,y add Drv1 @@ -170,16 +171,18 @@ VSDRIVE.SetSlot ldx #2 Starts at Slot1 bne .1 rts sec from CPX *-------------------------------------- -VSDRIVE.Install ldx #9 -.1 lda ProDOS.PATCH,x - sta DRV.EntryPoint,x +VSDRIVE.Install ldx #PATCH.SIZE + +.1 lda PATCH-1,x + sta DRV.EntryPoint-1,x dex - bpl .1 + bne .1 bit RRAMWRAMBNK2 bit RRAMWRAMBNK2 ldx #DRV.SIZE + .2 lda DRV-1,x sta $D000,x dex @@ -204,12 +207,13 @@ VSDRIVE.MSG6 >CSTR "VSDRIVE Driver Successfully Installed.\n" *-------------------------------------- * ProDOS $BE41->$BE4B Patch for switching to BANK2 (10 bytes) *-------------------------------------- -ProDOS.PATCH .PH DRV.EntryPoint +PATCH .PH DRV.EntryPoint bit RRAMWRAMBNK2 jsr $D001 bit RRAMWRAMBNK1 rts .EP +PATCH.SIZE .EQ *-PATCH *-------------------------------------- * Driver *-------------------------------------- @@ -236,6 +240,7 @@ DRV .EQ * .PH $D001 Main LC Bnk 2 $D001->$DFFF cld DRV.Slotn0 ldx #$ff Self Modified + >DEBUG lda DRV.COMMAND S=0,R=1,W=2,F=3 bne .1 @@ -253,7 +258,7 @@ DRV.Slotn0 ldx #$ff Self Modified bcs .9 more....IO error ora #2 W=2,R=3 - ldx DRV.UNITNUM + ldy DRV.UNITNUM bpl .1 adc #2 CC from bcs .9 @@ -383,7 +388,7 @@ DRV.SSCSend sta .2+1 .1 lda SSC.STATUS,x bit #SSC.STATUS.DCD+SSC.STATUS.DSR - beq DRV.IOERR +* beq DRV.IOERR and #SSC.STATUS.TDRE Outgoing char? beq .1 @@ -395,7 +400,7 @@ DRV.SSCSend sta .2+1 *-------------------------------------- DRV.SSCGet lda SSC.STATUS,x bit #SSC.STATUS.DCD+SSC.STATUS.DSR - beq DRV.IOERR +* beq DRV.IOERR and #SSC.STATUS.RDRF incoming char? beq DRV.SSCGet