From f1797cca6fb136d9679c9ba368663f5c7546d8af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 12 Sep 2019 17:56:38 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CMP.S.txt | 311 +++++++++++++++++++++++++++++++++ INC/MONITOR.I.txt | 1 + ProDOS.203/ProDOS.S.CCLK.txt | 2 - ProDOS.203/ProDOS.S.LDR.A.txt | 26 ++- ProDOS.203/ProDOS.S.LDR.B.txt | 3 +- ProDOS.203/ProDOS.S.RAMI.txt | 2 +- ProDOS.203/ProDOS.S.SEL2.txt | 8 +- ProDOS.203/ProDOS.S.XDOS.A.txt | 2 +- ProDOS.203/ProDOS.S.txt | 20 +-- 10 files changed, 340 insertions(+), 35 deletions(-) create mode 100644 BIN/CMP.S.txt diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4d413b4f070c35f1fc9cc8e2063522251946e6c3..08254aec34ade84f7a6b7ac128de4a5a2afbf860 100644 GIT binary patch delta 319604 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 delta 317005 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 zh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAo zgeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_R zN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6 zqJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74C zAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS z5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcN zC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0O zh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAo zgeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_R zN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6 zqJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74C zAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS z5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcN zC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0O zh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAo zgeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_R zN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6 zqJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74C zAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS z5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcN zC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0O zh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAo zgeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_R zN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6 zqJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74C zAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS z5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcN zC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0O zh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAo zgeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_R zN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6 zqJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74C zAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS z5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcN zC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0O zh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAo zgeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_R zN{AAogeW0Oh!UcNC?QIS5~74CAxel6qJ$_RN{AAogeW0Oh!UcNC?QIS5~74C;r}NR H{wDlC%vsue diff --git a/BIN/CMP.S.txt b/BIN/CMP.S.txt new file mode 100644 index 00000000..d8582d92 --- /dev/null +++ b/BIN/CMP.S.txt @@ -0,0 +1,311 @@ +NEW + AUTO 3,1 + .LIST OFF + .OP 65C02 + .OR $2000 + .TF BIN/CMP +*-------------------------------------- + .INB INC/MACROS.I + .INB INC/A2OSX.I + .INB INC/MLI.I + .INB INC/MLI.E.I +*-------------------------------------- + .DUMMY + .OR ZPBIN +ZS.START +ArgIndex .BS 1 +ZPPTR1 .BS 2 + +bPause .BS 1 +bAll .BS 1 +bVerbose .BS 1 +bDiff .BS 1 + +hFile1 .BS 1 +hBuf1 .BS 1 +ZPBufPtr1 .BS 2 +bSkip1 .BS 1 +hFile2 .BS 1 +hBuf2 .BS 1 +ZPBufPtr2 .BS 2 +bSkip2 .BS 1 + +Offset .BS 2 + +BufCnt .BS 2 +ZS.END .ED +*-------------------------------------- +* File Header (16 Bytes) +*-------------------------------------- +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA #S.PS.F.EVENT S.PS.F + .DA #0 + .DA CS.END-CS.START CS + .DA DS.END-DS.START DS + .DA #64 SS + .DA #ZS.END-ZS.START Zero Page Size + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +L.MSG.USAGE .DA MSG.USAGE +L.MSG.DIFF .DA MSG.DIFF + .DA 0 +*-------------------------------------- +CS.INIT clc + rts +*-------------------------------------- +CS.RUN +.1 inc ArgIndex + lda ArgIndex + >SYSCALL ArgV + bcs .7 + + >STYA ZPPtr1 + + lda (ZPPtr1) + cmp #'-' + bne .2 + + jsr CS.RUN.CheckOpt + bcc .1 + +.99 >PUSHBI 0 + >LDYA L.MSG.USAGE + >SYSCALL printf + lda #E.SYN + sec +.9 rts + +.2 lda hFile1 + bne .3 + + jsr CS.RUN.OPEN + bcs .9 + sta hFile1 + + >LDYAI 256 + >SYSCALL GetMem + bcs .9 + + >STYA ZPBufPtr1 + stx hBuf1 + bra .1 + +.3 lda hFile2 + bne .4 + + jsr CS.RUN.OPEN + bcs .9 + sta hFile2 + + >LDYAI 256 + >SYSCALL GetMem + bcs .9 + + >STYA ZPBufPtr2 + stx hBuf2 + bra .1 + +.4 lda #$ff + + bit bSkip1 + bmi .5 + + sta bSkip1 + jsr CS.RUN.SEEK + bcs .9 + bra .1 + +.5 bit bSkip2 + bmi .99 + + sta bSkip2 + jsr CS.RUN.SEEK + bcs .9 + jmp .1 + +.7 lda hFile2 + beq .99 + lda hFile1 + beq .99 +*-------------------------------------- +CS.RUN.LOOP ldy #S.PS.hStdIn + lda (pPS),y + >SYSCALL feof + bcs .9 IO error + + tay + bne .1 no char + + >SYSCALL GetChar + bcs .9 IO error + + cmp #$03 Ctrl-C + beq .9 Abort.... + + cmp #$13 Ctrl-S + bne .1 + + lda bPause + eor #$ff + sta bPause + bne CS.RUN.LOOP + +.1 lda bPause + bne CS.RUN.LOOP Pause... + + jsr CS.RUN.READ1 + bcc .2 + cmp #MLI.E.EOF + bne .9 + bra .99 + +.2 >STYA BufCnt + jsr CS.RUN.READ2 + + bcc .20 + cmp #MLI.E.EOF + bne .9 + bra .99 + +.20 cpy BufCnt + pha + sbc BufCnt+1 + pla + bcc .3 + >STYA BufCnt + +.3 ldy #0 + +.4 lda (ZPBufPtr1),y + cmp (ZPBufPtr2),y + beq .8 + + lda #1 + sta bDiff + + bit bVerbose + bpl .5 + + jsr CS.RUN.Print + bcs .9 + +.5 bit bAll + bpl .99 + +.8 iny + cpy BufCnt + bne .4 + inc Offset + bne CS.RUN.LOOP + inc Offset+1 + bra CS.RUN.LOOP + +.99 lda bDiff +.9 sec + rts +*-------------------------------------- +CS.RUN.OPEN >PUSHWZ Aux type + >PUSHBI 0 Type + >PUSHBI O.RDONLY + + >LDYA ZPPtr1 + >SYSCALL FOpen + rts +*-------------------------------------- +CS.RUN.SEEK clc + rts +*-------------------------------------- +CS.RUN.READ1 >PUSHWI 256 + >PUSHW ZPBufPtr1 + lda hFile1 + >SYSCALL FRead + rts +*-------------------------------------- +CS.RUN.READ2 >PUSHWI 256 + >PUSHW ZPBufPtr2 + lda hFile2 + >SYSCALL FRead + rts +*-------------------------------------- +CS.RUN.Print phy + >PUSHB (ZPBufPtr2),y + >PUSHB (ZPBufPtr1),y + tya + >PUSHA + >PUSHW Offset + >PUSHBI 5 + + >LDYA L.MSG.DIFF + >SYSCALL printf + ply + rts +*-------------------------------------- +CS.QUIT lda hFile2 + beq .1 + >SYSCALL FClose + +.1 lda hFile1 + beq .2 + >SYSCALL FClose + +.2 lda hBuf2 + beq .3 + >SYSCALL FreeMem + +.3 lda hBuf1 + beq .8 + >SYSCALL FreeMem + +.8 clc + rts +*-------------------------------------- +CS.DOEVENT sec + rts +*-------------------------------------- +CS.RUN.CheckOpt ldy #1 + lda (ZPPtr1),y + + ldx #OptionVars-OptionList-1 + +.2 cmp OptionList,x + beq .3 + dex + bpl .2 + + sec + rts + +.3 ldy OptionVars,x + lda #$ff + sta 0,y + clc + rts +*-------------------------------------- +CS.END +*-------------------------------------- +OptionList .AS "AaVv" +OptionVars .DA #bAll,#bAll,#bVerbose,#bVerbose +*-------------------------------------- +MSG.USAGE .AS "Usage : CMP File1 File2 [SKIP1 [SKIP1]]\r\n" + .AS " -A : Shows All differences\r\n" + .AZ " -V : Verbose Mode\r\n" +MSG.DIFF .AZ "%H%h:%h %h\r\n" +*-------------------------------------- + .DUMMY + .OR 0 +DS.START +DS.END + .ED +*-------------------------------------- +MAN +SAVE USR/SRC/BIN/CMP.S +ASM diff --git a/INC/MONITOR.I.txt b/INC/MONITOR.I.txt index ec6e3e4d..2f51a826 100644 --- a/INC/MONITOR.I.txt +++ b/INC/MONITOR.I.txt @@ -39,6 +39,7 @@ SETWND .EQ $FB4B SET NORMAL TEXT WINDOW TABV .EQ $FB5B SETPWRC .EQ $FB6F version .EQ $FBB3 monitor ROM id byte +zidbyte .EQ $FBC0 monitor ROM id byte BASCALC .EQ $FBC1 CALCULATE TEXT BASE ADDRESS (NOT 2E!} BELL1 .EQ $FBD9 BEEP SPEAKER IF CTRL-G BELL2 .EQ $FBE4 BEEP SPEAKER ONCE diff --git a/ProDOS.203/ProDOS.S.CCLK.txt b/ProDOS.203/ProDOS.S.CCLK.txt index 6f36bc34..36f6992f 100644 --- a/ProDOS.203/ProDOS.S.CCLK.txt +++ b/ProDOS.203/ProDOS.S.CCLK.txt @@ -4,7 +4,6 @@ NEW * Cortland clock driver * $2F80-$2FFC moved to $D742 - .OP 65816 ofsC .EQ *-tclk_in offset to Cortland clock org cclock_0 @@ -63,7 +62,6 @@ savestate .EQ *-ofsC cclk_end .EQ * end of obj cclock_0. .HS 000000 pad to page boundary * LONG I OFF - .OP 65C02 *-------------------------------------- MAN SAVE USR/SRC/PRODOS.203/PRODOS.S.CCLK diff --git a/ProDOS.203/ProDOS.S.LDR.A.txt b/ProDOS.203/ProDOS.S.LDR.A.txt index 8c693dfa..1fe8a61a 100644 --- a/ProDOS.203/ProDOS.S.LDR.A.txt +++ b/ProDOS.203/ProDOS.S.LDR.A.txt @@ -1,19 +1,17 @@ NEW AUTO 3,1 - .OP 65C02 - H2000 jmp prostart jmp atalkset appletalk setup for network boot jmp p16start GQuit setup for gs/os -LDR.MSG.AppleII .AS "Apple II" -LDR.MSG.ProDOS .AS "ProDOS 8 V2.0.3 " - .AS "06-May-93" -H202F .AS " " +LDR.MSG.AppleII .AS -"Apple II" +LDR.MSG.ProDOS .AS -"ProDOS 8 V2.0.3 " + .AS -"06-May-93" +H202F .AS -" " LDR.MSG.Copyright - .AS "Copyright Apple Computer, Inc., 1983-93" + .AS -"Copyright Apple Computer, Inc., 1983-93" LDR.MSG.Reserved - .AS "All Rights Reserved." + .AS -"All Rights Reserved." p16start inc setuprts set = 2 for GQuit rts atalkset inc setuprts set = 1 for appletalk rts @@ -227,7 +225,7 @@ isRROMBNK23 sta SETC3ROM enable slot 3 rom and #$C8 cmp #$C0 is it a //+ ? beq docard yes - lda slot3irq + lda $C3FA cmp #$2C does card have an interrupt handler? beq docard yes @@ -343,7 +341,7 @@ relocerr sta RROMBNK2 read ROM LDR.MSG.LdrErr .AS "Relocation/Configuration Error" - ldy #$23 +H22EB ldy #$23 .1 lda LDR.MSG.EnhErr,y sta vline14+2,y @@ -385,8 +383,8 @@ H232B .DA #1 move interpreter loader code .DA dst .DA #$01 move 128k test to zero page .DA tst128 destination - .DA H2622-H25DC length - .DA H25DC source + .DA LDR.Test128.Len + .DA LDR.Test128 .HS FF done dsp64 .DA #$01 move p8 dispatcher code @@ -731,7 +729,7 @@ H25D9 jmp tst128 jumps to page 0 routine below * test for 128k. use page 0 for this routine -H25DC sta idapple H25DC-2621 was moved to location tst128 +LDR.Test128 sta idapple H25DC-2621 was moved to location tst128 bpl not128 if already determined < 128k lda #$EE sta SETWRITEAUX write to aux mem while on main zp @@ -764,7 +762,7 @@ not128 lda lookptr+1 dec lookptr H2620 clc rts - +LDR.Test128.len .EQ *-LDR.Test128 MAN SAVE USR/SRC/PRODOS.203/PRODOS.S.LDR.A LOAD USR/SRC/PRODOS.203/PRODOS.S diff --git a/ProDOS.203/ProDOS.S.LDR.B.txt b/ProDOS.203/ProDOS.S.LDR.B.txt index 96c78a85..5c415eeb 100644 --- a/ProDOS.203/ProDOS.S.LDR.B.txt +++ b/ProDOS.203/ProDOS.S.LDR.B.txt @@ -838,8 +838,7 @@ ofset .HS 0000000000000000 * patch to gsos vectors so error is returned for os calls - rev note #101 -patch101 .OP 65816 - php +patch101 php sei disable interrupts clc xce full native mode diff --git a/ProDOS.203/ProDOS.S.RAMI.txt b/ProDOS.203/ProDOS.S.RAMI.txt index 481d52a4..c9e27a94 100644 --- a/ProDOS.203/ProDOS.S.RAMI.txt +++ b/ProDOS.203/ProDOS.S.RAMI.txt @@ -7,7 +7,7 @@ NEW RAM_1 .BS $2C80-* - ldy #$99 move $9A bytesfrom lcsrc to lcdest. +H2C80 ldy #$99 move $9A bytesfrom lcsrc to lcdest. .1 lda lcsrc,y transfer main bank portion of driver sta lcdest,y diff --git a/ProDOS.203/ProDOS.S.SEL2.txt b/ProDOS.203/ProDOS.S.SEL2.txt index 3275a1a3..558825f4 100644 --- a/ProDOS.203/ProDOS.S.SEL2.txt +++ b/ProDOS.203/ProDOS.S.SEL2.txt @@ -13,8 +13,6 @@ NEW * (as other replacement quit code is supposed to do) because GQuit checks * this to see if this version of quit code is available. - .OP 65816 - ofsQ .EQ *-dispadr offset to GQuit dispatcher org GQdisp lda RRAMWRAMBNK1 read/write LC bank 1 @@ -383,7 +381,7 @@ SEL2.ckfordrv clc native mode xce sec disk not found. .2 rts - .OP 65C02 + * Prodos 8 parameter lists pfxparms .EQ *-ofsQ set prefix parms. @@ -437,12 +435,12 @@ gfiparms .EQ *-ofsQ get file info parms. quitstr1 .EQ *-ofsQ .DA #$1B - .AS "Can't run next application." + .AS 'Can't run next application.' quitstr2 .EQ *-ofsQ .DA #$14 .AS "ProDOS Error = $" errval .EQ *-ofsQ hex error code gets stored here - .AS " " + .AS ' ' quitbtn2 .EQ *-ofsQ null string (no 2nd button) .HS 00 diff --git a/ProDOS.203/ProDOS.S.XDOS.A.txt b/ProDOS.203/ProDOS.S.XDOS.A.txt index a0a544c7..cb0e7e0f 100644 --- a/ProDOS.203/ProDOS.S.XDOS.A.txt +++ b/ProDOS.203/ProDOS.S.XDOS.A.txt @@ -2,7 +2,7 @@ NEW AUTO 3,1 * object code = mli_2 * xdos mli system call processor - .OP 65C02 + ofsX .EQ *-xdosorg offset to xdos org xdosmli .EQ *-ofsX xdos MLI in aux ram diff --git a/ProDOS.203/ProDOS.S.txt b/ProDOS.203/ProDOS.S.txt index 571b4d50..092ec45e 100644 --- a/ProDOS.203/ProDOS.S.txt +++ b/ProDOS.203/ProDOS.S.txt @@ -1,7 +1,7 @@ NEW AUTO 3,1 .LIST OFF - .OP 65C02 + .OP 65816 .OR $0000 .TF PRODOS203,TSYS *-------------------------------------- @@ -11,15 +11,15 @@ NEW .INB INC/MLI.I .INB INC/MLI.E.I *-------------------------------------- -MMStartUp .EQ 0000 -NewHandle .EQ 0000 -PtrToHand .EQ 0000 -MessageCenter .EQ 0000 -DisposeHandle .EQ 0000 -MMShutDown .EQ 0000 -ReadTimeHex .EQ 0000 -Int2Hex .EQ 0000 -TLTextMountVolume .EQ 0000 +MMStartUp .EQ $0202 +NewHandle .EQ $0902 +PtrToHand .EQ $2802 +MessageCenter .EQ $1501 +DisposeHandle .EQ $1002 +MMShutDown .EQ $0303 +ReadTimeHex .EQ $0D03 +Int2Hex .EQ $220B +TLTextMountVolume .EQ $1201 .MA IIGS ldx ##]1 jsl $E10000