mirror of
https://github.com/mgcaret/of816.git
synced 2024-12-26 13:31:54 +00:00
fix #10
This commit is contained in:
parent
8245ce322b
commit
92e7ed78c6
2
build.sh
2
build.sh
@ -4,7 +4,7 @@ PLATFORM=""
|
||||
ADD_OPTS=""
|
||||
if [ -n "${1}" -a -d "platforms/${1}" ]; then
|
||||
PLATFORM="${1}"
|
||||
ADD_OPTS="${ADD_OPTS} -I platforms/${PLATFORM}/inc"
|
||||
ADD_OPTS="${ADD_OPTS} -I platforms/${PLATFORM}"
|
||||
fi
|
||||
export PLATFORM
|
||||
echo ".define PLATFORM \"${PLATFORM}\"" > platform.inc
|
||||
|
4
forth.s
4
forth.s
@ -16,7 +16,9 @@
|
||||
.include "asm/compiler.s" ; Compiler helpers
|
||||
.include "asm/mathlib.s" ; Math 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/forth-dictionary.s" ; Forth built-in dictionary
|
||||
|
||||
|
@ -1,21 +1,6 @@
|
||||
; Macro library for OF816. Contains macros for hand-compiled Forth code and common
|
||||
; 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
|
||||
.define SHORT_A %00100000
|
||||
|
@ -270,7 +270,7 @@ list:
|
||||
|
||||
.if include_fcode
|
||||
.proc romfs
|
||||
PLATFORM_INCBIN "fcode/romfs.fc"
|
||||
.incbin "fcode/romfs.fc"
|
||||
.endproc
|
||||
.endif
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Apple IIgs Configuration File
|
||||
|
||||
; This platform uses it...
|
||||
PLATFORM_INCLUDE "platform-config.inc"
|
||||
.include "platform-config.inc"
|
||||
|
||||
; *** options ***
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
cpu_clk = 2800000 ; nominally
|
||||
|
||||
PLATFORM_INCLUDE "platform-include.inc"
|
||||
.include "platform-include.inc"
|
||||
|
||||
.proc _scrn_tab
|
||||
.addr $400
|
||||
|
@ -7,8 +7,8 @@
|
||||
; -- 01: Bank
|
||||
; - 09 FDC
|
||||
; 10-1F Internal Bus Bridge
|
||||
; 20-27 Flash ROM
|
||||
; 28-3F Reserved for Flash
|
||||
; 20-21 Flash ROM
|
||||
; 22-2F Reserved for Flash
|
||||
; 30-3F Reserved for Expansion Flash
|
||||
; 40-47 Video RAM
|
||||
; 48-7F Reserved for VRAM
|
||||
|
@ -1,6 +1,6 @@
|
||||
; Config file for Neon816 port
|
||||
|
||||
;PLATFORM_INCLUDE "platform-config.inc"
|
||||
;.include "platform-config.inc"
|
||||
|
||||
; *** options ***
|
||||
|
@ -1,4 +1,4 @@
|
||||
.p816
|
||||
.p816
|
||||
.a16
|
||||
.i16
|
||||
.include "macros.inc"
|
||||
@ -6,6 +6,7 @@
|
||||
|
||||
.segment "ROMBOOT"
|
||||
.proc romboot
|
||||
; Go full native mode
|
||||
clc
|
||||
xce
|
||||
rep #SHORT_A|SHORT_I
|
||||
@ -13,14 +14,15 @@
|
||||
.i16
|
||||
lda #$01FF
|
||||
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
|
||||
lda #$8000
|
||||
: sta f:NeonMMU,x
|
||||
dex
|
||||
dex
|
||||
bpl :-
|
||||
jml f:Neon_ROM
|
||||
jml f:Neon_ROM ; assume main firmware starts at $200000
|
||||
.endproc
|
||||
|
||||
.segment "VECTORS"
|
||||
@ -29,7 +31,7 @@
|
||||
.word $FFFF ; FFE0 - reserved
|
||||
.word $FFFF ; FFE2 - reserved
|
||||
.word $FFFF ; FFE4 - COP
|
||||
.word $FFFF ; FFE6 - BRK
|
||||
.word .loword(romboot) ; FFE6 - BRK - handle like reset for now
|
||||
.word $FFFF ; FFE8 - ABORT
|
||||
.word $FFFF ; FFEA - NMI
|
||||
.word $FFFF ; FFEC - reserved
|
||||
@ -42,5 +44,5 @@
|
||||
.word $FFFF ; FFF8 - ABORT
|
||||
.word $FFFF ; FFFA - NMI
|
||||
.word .loword(romboot) ; FFFC - RESET
|
||||
.word $FFFF ; FFFE - IRQ/BRK
|
||||
.word .loword(romboot) ; FFFE - IRQ/BRK - handle like reset for now
|
||||
.endproc
|
||||
|
@ -1,7 +1,7 @@
|
||||
; Configuration for W65C816SXB Port
|
||||
|
||||
; the W65C816SXB port uses this
|
||||
PLATFORM_INCLUDE "platform-config.inc"
|
||||
.include "platform-config.inc"
|
||||
|
||||
; *** options ***
|
||||
|
@ -278,7 +278,7 @@ list:
|
||||
.endif
|
||||
.dword 0
|
||||
.if romloader_at_init
|
||||
romldr: PLATFORM_INCBIN "fcode/romloader.fc"
|
||||
romldr: .incbin"fcode/romloader.fc"
|
||||
.endif
|
||||
.endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user