This commit is contained in:
Philip Smart
2020-06-12 23:50:02 +01:00
parent 9e8903e5a1
commit 458cfe7de5
5 changed files with 28 additions and 1 deletions

View File

@@ -259,6 +259,11 @@ TZMM_TZFS4 EQU 005H ; TZFS
TZMM_CPM EQU 006H ; CPM main memory configuration, all memory on the tranZPUter board, 64K block 4 selected. Special case for F3C0:F3FF & F7C0:F7FF (floppy disk paging vectors) which resides on the mainboard.
TZMM_CPM2 EQU 007H ; CPM main memory configuration, F000-FFFF are on the tranZPUter board in block 4, 0040-CFFF and E800-EFFF are in block 5, mainboard for D000-DFFF (video), E000-E800 (Memory control) selected.
; Special case for 0000:003F (interrupt vectors) which resides in block 4, F3C0:F3FF & F7C0:F7FF (floppy disk paging vectors) which resides on the mainboard.
TZMM_MZ700_0 EQU 00AH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 6, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is on the mainboard.
TZMM_MZ700_1 EQU 00BH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 0, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is on the tranZPUter in block 6.
TZMM_MZ700_2 EQU 00CH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 6, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is on the tranZPUter in block 6.
TZMM_MZ700_3 EQU 00DH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 0, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is inaccessible.
TZMM_MZ700_4 EQU 00EH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 6, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is inaccessible.
TZMM_TZPU0 EQU 018H ; Everything is in tranZPUter domain, no access to underlying Sharp mainboard unless memory management mode is switched. tranZPUter RAM 64K block 0 is selected.
TZMM_TZPU1 EQU 019H ; Everything is in tranZPUter domain, no access to underlying Sharp mainboard unless memory management mode is switched. tranZPUter RAM 64K block 1 is selected.
TZMM_TZPU2 EQU 01AH ; Everything is in tranZPUter domain, no access to underlying Sharp mainboard unless memory management mode is switched. tranZPUter RAM 64K block 2 is selected.
@@ -314,6 +319,7 @@ TZSVC_CMD_LOAD40BIOS: EQU 20H ; Servi
TZSVC_CMD_LOAD80BIOS: EQU 21H ; Service command requesting that the 80 column version of the SA1510 BIOS is loaded.
TZSVC_CMD_LOAD700BIOS40:EQU 22H ; Service command requesting that the MZ700 1Z-013A 40 column BIOS is loaded.
TZSVC_CMD_LOAD700BIOS80:EQU 23H ; Service command requesting that the MZ700 1Z-013A 80 column patched BIOS is loaded.
TZSVC_CMD_LOAD80BIPL: EQU 24H ; Service command requesting the MZ-80B IPL is loaded.
TZSVC_CMD_LOADBDOS: EQU 30H ; Service command to reload CPM BDOS+CCP.
TZSVC_CMD_ADDSDDRIVE: EQU 31H ; Service command to attach a CPM disk to a drive number.
TZSVC_CMD_READSDDRIVE: EQU 32H ; Service command to read an attached SD file as a CPM disk drive.

View File

@@ -203,6 +203,11 @@ TZMM_TZFS4 EQU 005H ; TZFS
TZMM_CPM EQU 006H ; CPM main memory configuration, all memory on the tranZPUter board, 64K block 4 selected. Special case for F3C0:F3FF & F7C0:F7FF (floppy disk paging vectors) which resides on the mainboard.
TZMM_CPM2 EQU 007H ; CPM main memory configuration, F000-FFFF are on the tranZPUter board in block 4, 0040-CFFF and E800-EFFF are in block 5, mainboard for D000-DFFF (video), E000-E800 (Memory control) selected.
; Special case for 0000:003F (interrupt vectors) which resides in block 4, F3C0:F3FF & F7C0:F7FF (floppy disk paging vectors) which resides on the mainboard.
TZMM_MZ700_0 EQU 00AH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 6, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is on the mainboard.
TZMM_MZ700_1 EQU 00BH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 0, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is on the tranZPUter in block 6.
TZMM_MZ700_2 EQU 00CH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 6, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is on the tranZPUter in block 6.
TZMM_MZ700_3 EQU 00DH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 0, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is inaccessible.
TZMM_MZ700_4 EQU 00EH ; MZ700 Mode - 0000:0FFF is on the tranZPUter board in block 6, 1000:CFFF is on the tranZPUter board in block 0, D000:FFFF is inaccessible.
TZMM_TZPU0 EQU 018H ; Everything is in tranZPUter domain, no access to underlying Sharp mainboard unless memory management mode is switched. tranZPUter RAM 64K block 0 is selected.
TZMM_TZPU1 EQU 019H ; Everything is in tranZPUter domain, no access to underlying Sharp mainboard unless memory management mode is switched. tranZPUter RAM 64K block 1 is selected.
TZMM_TZPU2 EQU 01AH ; Everything is in tranZPUter domain, no access to underlying Sharp mainboard unless memory management mode is switched. tranZPUter RAM 64K block 2 is selected.
@@ -380,6 +385,7 @@ TZSVC_CMD_LOAD40BIOS: EQU 20H ; Servi
TZSVC_CMD_LOAD80BIOS: EQU 21H ; Service command requesting that the 80 column version of the SA1510 BIOS is loaded.
TZSVC_CMD_LOAD700BIOS40:EQU 22H ; Service command requesting that the MZ700 1Z-013A 40 column BIOS is loaded.
TZSVC_CMD_LOAD700BIOS80:EQU 23H ; Service command requesting that the MZ700 1Z-013A 80 column patched BIOS is loaded.
TZSVC_CMD_LOAD80BIPL: EQU 24H ; Service command requesting the MZ-80B IPL is loaded.
TZSVC_CMD_LOADBDOS: EQU 30H ; Service command to reload CPM BDOS+CCP.
TZSVC_CMD_ADDSDDRIVE: EQU 31H ; Service command to attach a CPM disk to a drive number.
TZSVC_CMD_READSDDRIVE: EQU 32H ; Service command to read an attached SD file as a CPM disk drive.

