From c93b63a92c150eb819d98d31a628d643926a04b7 Mon Sep 17 00:00:00 2001 From: Florian Reitz Date: Thu, 30 Nov 2017 16:25:11 +0100 Subject: [PATCH] Skip boot added --- AppleIISd.bin | Bin 2048 -> 2048 bytes AppleIISd.hex | 56 ++++++++++++++++++++++++------------------------ src/AppleIISd.s | 55 ++++++++++++++++++++++++----------------------- 3 files changed, 56 insertions(+), 55 deletions(-) diff --git a/AppleIISd.bin b/AppleIISd.bin index e2881373fc2cf2a36e521aae3dfb4e00cc0c7b54..ceff2d631055bfcf1c1e1466723e3fc939bc6284 100644 GIT binary patch delta 174 zcmZn=Xb|97q_Bu#5%VIOi5&7O3mA58KlOowvtecc`w4;1I*A7iSQWOPoWQ;I2fJ0P zV~RtL1H(l9jV%BFPj8*XsAYVw)nVnSR!4xbhW3L>?q!wDKE5gzeVZ_e%QR5@ed=Dg2LwQ%yf$+3*eJP5Is43m2pCBz>gD>}*e;oC`u W3+gN1ZQjlJhjH^xW_K1Q1_l8AUP8nG diff --git a/AppleIISd.hex b/AppleIISd.hex index fdb44a4..13779fa 100644 --- a/AppleIISd.hex +++ b/AppleIISd.hex @@ -1,31 +1,31 @@ -:10000000A220A200A203A2010878A960853D203D9C +:10000000A220A200A203A23C0878A960853D203D61 :1000100000BABD00018DF807290F28853D0A0A0A9C -:100020000A852BAA2CFFCF20B7C99003A92F6020E7 -:1000300000C8A9018542A62B8643A90885456444CA -:10004000644764462CFFCF20DDC9A9018542A62B59 -:100050008643A90A854564446447A90185462CFF67 -:10006000CF20DDC9A62B4C0108D848A52B48A53DBB -:1000700048A54048A541480878A960853D203D0035 -:10008000BABD00018DF807290F28853D0A0A0A0A22 -:10009000852BAA2CFFCF20B7C99004A92F802CA9AB -:1000A000803C83C0F020A542F00DC901F00EC902CA -:1000B000F00FA90138801420CFC9800F20DDC9803E -:1000C0000A2046CA80052000C890DBBA9D05016859 -:1000D000854168854068853D68852B686000000023 -:1000E0000000000000000000000000000000000010 -:1000F000000000000000000000000000FFFF976902 +:100020000A852BAA2CFFCFA000B9B7CAF008098017 +:10003000995007C810F32C61C0300520B7C9900B48 +:10004000ADF8073A854164406C40002000C8A90122 +:100050008542A62B8643A9088545644464476446C7 +:100060002CFFCF20DDC9A9018542A62B8643A90A12 +:10007000854564446447A90185462CFFCF20DDC92E +:10008000A62B4C0108D848A52B48A53D48A54048BB +:10009000A541480878A960853D203D00BABD000112 +:1000A0008DF807290F28853D0A0A0A0A852BAA2CF4 +:1000B000FFCF20B7C99004A92F802CA9803C83C012 +:1000C000F020A542F00DC901F00EC902F00FA90100 +:1000D00038801420CFC9800F20DDC9800A2046CA8D +:1000E00080052000C890DBBA9D05016885416885C0 +:1000F0004068853D68852B6860000000FFFF97859C :10010000A9039D81C0BD83C009019D83C0A9079D2E :1001100082C0A00AA9FF9D80C03C81C010FB88D08E -:10012000F5BD83C029FE9D83C0A9DC8540A9CA8591 -:100130004120F2C82006C9C901D041A9E88540A9DB -:10014000CA854120F2C8201FC9C901D032A9F4854F -:1001500040A9CA854120F2C82006C9A9FA8540A94C +:10012000F5BD83C029FE9D83C0A9DE8540A9CA858F +:100130004120F2C82006C9C901D041A9EA8540A9D9 +:10014000CA854120F2C8201FC9C901D032A9F6854D +:1001500040A9CA854120F2C82006C9A9FC8540A94A :10016000CA854120F2C82006C9C901F0E0C900D003 :100170000BBD83C009109D83C04CB9C84CE0C8A911 -:10018000F48540A9CA854120F2C8A9008540A9CBC1 +:10018000F68540A9CA854120F2C8A9028540A9CBBD :10019000854120F2C82006C9C901F0E3C900D00397 -:1001A0004CB9C8A9E28540A9CA854120F2C82006F9 -:1001B000C9C901F0F6C900D027A9EE8540A9CA85B2 +:1001A0004CB9C8A9E48540A9CA854120F2C82006F7 +:1001B000C9C901F0F6C900D027A9F08540A9CA85B0 :1001C0004120F2C82006C9C900D015BD83C00980EE :1001D0009D83C0BD81C009049D81C018A00090030B :1001E00038A027BD83C009019D83C0A9009D82C09E @@ -57,12 +57,12 @@ :10038000FF9D80C09D80C09D80C0BD80C0291FC9C9 :1003900005D01A18A9000848A9FF9D80C0BD80C0DB :1003A000F0F6BD83C009019D83C068286038A92785 -:1003B00080E438A92B80DF4170706C655D5B53640D -:1003C0002076302E38202863293230313720466C91 -:1003D0006F7269616E20526569747A004000000096 -:1003E00000954100000000F948000001AA87500074 -:1003F000000200FF77000000006569400000007700 -:100400006900000000FF0000000000000000000084 +:1003B00080E438A92B80DF20204170706C655D5B84 +:1003C00053642076302E382028632932303137208C +:1003D000466C6F7269616E20526569747A004000E4 +:1003E000000000954100000000F948000001AA87C4 +:1003F0005000000200FF7700000000656940000027 +:1004000000776900000000FF00000000000000000D :1004100000000000000000000000000000000000DC :1004200000000000000000000000000000000000CC :1004300000000000000000000000000000000000BC diff --git a/src/AppleIISd.s b/src/AppleIISd.s index 5b659b5..ef020a1 100644 --- a/src/AppleIISd.s +++ b/src/AppleIISd.s @@ -23,15 +23,16 @@ DCMD := $42 ; Command code BUFFER := $44 ; Buffer address BLOCK := $46 ; Block number -CURSLOT := $07F8 ; $Cs -DATA := $C080 -CTRL := DATA+1 -DIV := DATA+2 -SS := DATA+3 R30 := $0478 R31 := $04F8 R32 := $0578 R33 := $05F8 +CURSLOT := $07F8 ; $Cs +OAPPLE := $C061 ; open apple key +DATA := $C080 +CTRL := DATA+1 +DIV := DATA+2 +SS := DATA+3 ; Constants @@ -51,7 +52,7 @@ INITED = $80 LDX #$20 LDX #$00 LDX #$03 - LDX #$01 ; neither Smartport nor 5.25 + LDX #$3C ; find slot nr @@ -83,10 +84,25 @@ INITED = $80 STA SLOT16 ; $s0 TAX ; X holds now SLOT16 BIT $CFFF + LDY #0 ; display copyright message +@DRAW: LDA TEXT,Y + BEQ @OAPPLE ; check for NULL + ORA #$80 + STA $0750,Y ; put second to last line + INY + BPL @DRAW + +@OAPPLE: BIT OAPPLE ; check for OA key + BMI @NEXTSLOT ; and skip boot if pressed + JSR CARDDET BCC @INIT - LDA #$2F ; no card inserted - RTS + +@NEXTSLOT: LDA CURSLOT ; skip boot when no card + DEC A + STA CMDHI + STZ CMDLO + JMP (CMDLO) @INIT: JSR INIT @@ -102,12 +118,12 @@ INITED = $80 ; see if slot has a driver already LDX $BF31 ; get devcnt -INSTALL: LDA $BF32,X ; get a devnum +@INSTALL: LDA $BF32,X ; get a devnum AND #$70 ; isolate slot CMP SLOT16 ; slot? BEQ @INSOUT ; yes, skip it DEX - BPL INSTALL ; keep up the search + BPL @INSTALL ; keep up the search ; restore the devnum to the list @@ -146,21 +162,7 @@ INSTALL: LDA $BF32,X ; get a devnum ;******************************* .else - - .if 0 -BOOT: BEQ @DRAW ; check for error - RTS - -@DRAW: LDY #0 ; display copyright message -@DRAW1: LDA TEXT,Y - BEQ @BOOT1 ; check for NULL - ORA #$80 - STA $07D0,Y ; put on last line - INY - BPL @DRAW1 - .endif - -@BOOT1: LDA #$01 +@BOOT: LDA #$01 STA DCMD ; load command LDX SLOT16 STX $43 ; slot number @@ -186,7 +188,6 @@ BOOT: BEQ @DRAW ; check for error JSR READ ; call driver LDX SLOT16 JMP $801 ; goto bootloader - .endif @@ -868,7 +869,7 @@ TEST: LDA SLOT16 .endif -TEXT: .asciiz "Apple][Sd v0.8 (c)2017 Florian Reitz" +TEXT: .asciiz " Apple][Sd v0.8 (c)2017 Florian Reitz" CMD0: .byt $40, $00, $00 .byt $00, $00, $95