From 244019105308ff13037ea78a4de8c52b652cbcb6 Mon Sep 17 00:00:00 2001 From: Antoine Vignau <34219772+antoinevignau@users.noreply.github.com> Date: Mon, 3 Aug 2020 23:22:16 +0200 Subject: [PATCH] Antoine: all files converted to Merlin32 --- disks/DOS3.3.5.dsk | Bin 0 -> 143360 bytes source/DOS3.3MOVER.S | 67 ++++++ source/DOS3.3MOVER2.S | 87 +++++++ source/DOS335.DOC.BAS | 17 ++ source/DOS335PATCH.S | 528 +++++++++++++++++++++++++++++++++++++++++ source/FID.PATCH.S | 36 +++ source/FID335MAKER.TXT | 39 +++ 7 files changed, 774 insertions(+) create mode 100644 disks/DOS3.3.5.dsk create mode 100644 source/DOS3.3MOVER.S create mode 100644 source/DOS3.3MOVER2.S create mode 100644 source/DOS335.DOC.BAS create mode 100644 source/DOS335PATCH.S create mode 100644 source/FID.PATCH.S create mode 100644 source/FID335MAKER.TXT diff --git a/disks/DOS3.3.5.dsk b/disks/DOS3.3.5.dsk new file mode 100644 index 0000000000000000000000000000000000000000..eb7957d042ef57cfa339c07c140e6e8c6478f144 GIT binary patch literal 143360 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 HyTJbf1mu5v literal 0 HcmV?d00001 diff --git a/source/DOS3.3MOVER.S b/source/DOS3.3MOVER.S new file mode 100644 index 0000000..bb1a996 --- /dev/null +++ b/source/DOS3.3MOVER.S @@ -0,0 +1,67 @@ +*SYSTEM PROGRAM TO SWITCH INTO DOS 3.3 FROM PRODOS +* +************************************************** +* +* COPYRIGHT +* 1984 +* BY +* R. SUTCLIFFE +* +*************************************************** +* +A1L EQU $3C ;SOURCE +A1H EQU $3D +A2L EQU $3E ;END OF SOURCE +A2H EQU $3F +A4L EQU $42 ;DESTINATION +A4H EQU $43 +DOSCOPY EQU $2100 ;START OF TRANSFERRED CODE +DOSSTRT EQU $9D00 ;DOS3.3 BEGINS HERE +DOSP1 EQU $9D0D +DOSCOLD EQU $9D84 +FNBLK EQU $A095 ;BLANKS FILENAME BUFFER +DOSCMD EQU $AA5F ;WHAT TO DO WHEN BOOTED +PFNBUF EQU $AA75 ;FILE NAME BUFFER +FMPLST EQU $B5BC ;FILE MANAGER PARAMETER LIST +FMPCMD EQU $B5BB +SETDSP EQU $B7C2 +MOVE EQU $FE2C ;MONITOR MOVE ROUTINE +SETKBD EQU $FE89 +SETVID EQU $FE93 +* + ORG $2000 ;FOR ALL SYSTEM PROGRAMS +* +MOVER LDY #>DOSSTRT ;SET PARAMS FOR MONITOR MOVE + STY A4H ;IN PAGE ZERO + LDY #>DOSCOPY + STY A1H + LDY #$43 + STY A2H + LDY #$FF + STY A2L + INY ;NOW 0 + STY A1L + STY A4L + JSR MOVE ;AND MOVE DOS 3.3 IN + JSR SETKBD + JSR SETVID +* +DOSPREP LDA #$0B ;INIT COMMAND MAKES IT LIVE + STA FMPCMD + LDA #$00 ;RUN COMMAND + STA DOSCMD ;FOR GREETING PROGRAM FILENAME + JSR FNBLK + LDX #0 +FNAME1 LDA NAME,X ;PUT IN OUR NAME + PHA + ORA #$80 ;SET HI BIT ALWAYS + STA PFNBUF,X + PLA ;DONE IF AT HI BIT SET + BMI FIN ;YES + INX ;NOT YET + BNE FNAME1 ;ALWAYS +FIN JMP DOSCOLD ;GO START IT UP +* +*FILENAME TO RUN GOES HERE +NAME DCI 'HELLO' +* diff --git a/source/DOS3.3MOVER2.S b/source/DOS3.3MOVER2.S new file mode 100644 index 0000000..0545110 --- /dev/null +++ b/source/DOS3.3MOVER2.S @@ -0,0 +1,87 @@ +*SYSTEM PROGRAM TO SWITCH INTO DOS 3.3 FROM PRODOS +* +************************************************** +* +* COPYRIGHT +* 1984 +* BY +* R. SUTCLIFFE +* +*************************************************** +* +A1L EQU $3C ;SOURCE +A1H EQU $3D +A2L EQU $3E ;END OF SOURCE +A2H EQU $3F +A4L EQU $42 ;DESTINATION +A4H EQU $43 +DOSCOPY EQU $2100 ;START OF TRANSFERRED CODE +DOSSTRT EQU $9D00 ;DOS3.3 BEGINS HERE +DOSCOLD EQU $9D84 +FNBLK EQU $A095 ;BLANKS FILENAME BUFFER +DOSCMD EQU $AA5F ;WHAT TO DO WHEN BOOTED +PFNBUF EQU $AA75 ;FILE NAME BUFFER +FMPLST EQU $B5BC ;FILE MANAGER PARAMETER LIST +FMPCMD EQU $B5BB +ENTRY EQU $BF00 +ROMIN EQU $C082 +RAMIN EQU $C083 +BANK EQU $D000 +MOVE EQU $FE2C ;MONITOR MOVE ROUTINE +* + ORG $2000 ;FOR ALL SYSTEM PROGRAMS +* +*PRESERVE GLOBAL PAGE TO GET BACK +* + BIT RAMIN ;WRITE ENABLE LC + BIT RAMIN + LDA #>BANK + STA A1H + LDA #>ENTRY + STA A4H + LDY #$00 + STY A1L + STY A4L +LOOP LDA (A4L),Y + STA (A1L),Y + INY + BNE LOOP + BIT ROMIN +* +* +MOVER LDY #>DOSSTRT ;SET PARAMS FOR MONITOR MOVE + STY A4H ;IN PAGE ZERO + LDY #>DOSCOPY + STY A1H + LDY #$43 + STY A2H + LDY #$FF + STY A2L + INY ;NOW 0 + STY A1L + STY A4L + JSR MOVE ;AND MOVE DOS 3.3 IN +* +DOSPREP LDA #$0B ;INIT COMMAND MAKES IT LIVE + STA FMPCMD + LDA #$00 ;RUN COMMAND + STA DOSCMD ;FOR GREETING PROGRAM FILENAME + JSR FNBLK + LDX #0 +FNAME1 LDA NAME,X ;PUT IN OUR NAME + PHA + ORA #$80 ;SET HI BIT ALWAYS + STA PFNBUF,X + PLA ;DONE IF AT HI BIT SET + BMI FIN ;YES + INX ;NOT YET + BNE FNAME1 ;ALWAYS +FIN LDA #$EA ;PATCH TO PREVENT 0 IN $E000 BY BOOT + STA $BFD3 + STA $BFD4 + STA $BFD5 + JMP DOSCOLD ;GO START IT UP +* +*FILENAME TO RUN GOES HERE +NAME DCI 'HELLO' +* diff --git a/source/DOS335.DOC.BAS b/source/DOS335.DOC.BAS new file mode 100644 index 0000000..dba5b8a --- /dev/null +++ b/source/DOS335.DOC.BAS @@ -0,0 +1,17 @@ + 5 HOME + 10 FOR I = 1 TO 6 + 20 READ A$ + 30 PRINT A$ + 40 PRINT + 50 IF I = 4 AND PEEK (33) = 40 THEN PRINT "press a key": WAIT - 16384,128: PRINT + 60 NEXT + 100 READ A$ + 110 PRINT A$ + 7000 END + 10000 DATA "DOS3.3.5 is copyright 1987 by Arjay Enterprises" + 10020 DATA " This DOS will allow you to read and write files using 3 1/2in drives on your Apple //GS. It will not work on other Apple //'s because it needs the 65816 chip. THIS DISK HAS NO DOS" + 10040 DATA " DOS3.3.5 can also initialize a bootable 3 1/2in disk wi|h the normal command. It will not initialize a 5 1/4in floppy, but will read and write them." + 10050 DATA " Device #1 is S5,D1 for the first 400K and ,D2 for the next 400K. You continue in this way for as many devices as you have. The RAM drive is initialized only if it has at least 400K." + 10070 DATA " To make a version of FID that will work properly, you type EXECFID335MAKER and follow instructions." + 10080 DATA " The boot option for DOS335PATCH will attempt to boot a DOS3.5 disk in ,S5,D1 and modify the DOS on the fly. This may allow some commercial software to work but I offer no guarantees." + 10090 DATA " This program is supposed to be transparant; the less documentation to confuse things the better." diff --git a/source/DOS335PATCH.S b/source/DOS335PATCH.S new file mode 100644 index 0000000..a716e3d --- /dev/null +++ b/source/DOS335PATCH.S @@ -0,0 +1,528 @@ +* +* DOS 3.3.5 - Patch/Boot program +* +* (c) 1987, Rick Sutcliffe (Arjay Enterprises) +* (s) 2020, Antoine Vignau +* + + xc + xc + mx %11 + org $8100 + lst off + +*---------------------------- + +zparam = $48 +scratch = $50 +flag = $80 +buffer = $BB00 +dispatch = $c50d + +KBD EQU $C000 +KBDSTROBE EQU $C010 +INIT EQU $FB2F +HOME EQU $FC58 +COUT EQU $FDED +SETKBD EQU $FE89 +SETVID EQU $FE93 + +*---------------------------- + +L8100 LDA $C501 ; Do we have a Smartport card? + CMP #$20 + BNE L8116 + LDA $C503 + ORA $C507 + BNE L8116 + LDA $C505 + CMP #$03 + BEQ L8117 + +*---------------------------- +* 1- QUIT +*---------------------------- + +L8116 RTS + +*---------------------------- + +L8117 LDA $03D2 ; Where is DOS located? + CMP #$9D + BNE L813E + LDA $03D5 + CMP #$9D + BNE L813E + LDA $AAB3 + BNE L812F + LDA $76 + INC + BEQ L8139 +L812F LDA $0100 + CMP #$03 + BNE L8139 + JMP L81ED + +*---------------------------- + +L8139 LDA #$8D + STA L8509+$20 + +*---------------------------- + +L813E STA $C0E8 ; stop drive + JSR SETKBD ; say hello + JSR SETVID + JSR INIT +L814A JSR HOME + LDA #>msgHELLO + LDX #msgSELECT + LDX #msgABOUT + LDX #LBEB1 + STA $BD08 + LDA #$06 + STA $A95B + LDA $AEB3 + ORA #$0C + CMP #$0C + BNE L8247 + LDA #$08 + STA $AEB3 + LDA #$C8 + STA $AEB5 +L8247 LDA $B75E + CMP #$02 + BNE L825A + LSR + STA $B715 + STA $B75E + LDA #$1F + STA $B7A3 + +L825A LDA $BCDF + ORA $BCFF + BEQ L829E + + LDA $9D00 + STA $40 + LDA $9D00+1 + STA $40+1 + LDY #$00 + STA ($40),Y + LDX $AAB1 + CPX #$03 + BNE L8288 + DEX + STX $AAB1 + LDY #$25 + LDA ($40),Y + STA $9D00+1 + DEY + LDA ($40),Y + STA $9D00 + +L8288 LDY #$23 + LDA ($40),Y + STA LBEE2+1 + STA LBFAE+3 + STA LBF26+2 + DEY + LDA ($40),Y + STA LBFAE+2 + STA LBF26+1 +L829E RTS + +*---------------------------- +* PATCHES TO DOS 3.3 +*---------------------------- + +*--- This is T0/S0 + +L829F = * + + ORG $B601 + +LB601 LDA $C5FF ; B601 + INC + INC + INC + STA $0822 + LDA $08FE + INC + ADC $08FF + STA $0837 + LDA $08FF + LSR + STA $0838 +LB61B DEC $0837 + DEC $0837 + JSR dispatch + DB $01 + DA $0834 + DEC $0838 + BPL LB61B + INC $0837 + LDX #$50 + JMP ($0836) + +*--- + + DB $03 ; This is $0834 + DB $01 + DA $0000 + DA $0000 + DB $00 + +*---------------------------- + + ORG + +L82D9 = * + + ORG $BEAF + +LBEAF DB $80 ; BEAF + DB $97 + +LBEB1 STY $06F8 + LDA (zparam),Y + INC + LSR + ROR $80 + STA LBFAE+1 + STA LBFB5+1 + DEY + LDA (zparam),Y + CMP #$50 + BNE LBF45 + LDX #$0F +LBEC9 LDA scratch,X + PHA + DEX + BPL LBEC9 + + LDY #$0C ; the RWTS command + LDA (zparam),Y + STA LBF13+1 + CMP #$04 + BEQ LBF50 + LDY #$05 + LDA (zparam),Y + PHA + AND #$01 + CLC +LBEE2 ADC #>buffer + STA LBF26+2 + PLA + LSR + STA scratch + STZ $51 + DEY + LDA #$00 + XBA + LDA (zparam),Y + CLC + XCE + REP #$30 + ASL + ASL + ASL + ASL + CLC + ADC scratch + BIT flag-1 + BPL LBF06 + CLC + ADC #$0320 +LBF06 STA LBFAE+4 + MX %11 + SEC + XCE +LBF0B JSR dispatch + DB $01 + DA LBFAE + BCS LBF3A +LBF13 LDA #$00 + BEQ LBF38 + LSR + LDY #$08 + PHP + CLC + XCE + PLP + REP #$30 + LDA (zparam),Y + TAY + LDA #$00FF +LBF26 LDX #buffer + BCS LBF2F + PHX + PHY + PLX + PLY +LBF2F MVN $000000,$000000 + + PHP + MX %11 + SEC + XCE + PLP + BCC LBF46 + +LBF38 CLC + HEX B0 +LBF3A SEC + +LBF3B LDX #$0F +LBF3D PLY + STY scratch,X + DEX + BPL LBF3D + PLY + PLY +LBF45 RTS + +LBF46 JSR dispatch + DB $02 + DA LBFAE + BCS LBF3A + BRA LBF3B +LBF50 STZ LBFAE+4 + +LBF53 JSR dispatch + DB $00 + DA LBFAE + BCS LBF3A + XCE + REP #$30 + LDA #$2032 + STA $B3EF + LDA $BB01 ; 400k + CMP #$0320 + BCS LBF70 + SEC + XCE + BRA LBF3A + MX %00 +LBF70 CMP #$0640 ; or 800k +LBF73 PHP + MX %11 + SEC + XCE + PLP + LDA LBFAE+1 + ROL + DEC + STA $B5F8 + LDA #$1F + STA $B3BD + +LBF84 JSR dispatch + DB $03 + DA LBFB5 + BCS LBF3B + + LDA $B5F8 + LSR + BCS LBFA7 + LDA #$04 + STA $AEB3 + LDA #$60 + STA $AEFF + JSR $AE96 + LDA #$20 + STA $AEFF + DEC $B5F8 +LBFA7 LDA #$08 + STA $AEB3 + BNE LBF38 + +LBFAE DB $03 ; Read/Write command + DB $01 + DA buffer + DA $0000 + DB $00 + +LBFB5 DB $01 + DB $01 + +*---------------------------- +* The text messages + + ORG + ORG $0083E1 + +msgHELLO + ASC " DOS 3.3.5 Patch/Boot program"8D8D + ASC " Copyright 1987 by Rick Sutcliffe"8D + ASC " (Arjay Enterprises)"8D8D + ASC "Box 1253 Aldergrove BC Canada V0X 1A0"8D + ASC 8D8D + ASC " Sold with Ampermanager by A.P.P.L.E."8D + ASC 8D + ASC "or separately as Shareware - $10 please"8D + ASC 8D8D + ASC "Do you wish to:"8D8D + ASC " 1. Quit and do nothing"8D + ASC " 2. See some instructions"8D +L8509 ASC " 3. Boot a DOS3.3 disk in S6,D1"00 + ASC " 4. Modify DOS in memory and continue"00 + +msgSELECT + ASC 8D8D + ASC "Press the key for your selection ===> "00 + +msgABOUT + ASC " About DOS 3.3.5 Version 1.2"8D + ASC 8D + ASC "Once DOS 3.3.5 has been installed, "8D + ASC " - you can init bootable 3.5 inch disks"8D + ASC " (provided your DOS allows this)"8D + ASC " - you cannot init 5 1/4 inch disks"8D + ASC " - data I/O is o.k. with both."8D8D + ASC "If your GS has at least 400K set aside"8D + ASC "as a RAM drive, you can init that too,"8D + ASC "and use either 400K or 800K on it."8D8D + ASC "In any event, you use slot 5 drive 1 to"8D + ASC "access the first 400K on device one,"8D + ASC "and slot 5 drive 2 for the second 400K."8D + ASC 8D + ASC "Use ,D3 & ,D4 for device 2 (ramdrive?)"8D + ASC "and ,D5 and ,D6 for device 3"8D8D + ASC "Access other slots in the normal way."8D + ASC "You may BSAVE DOS335PATCH, A$8100,L$713"8D + ASC 8D + ASC "Press any key to return to menu ===> "00 + +*---------------------------- + +printSTR STA scratch+1 + STX scratch + LDY #$00 +L8803 LDA (scratch),Y + BEQ L8812 + JSR COUT + INC scratch + BNE L8803 + INC scratch+1 + BNE L8803 +L8812 RTS diff --git a/source/FID.PATCH.S b/source/FID.PATCH.S new file mode 100644 index 0000000..d6659b2 --- /dev/null +++ b/source/FID.PATCH.S @@ -0,0 +1,36 @@ +* +* DOS 3.3.5 - Patch for FID on 3.5" disk drives +* +* (c) 1987, Rick Sutcliffe (Arjay Enterprises) +* (s) 2020, Antoine Vignau +* + + xc + xc + mx %11 + org $11e0 + lst off + +*---------------------------- + +L11E0 STX $1393 + STX $1930 + TXA + ASL + ASL + TAY + STY $1392 + LDX #$03 + CLC +L11F0 LDA $198D,Y + BEQ L11F6 + SEC +L11F6 STA $1931,X + DEY + DEX + BPL L11F0 + BCC $11D7 + LDX $1987 + STX $192F + BNE $11A4 + NOP diff --git a/source/FID335MAKER.TXT b/source/FID335MAKER.TXT new file mode 100644 index 0000000..17fa341 --- /dev/null +++ b/source/FID335MAKER.TXT @@ -0,0 +1,39 @@ +HOME +VTAB5 +?"PLACE THE DISK WITH FID TO BE MODIFIED IN THE DRIVE " +PRINT " AND PRESS ANY KEY"; +WAIT -16384,128 +POKE -16368,0 +BLOAD FID +POKE 3810,0 :REM FORBID TRACK 0 +POKE 2419,183 +POKE2495,183 :REM DRIVE LIMIT OF 7 +POKE2106,31 :REM SECTOR LIMIT OF 31 +POKE 5900,193 +POKE 5901,210 +POKE 5902,202 +POKE 5903,193 +POKE 5904,217 +POKE 5905,160 +POKE 5906,214 +POKE 5907,197 +POKE 5908,210 +POKE 5909,211 +POKE 5910,201 +POKE 5911,207 +POKE 5912,206 +POKE 5913,160 +POKE 5914,179 +POKE 5915,174 +POKE 5916,179 +POKE 5917,174 +POKE 5918,181 +BLOAD FID.PATCH +UNLOCK FID +HOME +VTAB 10 +PRINT "PLACE THE TARGET DISK IN" +PRINT "THE DRIVE, AND PRESS ANY KEY"; +WAIT -16384,128 +POKE -16368,0 +BSAVE FID,A$803,L$124E