View File

@@ -193,6 +193,9 @@ CMDCMPEND: JP ST1X
CMDTABLE: DB 000H | 000H | 000H | 001H ; Bit 2:0 = Command Size, 5:3 = Bank, 6 = Command match, 7 = Command table end.
DB '4' ; 40 Char screen mode.
DW SETMODE40
DB 000H | 000H | 000H | 003H
DB "80B" ; Switch to the Sharp MZ-80B compatbile mode.
DW SETMODE80B
DB 000H | 000H | 000H | 001H
DB '8' ; 80 Char screen mode.
DW SETMODE80
@@ -509,6 +512,7 @@ GOTOX: CALL HEXIYX
;
;====================================
; Commands to start the Sharp MZ-80A in its original mode loading either a 40 or 80 column BIOS as directed.
SETMODE40: LD A, 0
LD (DSPCTL), A
LD (SCRNMODE),A ; 0 = 40char mode on reset.
@@ -527,6 +531,8 @@ SETMODE80: LD A, 128
LD A,TZSVC_CMD_LOAD80BIOS ; Request the I/O processor loads the SA1510 80column BIOS into memory.
JR SETBIOS
; Commands to switch into MZ-700 compatible mode. This involves loading the original (but patched for keyboard use) 1Z-013A BIOS
; and changing the frequency, also enabling of additional traps to detect and change memory mode.
SETMODE700: LD A, 0
LD (DSPCTL), A
LD (SCRNMODE),A ; 0 = 40char mode on reset.
@@ -540,6 +546,14 @@ SETMODE7008:LD A, 128
LD A,TZSVC_CMD_LOAD700BIOS80 ; Request the I/O processor loads the SA1510 80column BIOS into memory.
JR SETBIOS
; Command to switch into the Sharp MZ-80B compatible mode. This involves loading the IPL, switching
; the frequency to 4MHz and enabling of additional traps to detect and change memory mode.
SETMODE80B: LD A, 128
LD (DSPCTL), A
LD A,1
LD (SCRNMODE),A
LD A,TZSVC_CMD_LOAD80BIPL ; Request the I/O processor loads the IPL and switches frequency.
JR SETBIOS
; Method to enable/disable the alternate CPU frequency and change it's values.
;

View File

@@ -346,6 +346,7 @@ HELP: ;CALL NL
HELPSCR: ; "--------- 40 column width -------------"
DB "4 - 40 col mode.", 00DH
DB "8 - 80 col mode.", 00DH
DB "80B - Select MZ-80B Mode.", 00DH
DB "700 - Select MZ-700 Mode.", 00DH
DB "7008 - Select MZ-700 80 col Mode.", 00DH
DB "B - toggle keyboard bell.", 00DH
@@ -410,7 +411,7 @@ MSGSD2TERR: DB "Copy from SD to Tape Failed",
MSGT2SDOK: DB "Success, Tape to SD done.", 00DH, 000H
MSGSD2TOK: DB "Success, SD to Tape done.", 00DH, 000H
MSGFAILBIOS:DB "Failed to load alternate BIOS!", 00DH, 000H
MSGFREQERR: DB "Error, failed to change frequency!". 00DH, 000H
MSGFREQERR: DB "Error, failed to change frequency!", 00DH, 000H
MSGBADNUM: DB "Error, bad number supplied!", 00DH, 000H
;
OKCHECK: DB ", CHECK: ", 00Dh, 000H

Binary file not shown.