Complete "SYSTEM"-ification of Applecorn.

Now runs as APLCORN.SYSTEM, without the need for BASIC.SYSTEM as a support for .BIN.
This commit is contained in:
apple2geek 2022-10-06 21:09:29 -06:00
parent def729bc9b
commit 79793b78a4
6 changed files with 67 additions and 7 deletions

Binary file not shown.

View File

@ -10,7 +10,7 @@
XC ; 65c02 XC ; 65c02
ORG $4000 ; Load addr of loader in main memory ORG $2000 ; Load addr of loader in main memory
; Clear of first HGR frame buffer ; Clear of first HGR frame buffer
* Monitor routines * Monitor routines
@ -200,6 +200,6 @@ MAINZP MAC
PUT AUXMEM.MISC PUT AUXMEM.MISC
* Automatically save the object file: * Automatically save the object file:
SAV APPLECORN SAV APLCORN.SYSTEM

View File

@ -209,7 +209,7 @@ BYTE00 BEQ BYTE00A ; OSBYTE 0,0 - generate error
RTS ; %000x1xxx host type, 'A'pple RTS ; %000x1xxx host type, 'A'pple
BYTE00A BRK BYTE00A BRK
DB $F7 DB $F7
HELLO ASC 'Applecorn MOS 2022-09-24' HELLO ASC 'Applecorn MOS 2022-10-06-SYS'
DB $00 ; Unify MOS messages DB $00 ; Unify MOS messages
GSSPEED DB $00 ; $80 if GS is fast, $00 for slow GSSPEED DB $00 ; $80 if GS is fast, $00 for slow

View File

@ -727,7 +727,7 @@ MOSVEND
* Buffer for one 512 byte disk block in aux mem * Buffer for one 512 byte disk block in aux mem
AUXBLK ASC '**ENDOFCODE**' AUXBLK ASC '**ENDOFCODE**'
DS $200-13 ; DS $200-13

View File

@ -4,6 +4,6 @@
# #
merlin32 -v applecorn.s merlin32 -v applecorn.s
cp APPLECORN APPLECORN#064000 cp APLCORN.SYSTEM APLCORN.SYSTEM#FF2000
cadius deletefile applecorn.po /APPLECORN/APPLECORN cadius deletefile applecorn.po /APPLECORN/APLCORN.SYSTEM
cadius addfile applecorn.po /APPLECORN APPLECORN#064000 cadius addfile applecorn.po /APPLECORN APLCORN.SYSTEM#FF2000

View File

@ -11,6 +11,66 @@
* to aux memory starting at AUXMOS1 and jumps to it. * to aux memory starting at AUXMOS1 and jumps to it.
* (Note that the MOS code will copy itself to $D000.) * (Note that the MOS code will copy itself to $D000.)
SYSTEM LDX #$FF ; Init stack pointer
TXS
LDA #$00
STA $BFFC ; IBAKVER (minimum P8 version)
LDA #$01
STA $BFFD ; IVERSION (version of me)
SED ; Check for 65C02
LDA #$99
CLC
ADC #$01
CLD
BPL GOODCPU
JMP UNSUPPORTED
GOODCPU LDA $BF98 ; MACHID
AND #$F2 ; Clear bits 0,2,3
CMP #$B2 ; Are we on a //e or //c w/ 80col and 128K or a IIgs?
BEQ SUPPORTED ; Supported machine
JMP UNSUPPORTED ; Unsupported machine
SUPPORTED LDA #$DF ; Protect pages $0,$1,and $3-$7
STA $BF58
LDA #$F0 ; Protect pages $8-$B
STA $BF59
LDA #$FF ; Protect HGR1
STA $BF5C
STA $BF5D
STA $BF5E
STA $BF5F
JMP START
UNSUPPORTED JSR HOME
LDX #$00
UNSUPLP LDA UNSUPMSG,X
BEQ UNSUPWAIT
JSR COUT1
INX
BNE UNSUPLP
UNSUPWAIT STA $C010
UNSUPKEY LDA $C000
BPL UNSUPKEY
STA $C010
JSR MLI
DB QUITCMD
DW UNSUPQPARM
UNSUPQPARM DB $04,$00,$00,$00,$00,$00,$00
UNSUPMSG ASC "APPLECORN REQUIRES AN APPLE IIGS, APPLE"
ASC "//C, OR ENHANCED APPLE //E WITH AN", 8D
ASC "80-COLUMN CARD AND AT LEAST 128K", 8D, 8D
ASC "PRESS ANY KEY TO QUIT TO PRODOS", 00
PADDING ASC '***THISISPROTOTYPECODE***'
DS $4000-*
; Original APPLECORN.BIN code starts here
START JSR CROUT START JSR CROUT
JSR SETPRFX JSR SETPRFX
JSR DISCONN JSR DISCONN