2026-02-18, 07:27 PM
so, now my header of "core.bas" is:
...and my sjasmplus linker is :
but for some reason I still see the normal Spectrum ROM in zesarux :
I've tried for literally hours in a loop with Gemini to unmap the Spectrum ROM and get my code at page 50 to map to MMU0.
Could anyone please help me? Thank you!
Code:
#PRAGMA push(case_insensitive)
#PRAGMA case_insensitive = True
#define STANDALONE ' remove ROM initialization and SysVars...
Asm
org $0000
nop ; your first nop
nop ; your second nop
di ; disable interrupts during setup
nop
; since SAVENEX CFG 7 killed the ROM, we are already in RAM
jp _jump_over ; jump to the setup logic
; --- im 1 interrupt vector ---
org $0038 ; hardware interrupt location
ei ; re-enable interrupts
reti ; return from interrupt
_jump_over:
nop
im 1 ; set interrupt mode 1
nop
ld sp, $fffe ; set stack to top of bank 57
nop
End Asm
s_main()
#include "constants.bas"
#include "globals.bas"...and my sjasmplus linker is :
Code:
DEVICE ZXSPECTRUMNEXT
; entry point at $0000 and stack at $FFFE
SAVENEX OPEN "project.nex", $0000, $FFFE
; enable 2mb mode
SAVENEX CFG 0, 0, 0, 1
; *** the hardware lock ***
; this bit tells the Next to disable the ROM and allow page 50 to map to slot 0
SAVENEX CFG 7, 0, 0, 1
; load the core logic into page 50/51
MMU 0, 50
MMU 1, 51
ORG $0000
INCBIN "core.bin"
; load font into bank 56
MMU 6, 56
ORG $C000
INCBIN "fon-056.fon"
; load stages
MMU 3, 60 : ORG $6000 : INCBIN "stage-init.bin"
MMU 3, 68 : ORG $6000 : INCBIN "stage-left.bin"
MMU 3, 69 : ORG $6000 : INCBIN "stage-right.bin"
; final hardware state setup
MMU 0, 50 ; core code
MMU 1, 51 ; core code
MMU 2, 52 ; core data
MMU 7, 57 ; screen and stack
SAVENEX AUTO
SAVENEX CLOSEbut for some reason I still see the normal Spectrum ROM in zesarux :
Code:
¤ Debug CPU (step)
mptr: 0001H [X] flwPC 1-7:V1
+0001 IM 1 PC 0001
0003 JP 0080 SP FFFF
0006 RST 38 AF FFFF'FFFF
0007 RST 38 SZ5H3PNC
0008 RETI HL FFFF'FFFF
000A RST 38 DE FFFF'FFFF
000B RST 38 BC FFFF'FFFF
000C RST 38 IX FFFF
000D RST 38 IY FFFF
000E RST 38 IR 0001
000F RST 38 [IM0] IFF--
0010 RETI (HL) 00 F3
0012 RST 38 (DE) 00 F3
(BC) 00 F3
(SP) F300 56ED 80C3 FF00 EDFF F
stM dasm en:Stp Stovr cntSt Hx
Chr brk wtch ToglL Run Runt Ret
ClrTstpart Write vScr Memzn -1
Pc=ptr nxtpcBr stk cpuHst f1:heI've tried for literally hours in a loop with Gemini to unmap the Spectrum ROM and get my code at page 50 to map to MMU0.
Could anyone please help me? Thank you!

