From 6e42bfe73123936a1440fc8a00c24ba8d42577be Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Thu, 28 Jan 2021 23:12:21 +0100 Subject: [PATCH] some code for loading CPU test from SD card --- src/aliases/,aliases_hardware_m65.s | 5 ++ src/zvm_m65/z80_reset.s | 2 +- src/zvm_m65/zvm.s | 14 +++-- src/zvm_m65/zvm_cputest.s | 82 +++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 src/zvm_m65/zvm_cputest.s diff --git a/src/aliases/,aliases_hardware_m65.s b/src/aliases/,aliases_hardware_m65.s index bfc5e178..59333d43 100644 --- a/src/aliases/,aliases_hardware_m65.s +++ b/src/aliases/,aliases_hardware_m65.s @@ -72,6 +72,11 @@ !addr MISC_BOARDID = $D629 ; board identification byte !addr MISC_EMU = $D710 ; to enable badlines and slow interrupts + ; Hypervisor traps + + !addr HTRAP00 = $D640 + + ; SID offsets !set __SID_R1_OFFSET = $00 ; right SID 1, $D400 diff --git a/src/zvm_m65/z80_reset.s b/src/zvm_m65/z80_reset.s index 7a17c8fb..6a97db9f 100644 --- a/src/zvm_m65/z80_reset.s +++ b/src/zvm_m65/z80_reset.s @@ -33,6 +33,6 @@ Z80_reset: stz PTR_IXY_d+3 stz PTR_DATA+3 - ; Default bank is 1 (the fastest, continuous memory) + ; Default bank is 1 (the one user software runs from) jmp ZVM_set_bank_1 diff --git a/src/zvm_m65/zvm.s b/src/zvm_m65/zvm.s index f1b95217..3827ae41 100644 --- a/src/zvm_m65/zvm.s +++ b/src/zvm_m65/zvm.s @@ -51,12 +51,18 @@ ZVM: ; entry point ; Check if extended memory is present - jsr ZVM_memtest + ; XXX enable test jsr ZVM_memtest ; Generate CPU tables jsr z80_table_gen + ; Try CPU test + + jsr ZVM_cputest + + + ; XXX code is not ready to progress further jsr PRIMM !pet $0D, "Implementation not finished yet.", 0 @@ -82,12 +88,10 @@ ZVM: ; entry point - - ZVM_memtest: ; Simple memory test - ; XXX this test is temporary + ; XXX this test fails for now lda #$00 sta PTR_DATA+0 @@ -98,7 +102,7 @@ ZVM_memtest: ldx #$F0 @1: - ldy #$00 + ldy #$10 @2: lda PTR_DATA+2 eor #%01111111 diff --git a/src/zvm_m65/zvm_cputest.s b/src/zvm_m65/zvm_cputest.s new file mode 100644 index 00000000..d924145e --- /dev/null +++ b/src/zvm_m65/zvm_cputest.s @@ -0,0 +1,82 @@ + +; +; Z80 Virtual Machine CPU test +; + + +ZVM_cputest: + + ; Copy file name to RAM + + ldx #$FF + +@loop1: + + inx + lda ZVM_filename_Z80TEST, x + sta BUF, x + bne @loop1 + + ; Set Z80TEST.COM file name + + ldy #>BUF + ldx #