Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
non-paged supervisor code calling paged application code
#7
so, now my header of "core.bas" is:
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 CLOSE

but 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:he


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!
Reply


Messages In This Thread
RE: non-paged supervisor code calling paged application code - by sdo303 - 2026-02-18, 07:27 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)