mirror of https://github.com/mgcaret/of816.git
fix #10
This commit is contained in:
parent
8245ce322b
commit
92e7ed78c6
2
build.sh
2
build.sh
|
@ -4,7 +4,7 @@ PLATFORM=""
|
||||||
ADD_OPTS=""
|
ADD_OPTS=""
|
||||||
if [ -n "${1}" -a -d "platforms/${1}" ]; then
|
if [ -n "${1}" -a -d "platforms/${1}" ]; then
|
||||||
PLATFORM="${1}"
|
PLATFORM="${1}"
|
||||||
ADD_OPTS="${ADD_OPTS} -I platforms/${PLATFORM}/inc"
|
ADD_OPTS="${ADD_OPTS} -I platforms/${PLATFORM}"
|
||||||
fi
|
fi
|
||||||
export PLATFORM
|
export PLATFORM
|
||||||
echo ".define PLATFORM \"${PLATFORM}\"" > platform.inc
|
echo ".define PLATFORM \"${PLATFORM}\"" > platform.inc
|
||||||
|
|
4
forth.s
4
forth.s
|
@ -16,7 +16,9 @@
|
||||||
.include "asm/compiler.s" ; Compiler helpers
|
.include "asm/compiler.s" ; Compiler helpers
|
||||||
.include "asm/mathlib.s" ; Math library
|
.include "asm/mathlib.s" ; Math library
|
||||||
.include "asm/memmgr.s" ; Memory (heap) management library
|
.include "asm/memmgr.s" ; Memory (heap) management library
|
||||||
PLATFORM_INCLUDE "platform-lib.s" ; Platform library
|
.if .strlen(PLATFORM) > 0
|
||||||
|
.include "platform-lib.s" ; Platform library
|
||||||
|
.endif
|
||||||
.include "asm/env-dictionary.s" ; Environmental queries dictionary
|
.include "asm/env-dictionary.s" ; Environmental queries dictionary
|
||||||
.include "asm/forth-dictionary.s" ; Forth built-in dictionary
|
.include "asm/forth-dictionary.s" ; Forth built-in dictionary
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,6 @@
|
||||||
; Macro library for OF816. Contains macros for hand-compiled Forth code and common
|
; Macro library for OF816. Contains macros for hand-compiled Forth code and common
|
||||||
; ops used within primitives. Also contains macros for building dictionaries.
|
; ops used within primitives. Also contains macros for building dictionaries.
|
||||||
|
|
||||||
; Config/build macros
|
|
||||||
|
|
||||||
.macro PLATFORM_INCLUDE file
|
|
||||||
.if .strlen(PLATFORM) > 0
|
|
||||||
.out .sprintf("Including text platforms/%s/%s", PLATFORM, file)
|
|
||||||
.include .sprintf("platforms/%s/%s", PLATFORM, file)
|
|
||||||
.endif
|
|
||||||
.endmacro
|
|
||||||
|
|
||||||
.macro PLATFORM_INCBIN file
|
|
||||||
.if .strlen(PLATFORM) > 0
|
|
||||||
.out .sprintf("Including binary platforms/%s/%s", PLATFORM, file)
|
|
||||||
.incbin .sprintf("platforms/%s/%s", PLATFORM, file)
|
|
||||||
.endif
|
|
||||||
.endmacro
|
|
||||||
|
|
||||||
; General macros & defs
|
; General macros & defs
|
||||||
.define SHORT_A %00100000
|
.define SHORT_A %00100000
|
||||||
|
|
|
@ -270,7 +270,7 @@ list:
|
||||||
|
|
||||||
.if include_fcode
|
.if include_fcode
|
||||||
.proc romfs
|
.proc romfs
|
||||||
PLATFORM_INCBIN "fcode/romfs.fc"
|
.incbin "fcode/romfs.fc"
|
||||||
.endproc
|
.endproc
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
; Apple IIgs Configuration File
|
; Apple IIgs Configuration File
|
||||||
|
|
||||||
; This platform uses it...
|
; This platform uses it...
|
||||||
PLATFORM_INCLUDE "platform-config.inc"
|
.include "platform-config.inc"
|
||||||
|
|
||||||
; *** options ***
|
; *** options ***
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
cpu_clk = 2800000 ; nominally
|
cpu_clk = 2800000 ; nominally
|
||||||
|
|
||||||
PLATFORM_INCLUDE "platform-include.inc"
|
.include "platform-include.inc"
|
||||||
|
|
||||||
.proc _scrn_tab
|
.proc _scrn_tab
|
||||||
.addr $400
|
.addr $400
|
||||||
|
@ -664,4 +664,4 @@ con_wr_n: sty ESCNUM1
|
||||||
inc PwrByte
|
inc PwrByte
|
||||||
jsr _emulation_call
|
jsr _emulation_call
|
||||||
jmp _sf_fail
|
jmp _sf_fail
|
||||||
.endproc
|
.endproc
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
; -- 01: Bank
|
; -- 01: Bank
|
||||||
; - 09 FDC
|
; - 09 FDC
|
||||||
; 10-1F Internal Bus Bridge
|
; 10-1F Internal Bus Bridge
|
||||||
; 20-27 Flash ROM
|
; 20-21 Flash ROM
|
||||||
; 28-3F Reserved for Flash
|
; 22-2F Reserved for Flash
|
||||||
; 30-3F Reserved for Expansion Flash
|
; 30-3F Reserved for Expansion Flash
|
||||||
; 40-47 Video RAM
|
; 40-47 Video RAM
|
||||||
; 48-7F Reserved for VRAM
|
; 48-7F Reserved for VRAM
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; Config file for Neon816 port
|
; Config file for Neon816 port
|
||||||
|
|
||||||
;PLATFORM_INCLUDE "platform-config.inc"
|
;.include "platform-config.inc"
|
||||||
|
|
||||||
; *** options ***
|
; *** options ***
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.p816
|
.p816
|
||||||
.a16
|
.a16
|
||||||
.i16
|
.i16
|
||||||
.include "macros.inc"
|
.include "macros.inc"
|
||||||
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
.segment "ROMBOOT"
|
.segment "ROMBOOT"
|
||||||
.proc romboot
|
.proc romboot
|
||||||
|
; Go full native mode
|
||||||
clc
|
clc
|
||||||
xce
|
xce
|
||||||
rep #SHORT_A|SHORT_I
|
rep #SHORT_A|SHORT_I
|
||||||
|
@ -13,14 +14,15 @@
|
||||||
.i16
|
.i16
|
||||||
lda #$01FF
|
lda #$01FF
|
||||||
tcs
|
tcs
|
||||||
; Set up MMU for bank 0
|
; Set up MMU for bank 0 - map all but the top 4K to bank $80,
|
||||||
|
; leaving the top (MMU) page for ROM
|
||||||
ldx #$001C
|
ldx #$001C
|
||||||
lda #$8000
|
lda #$8000
|
||||||
: sta f:NeonMMU,x
|
: sta f:NeonMMU,x
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
bpl :-
|
bpl :-
|
||||||
jml f:Neon_ROM
|
jml f:Neon_ROM ; assume main firmware starts at $200000
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.segment "VECTORS"
|
.segment "VECTORS"
|
||||||
|
@ -29,7 +31,7 @@
|
||||||
.word $FFFF ; FFE0 - reserved
|
.word $FFFF ; FFE0 - reserved
|
||||||
.word $FFFF ; FFE2 - reserved
|
.word $FFFF ; FFE2 - reserved
|
||||||
.word $FFFF ; FFE4 - COP
|
.word $FFFF ; FFE4 - COP
|
||||||
.word $FFFF ; FFE6 - BRK
|
.word .loword(romboot) ; FFE6 - BRK - handle like reset for now
|
||||||
.word $FFFF ; FFE8 - ABORT
|
.word $FFFF ; FFE8 - ABORT
|
||||||
.word $FFFF ; FFEA - NMI
|
.word $FFFF ; FFEA - NMI
|
||||||
.word $FFFF ; FFEC - reserved
|
.word $FFFF ; FFEC - reserved
|
||||||
|
@ -42,5 +44,5 @@
|
||||||
.word $FFFF ; FFF8 - ABORT
|
.word $FFFF ; FFF8 - ABORT
|
||||||
.word $FFFF ; FFFA - NMI
|
.word $FFFF ; FFFA - NMI
|
||||||
.word .loword(romboot) ; FFFC - RESET
|
.word .loword(romboot) ; FFFC - RESET
|
||||||
.word $FFFF ; FFFE - IRQ/BRK
|
.word .loword(romboot) ; FFFE - IRQ/BRK - handle like reset for now
|
||||||
.endproc
|
.endproc
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
; Configuration for W65C816SXB Port
|
; Configuration for W65C816SXB Port
|
||||||
|
|
||||||
; the W65C816SXB port uses this
|
; the W65C816SXB port uses this
|
||||||
PLATFORM_INCLUDE "platform-config.inc"
|
.include "platform-config.inc"
|
||||||
|
|
||||||
; *** options ***
|
; *** options ***
|
||||||
|
|
|
@ -278,7 +278,7 @@ list:
|
||||||
.endif
|
.endif
|
||||||
.dword 0
|
.dword 0
|
||||||
.if romloader_at_init
|
.if romloader_at_init
|
||||||
romldr: PLATFORM_INCBIN "fcode/romloader.fc"
|
romldr: .incbin"fcode/romloader.fc"
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue