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
ORG $4000 ; Load addr of loader in main memory
ORG $2000 ; Load addr of loader in main memory
; Clear of first HGR frame buffer
* Monitor routines
@ -200,6 +200,6 @@ MAINZP MAC
PUT AUXMEM.MISC
* 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
BYTE00A BRK
DB $F7
HELLO ASC 'Applecorn MOS 2022-09-24'
HELLO ASC 'Applecorn MOS 2022-10-06-SYS'
DB $00 ; Unify MOS messages
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
AUXBLK ASC '**ENDOFCODE**'
DS $200-13
; DS $200-13

View File

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

View File

@ -11,6 +11,66 @@
* to aux memory starting at AUXMOS1 and jumps to it.
* (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
JSR SETPRFX
JSR DISCONN