Updates due to adding SD Card
This commit is contained in:
@@ -77,7 +77,7 @@ NDISKS EQU 4 ; Numbe
|
||||
KEYBUFSIZE EQU 16 ; Ensure this is a power of 2, max size 256.
|
||||
|
||||
; Debugging
|
||||
ENADEBUG EQU 0 ; Enable debugging logic, 1 = enable, 0 = disable
|
||||
ENADEBUG EQU 1 ; Enable debugging logic, 1 = enable, 0 = disable
|
||||
|
||||
;-----------------------------------------------
|
||||
; Configurable settings.
|
||||
@@ -149,6 +149,21 @@ RFSBK2: EQU 0EFFDh ; Selec
|
||||
RFSRST1: EQU 0EFFEh ; Reset RFS Bank1 to original.
|
||||
RFSRST2: EQU 0EFFFh ; Reset RFS Bank2 to original.
|
||||
|
||||
;-----------------------------------------------
|
||||
; IO ports in hardware and values.
|
||||
;-----------------------------------------------
|
||||
SPI_OUT EQU 0FFH
|
||||
SPI_IN EQU 0FEH
|
||||
;
|
||||
DOUT_LOW EQU 000H
|
||||
DOUT_HIGH EQU 004H
|
||||
DIN_LOW EQU 000H
|
||||
DIN_HIGH EQU 001H
|
||||
CLOCK_LOW EQU 000H
|
||||
CLOCK_HIGH EQU 002H
|
||||
CS_LOW EQU 000H
|
||||
CS_HIGH EQU 001H
|
||||
|
||||
;-----------------------------------------------
|
||||
; Rom File System Header (MZF)
|
||||
;-----------------------------------------------
|
||||
@@ -174,11 +189,16 @@ WRKROMBK1: EQU 01018H ; WORKI
|
||||
WRKROMBK2: EQU 01019H ; WORKING USERROM BANK
|
||||
|
||||
;-----------------------------------------------
|
||||
; ROM Banks, 0-3 are reserved for alternative
|
||||
; Monitor versions in MROM bank,
|
||||
; 0-7 are reserved for RFS code in the
|
||||
; User ROM bank.
|
||||
; ROM Banks, 0-7 are reserved for alternative
|
||||
; Monitor versions, CPM and RFS
|
||||
; code in MROM bank,
|
||||
; 0-7 are reserved for RFS code in
|
||||
; the User ROM bank.
|
||||
; 8-15 are reserved for CPM code in
|
||||
; the User ROM bank.
|
||||
;-----------------------------------------------
|
||||
MROMPAGES EQU 8
|
||||
USRROMPAGES EQU 12
|
||||
ROMBANK0 EQU 0
|
||||
ROMBANK1 EQU 1
|
||||
ROMBANK2 EQU 2
|
||||
@@ -187,6 +207,10 @@ ROMBANK4 EQU 4
|
||||
ROMBANK5 EQU 5
|
||||
ROMBANK6 EQU 6
|
||||
ROMBANK7 EQU 7
|
||||
ROMBANK8 EQU 8
|
||||
ROMBANK9 EQU 9
|
||||
ROMBANK10 EQU 10
|
||||
ROMBANK11 EQU 11
|
||||
|
||||
OBJCD EQU 001h
|
||||
|
||||
@@ -289,7 +313,7 @@ SWPW: DS virtual 10 ; SWEEP
|
||||
KDATW: DS virtual 2 ; KEY WORK
|
||||
;KANAF: DS virtual 1 ; KANA FLAG (01=GRAPHIC MODE)
|
||||
DSPXY: DS virtual 2 ; DISPLAY COORDINATES
|
||||
DSPXYLST: DS virtual 2 ; Last known cursor position, to compare with DSPXY to detect changes.
|
||||
;DSPXYLST: DS virtual 2 ; Last known cursor position, to compare with DSPXY to detect changes.
|
||||
FLASHCTL: DS virtual 1 ; CURSOR FLASH CONTROL. BIT 0 = Cursor On/Off, BIT 1 = Cursor displayed.
|
||||
DSPXYADDR: DS virtual 2 ; Address of last known position.
|
||||
MANG: DS virtual 6 ; COLUMN MANAGEMENT
|
||||
@@ -306,8 +330,8 @@ REVFLG: DS virtual 1 ; REVER
|
||||
FLSDT: DS virtual 1 ; CURSOR DATA
|
||||
STRGF: DS virtual 1 ; STRING FLAG
|
||||
DPRNT: DS virtual 1 ; TAB COUNTER
|
||||
AMPM: DS virtual 1 ; AMPM DATA
|
||||
TIMFG: DS virtual 1 ; TIME FLAG
|
||||
;AMPM: DS virtual 1 ; AMPM DATA
|
||||
;TIMFG: DS virtual 1 ; TIME FLAG
|
||||
SWRK: DS virtual 1 ; KEY SOUND FLAG
|
||||
TEMPW: DS virtual 1 ; TEMPO WORK
|
||||
ONTYO: DS virtual 1 ; ONTYO WORK
|
||||
@@ -392,8 +416,8 @@ SPISRSAVE: DS virtual 2
|
||||
VAREND EQU $ ; End of variables
|
||||
|
||||
; Stack space for the CBIOS.
|
||||
DS virtual 128
|
||||
DS virtual 64
|
||||
BIOSSTACK EQU $
|
||||
; Stack space for the Interrupt Service Routine.
|
||||
DS virtual 32 ; Max 8 stack pushes.
|
||||
DS virtual 16 ; Max 8 stack pushes.
|
||||
ISRSTACK EQU $
|
||||
|
||||
@@ -29,244 +29,330 @@
|
||||
;-------------------------------------------------------
|
||||
; Function entry points in the standard SA-1510 Monitor.
|
||||
;-------------------------------------------------------
|
||||
GETL: EQU 00003h
|
||||
LETNL: EQU 00006h
|
||||
NL: EQU 00009h
|
||||
PRNTS: EQU 0000Ch
|
||||
PRNT: EQU 00012h
|
||||
MSG: EQU 00015h
|
||||
MSGX: EQU 00018h
|
||||
GETKY EQU 0001Bh
|
||||
BRKEY EQU 0001Eh
|
||||
?WRI EQU 00021h
|
||||
?WRD EQU 00024h
|
||||
?RDI EQU 00027h
|
||||
?RDD EQU 0002Ah
|
||||
?VRFY EQU 0002Dh
|
||||
MELDY EQU 00030h
|
||||
?TMST EQU 00033h
|
||||
MONIT: EQU 00000h
|
||||
SS: EQU 00089h
|
||||
ST1: EQU 00095h
|
||||
MSGE1 EQU 00118h
|
||||
HLHEX EQU 00410h
|
||||
_2HEX EQU 0041Fh
|
||||
?MODE: EQU 0074DH
|
||||
?KEY EQU 008CAh
|
||||
PRNT3 EQU 0096Ch
|
||||
MSG?2 EQU 000F7h
|
||||
?ADCN EQU 00BB9h
|
||||
?DACN EQU 00BCEh
|
||||
?BLNK EQU 00DA6h
|
||||
?DPCT EQU 00DDCh
|
||||
PRTHL: EQU 003BAh
|
||||
PRTHX: EQU 003C3h
|
||||
HEX: EQU 003F9h
|
||||
DPCT: EQU 00DDCh
|
||||
DLY12: EQU 00DA7h
|
||||
DLY12A: EQU 00DAAh
|
||||
?RSTR1: EQU 00EE6h
|
||||
GETL: EQU 00003h
|
||||
LETNL: EQU 00006h
|
||||
NL: EQU 00009h
|
||||
PRNTS: EQU 0000Ch
|
||||
PRNT: EQU 00012h
|
||||
MSG: EQU 00015h
|
||||
MSGX: EQU 00018h
|
||||
GETKY EQU 0001Bh
|
||||
BRKEY EQU 0001Eh
|
||||
?WRI EQU 00021h
|
||||
?WRD EQU 00024h
|
||||
?RDI EQU 00027h
|
||||
?RDD EQU 0002Ah
|
||||
?VRFY EQU 0002Dh
|
||||
MELDY EQU 00030h
|
||||
?TMST EQU 00033h
|
||||
MONIT: EQU 00000h
|
||||
SS: EQU 00089h
|
||||
ST1: EQU 00095h
|
||||
MSGE1 EQU 00118h
|
||||
HLHEX EQU 00410h
|
||||
_2HEX EQU 0041Fh
|
||||
?MODE: EQU 0074DH
|
||||
?KEY EQU 008CAh
|
||||
PRNT3 EQU 0096Ch
|
||||
MSG?2 EQU 000F7h
|
||||
?ADCN EQU 00BB9h
|
||||
?DACN EQU 00BCEh
|
||||
?BLNK EQU 00DA6h
|
||||
?DPCT EQU 00DDCh
|
||||
PRTHL: EQU 003BAh
|
||||
PRTHX: EQU 003C3h
|
||||
HEX: EQU 003F9h
|
||||
DPCT: EQU 00DDCh
|
||||
DLY12: EQU 00DA7h
|
||||
DLY12A: EQU 00DAAh
|
||||
?RSTR1: EQU 00EE6h
|
||||
|
||||
;-----------------------------------------------
|
||||
; Memory mapped ports in hardware.
|
||||
;-----------------------------------------------
|
||||
SCRN: EQU 0D000H
|
||||
ARAM: EQU 0D800H
|
||||
DSPCTL: EQU 0DFFFH ; Screen 40/80 select register (bit 7)
|
||||
KEYPA: EQU 0E000h
|
||||
KEYPB: EQU 0E001h
|
||||
KEYPC: EQU 0E002h
|
||||
KEYPF: EQU 0E003h
|
||||
CSTR: EQU 0E002h
|
||||
CSTPT: EQU 0E003h
|
||||
CONT0: EQU 0E004h
|
||||
CONT1: EQU 0E005h
|
||||
CONT2: EQU 0E006h
|
||||
CONTF: EQU 0E007h
|
||||
SUNDG: EQU 0E008h
|
||||
TEMP: EQU 0E008h
|
||||
MEMSW: EQU 0E00CH
|
||||
MEMSWR: EQU 0E010H
|
||||
INVDSP: EQU 0E014H
|
||||
NRMDSP: EQU 0E015H
|
||||
SCLDSP: EQU 0E200H
|
||||
SCLBASE: EQU 0E2H
|
||||
RFSBK1: EQU 0EFFCh ; Select RFS Bank1 (MROM)
|
||||
RFSBK2: EQU 0EFFDh ; Select RFS Bank2 (User ROM)
|
||||
RFSRST1: EQU 0EFFEh ; Reset RFS Bank1 to original.
|
||||
RFSRST2: EQU 0EFFFh ; Reset RFS Bank2 to original.
|
||||
SCRN: EQU 0D000H
|
||||
ARAM: EQU 0D800H
|
||||
DSPCTL: EQU 0DFFFH ; Screen 40/80 select register (bit 7)
|
||||
KEYPA: EQU 0E000h
|
||||
KEYPB: EQU 0E001h
|
||||
KEYPC: EQU 0E002h
|
||||
KEYPF: EQU 0E003h
|
||||
CSTR: EQU 0E002h
|
||||
CSTPT: EQU 0E003h
|
||||
CONT0: EQU 0E004h
|
||||
CONT1: EQU 0E005h
|
||||
CONT2: EQU 0E006h
|
||||
CONTF: EQU 0E007h
|
||||
SUNDG: EQU 0E008h
|
||||
TEMP: EQU 0E008h
|
||||
MEMSW: EQU 0E00CH
|
||||
MEMSWR: EQU 0E010H
|
||||
INVDSP: EQU 0E014H
|
||||
NRMDSP: EQU 0E015H
|
||||
SCLDSP: EQU 0E200H
|
||||
SCLBASE: EQU 0E2H
|
||||
RFSBK1: EQU 0EFFCh ; Select RFS Bank1 (MROM)
|
||||
RFSBK2: EQU 0EFFDh ; Select RFS Bank2 (User ROM)
|
||||
RFSRST1: EQU 0EFFEh ; Reset RFS Bank1 to original.
|
||||
RFSRST2: EQU 0EFFFh ; Reset RFS Bank2 to original.
|
||||
|
||||
;-----------------------------------------------
|
||||
; Rom File System Header (MZF)
|
||||
;-----------------------------------------------
|
||||
RFS_ATRB: EQU 00000h ; Code Type, 01 = Machine Code.
|
||||
RFS_NAME: EQU 00001h ; Title/Name (17 bytes).
|
||||
RFS_SIZE: EQU 00012h ; Size of program.
|
||||
RFS_DTADR: EQU 00014h ; Load address of program.
|
||||
RFS_EXADR: EQU 00016h ; Exec address of program.
|
||||
RFS_COMNT: EQU 00018h ; COMMENT
|
||||
RFS_ATRB: EQU 00000h ; Code Type, 01 = Machine Code.
|
||||
RFS_NAME: EQU 00001h ; Title/Name (17 bytes).
|
||||
RFS_SIZE: EQU 00012h ; Size of program.
|
||||
RFS_DTADR: EQU 00014h ; Load address of program.
|
||||
RFS_EXADR: EQU 00016h ; Exec address of program.
|
||||
RFS_COMNT: EQU 00018h ; COMMENT
|
||||
|
||||
;-----------------------------------------------
|
||||
; Entry/compilation start points.
|
||||
;-----------------------------------------------
|
||||
TPSTART: EQU 010F0h
|
||||
MEMSTART: EQU 01200h
|
||||
MSTART: EQU 0E900h
|
||||
DIRMROM: EQU 0006Eh
|
||||
MFINDMZF: EQU 00071h
|
||||
MROMLOAD: EQU 00074h
|
||||
MZFHDRSZ EQU 128
|
||||
RFSSECTSZ EQU 256
|
||||
MROMSIZE EQU 4096
|
||||
UROMSIZE EQU 2048
|
||||
TPSTART: EQU 010F0h
|
||||
MEMSTART: EQU 01200h
|
||||
MSTART: EQU 0E900h
|
||||
DIRMROM: EQU 0006Eh
|
||||
MFINDMZF: EQU 00071h
|
||||
MROMLOAD: EQU 00074h
|
||||
MZFHDRSZ EQU 128
|
||||
RFSSECTSZ EQU 256
|
||||
MROMSIZE EQU 4096
|
||||
UROMSIZE EQU 2048
|
||||
|
||||
;-----------------------------------------------
|
||||
; ROM Banks, 0-3 are reserved for alternative
|
||||
; Monitor versions in MROM bank,
|
||||
; 0-7 are reserved for RFS code in the
|
||||
; User ROM bank.
|
||||
; ROM Banks, 0-7 are reserved for alternative
|
||||
; Monitor versions, CPM and RFS
|
||||
; code in MROM bank,
|
||||
; 0-7 are reserved for RFS code in
|
||||
; the User ROM bank.
|
||||
; 8-15 are reserved for CPM code in
|
||||
; the User ROM bank.
|
||||
;-----------------------------------------------
|
||||
ROMBANK0 EQU 0
|
||||
ROMBANK1 EQU 1
|
||||
ROMBANK2 EQU 2
|
||||
ROMBANK3 EQU 3
|
||||
ROMBANK4 EQU 4
|
||||
ROMBANK5 EQU 5
|
||||
ROMBANK6 EQU 6
|
||||
ROMBANK7 EQU 7
|
||||
MROMPAGES EQU 8
|
||||
USRROMPAGES EQU 12
|
||||
ROMBANK0 EQU 0
|
||||
ROMBANK1 EQU 1
|
||||
ROMBANK2 EQU 2
|
||||
ROMBANK3 EQU 3
|
||||
ROMBANK4 EQU 4
|
||||
ROMBANK5 EQU 5
|
||||
ROMBANK6 EQU 6
|
||||
ROMBANK7 EQU 7
|
||||
ROMBANK8 EQU 8
|
||||
ROMBANK9 EQU 9
|
||||
ROMBANK10 EQU 10
|
||||
ROMBANK11 EQU 11
|
||||
|
||||
;BRKCD EQU 00
|
||||
;NTFECD EQU 40
|
||||
;HDERCD EQU 41
|
||||
;WPRTCD EQU 46
|
||||
;QNTRCD EQU 50
|
||||
;NFSECD EQU 53
|
||||
;UNFMCD EQU 54
|
||||
|
||||
;NAMSIZ EQU 011h
|
||||
OBJCD EQU 001h
|
||||
OBJCD EQU 001h
|
||||
|
||||
;-----------------------------------------------
|
||||
; Common character definitions.
|
||||
;-----------------------------------------------
|
||||
SCROLL EQU 01H ;Set scrool direction UP.
|
||||
BELL EQU 07H
|
||||
SPACE EQU 20H
|
||||
TAB EQU 09H ;TAB ACROSS (8 SPACES FOR SD-BOARD)
|
||||
CR EQU 0DH
|
||||
LF EQU 0AH
|
||||
FF EQU 0CH
|
||||
ESC EQU 1BH
|
||||
DELETE EQU 7FH
|
||||
BACKS EQU 08H
|
||||
SOH EQU 1 ; For XModem etc.
|
||||
EOT EQU 4
|
||||
ACK EQU 6
|
||||
NAK EQU 15H
|
||||
NUL EQU 00H
|
||||
SCROLL EQU 01H ; Set scrool direction UP.
|
||||
BELL EQU 07H
|
||||
SPACE EQU 20H
|
||||
TAB EQU 09H ; TAB ACROSS (8 SPACES FOR SD-BOARD)
|
||||
CR EQU 0DH
|
||||
LF EQU 0AH
|
||||
FF EQU 0CH
|
||||
ESC EQU 1BH
|
||||
DELETE EQU 7FH
|
||||
BACKS EQU 08H
|
||||
SOH EQU 1 ; For XModem etc.
|
||||
EOT EQU 4
|
||||
ACK EQU 6
|
||||
NAK EQU 15H
|
||||
NUL EQU 00H
|
||||
|
||||
|
||||
SPI_OUT EQU 0FFH
|
||||
SPI_IN EQU 0FEH
|
||||
DOUT_LOW EQU 000H
|
||||
DOUT_HIGH EQU 004H
|
||||
DOUT_MASK EQU 004H
|
||||
DIN_LOW EQU 000H
|
||||
DIN_HIGH EQU 001H
|
||||
CLOCK_LOW EQU 000H
|
||||
CLOCK_HIGH EQU 002H
|
||||
CLOCK_MASK EQU 0FDH
|
||||
CS_LOW EQU 000H
|
||||
CS_HIGH EQU 001H
|
||||
|
||||
; MMC/SD command (SPI mode)
|
||||
CMD0 EQU 64 + 0 ; GO_IDLE_STATE
|
||||
CMD1 EQU 64 + 1 ; SEND_OP_COND
|
||||
ACMD41 EQU 0x40+41 ; SEND_OP_COND (SDC)
|
||||
CMD8 EQU 64 + 8 ; SEND_IF_COND
|
||||
CMD9 EQU 64 + 9 ; SEND_CSD
|
||||
CMD10 EQU 64 + 10 ; SEND_CID
|
||||
CMD12 EQU 64 + 12 ; STOP_TRANSMISSION
|
||||
CMD13 EQU 64 + 13 ; SEND_STATUS
|
||||
ACMD13 EQU 0x40+13 ; SD_STATUS (SDC)
|
||||
CMD16 EQU 64 + 16 ; SET_BLOCKLEN
|
||||
CMD17 EQU 64 + 17 ; READ_SINGLE_BLOCK
|
||||
CMD18 EQU 64 + 18 ; READ_MULTIPLE_BLOCK
|
||||
CMD23 EQU 64 + 23 ; SET_BLOCK_COUNT
|
||||
ACMD23 EQU 0x40+23 ; SET_WR_BLK_ERASE_COUNT (SDC)
|
||||
CMD24 EQU 64 + 24 ; WRITE_BLOCK
|
||||
CMD25 EQU 64 + 25 ; WRITE_MULTIPLE_BLOCK
|
||||
CMD32 EQU 64 + 32 ; ERASE_ER_BLK_START
|
||||
CMD33 EQU 64 + 33 ; ERASE_ER_BLK_END
|
||||
CMD38 EQU 64 + 38 ; ERASE
|
||||
CMD55 EQU 64 + 55 ; APP_CMD
|
||||
CMD58 EQU 64 + 58 ; READ_OCR
|
||||
SD_SECSIZE EQU 512 ; Default size of an SD Sector
|
||||
|
||||
; Card type flags (CardType)
|
||||
CT_MMC EQU 001H ; MMC ver 3
|
||||
CT_SD1 EQU 002H ; SD ver 1
|
||||
CT_SD2 EQU 004H ; SD ver 2
|
||||
CT_SDC EQU CT_SD1|CT_SD2 ; SD
|
||||
CT_BLOCK EQU 008H ; Block addressing
|
||||
|
||||
; SD Card Directory structure. The directory entries are based on the MZF Header format and constraints.
|
||||
;
|
||||
; FLAG1 | FLAG2 | FILE NAME | START SECTOR | SIZE | LOAD ADDR | EXEC ADDR | RESERVED
|
||||
; 1 Byte | 1 Byte | 17 Bytes | 2 Bytes | 2 Bytes | 2 Bytes | 2 Bytes | 5 Bytes
|
||||
;
|
||||
; FLAG1 : BIT 7 = 1, Valid directory entry, 0 = inactive.
|
||||
; FLAG2 : MZF Execution Code, 0x01 = Binary
|
||||
; FILENAME : Standard MZF format filename.
|
||||
; START SECTOR : Sector in the SD card where the program starts. It always starts at position 0 of the sector.
|
||||
; SIZE : Size in bytes of the program. Each file block occupies 64Kbyte space (as per a tape) and this
|
||||
; parameter provides the actual space occupied by the program at the current time.
|
||||
; LOAD ADDR : Start address in memory where data should be loaded.
|
||||
; EXEC ADDR : If a binary then this parameter specifies the location to auto execute once loaded.
|
||||
; RESERVED : Not used at the moemnt.
|
||||
SDDIR_FLAG1 EQU 000H
|
||||
SDDIR_FLAG2 EQU 001H
|
||||
SDDIR_FILEN EQU 002H
|
||||
SDDIR_SSEC EQU 013H
|
||||
SDDIR_SIZE EQU 015H
|
||||
SDDIR_LOAD EQU 017H
|
||||
SDDIR_EXEC EQU 019H
|
||||
SDDIR_FNSZ EQU 17
|
||||
SDDIR_ENTSZ EQU 32
|
||||
|
||||
;-----------------------------------------------
|
||||
; SA-1510 MONITOR WORK AREA (MZ80A)
|
||||
;-----------------------------------------------
|
||||
STACK: EQU 010F0H
|
||||
STACK: EQU 010F0H
|
||||
;
|
||||
ORG STACK
|
||||
ORG STACK
|
||||
;
|
||||
SPV:
|
||||
IBUFE: ; TAPE BUFFER (128 BYTES)
|
||||
ATRB: DS virtual 1 ; ATTRIBUTE
|
||||
NAME: DS virtual 17 ; FILE NAME
|
||||
SIZE: DS virtual 2 ; BYTESIZE
|
||||
DTADR: DS virtual 2 ; DATA ADDRESS
|
||||
EXADR: DS virtual 2 ; EXECUTION ADDRESS
|
||||
COMNT: DS virtual 92 ; COMMENT
|
||||
SWPW: DS virtual 10 ; SWEEP WORK
|
||||
KDATW: DS virtual 2 ; KEY WORK
|
||||
KANAF: DS virtual 1 ; KANA FLAG (01=GRAPHIC MODE)
|
||||
DSPXY: DS virtual 2 ; DISPLAY COORDINATES
|
||||
MANG: DS virtual 6 ; COLUMN MANAGEMENT
|
||||
MANGE: DS virtual 1 ; COLUMN MANAGEMENT END
|
||||
PBIAS: DS virtual 1 ; PAGE BIAS
|
||||
ROLTOP: DS virtual 1 ; ROLL TOP BIAS
|
||||
MGPNT: DS virtual 1 ; COLUMN MANAG. POINTER
|
||||
PAGETP: DS virtual 2 ; PAGE TOP
|
||||
ROLEND: DS virtual 1 ; ROLL END
|
||||
DS virtual 14 ; BIAS
|
||||
FLASH: DS virtual 1 ; FLASHING DATA
|
||||
SFTLK: DS virtual 1 ; SHIFT LOCK
|
||||
REVFLG: DS virtual 1 ; REVERSE FLAG
|
||||
SPAGE: DS virtual 1 ; PAGE CHANGE
|
||||
FLSDT: DS virtual 1 ; CURSOR DATA
|
||||
STRGF: DS virtual 1 ; STRING FLAG
|
||||
DPRNT: DS virtual 1 ; TAB COUNTER
|
||||
TMCNT: DS virtual 2 ; TAPE MARK COUNTER
|
||||
SUMDT: DS virtual 2 ; CHECK SUM DATA
|
||||
CSMDT: DS virtual 2 ; FOR COMPARE SUM DATA
|
||||
AMPM: DS virtual 1 ; AMPM DATA
|
||||
TIMFG: DS virtual 1 ; TIME FLAG
|
||||
SWRK: DS virtual 1 ; KEY SOUND FLAG
|
||||
TEMPW: DS virtual 1 ; TEMPO WORK
|
||||
ONTYO: DS virtual 1 ; ONTYO WORK
|
||||
OCTV: DS virtual 1 ; OCTAVE WORK
|
||||
RATIO: DS virtual 2 ; ONPU RATIO
|
||||
BUFER: DS virtual 81 ; GET LINE BUFFER
|
||||
ATRB: DS virtual 1 ; ATTRIBUTE
|
||||
NAME: DS virtual 17 ; FILE NAME
|
||||
SIZE: DS virtual 2 ; BYTESIZE
|
||||
DTADR: DS virtual 2 ; DATA ADDRESS
|
||||
EXADR: DS virtual 2 ; EXECUTION ADDRESS
|
||||
COMNT: DS virtual 92 ; COMMENT
|
||||
SWPW: DS virtual 10 ; SWEEP WORK
|
||||
KDATW: DS virtual 2 ; KEY WORK
|
||||
KANAF: DS virtual 1 ; KANA FLAG (01=GRAPHIC MODE)
|
||||
DSPXY: DS virtual 2 ; DISPLAY COORDINATES
|
||||
MANG: DS virtual 6 ; COLUMN MANAGEMENT
|
||||
MANGE: DS virtual 1 ; COLUMN MANAGEMENT END
|
||||
PBIAS: DS virtual 1 ; PAGE BIAS
|
||||
ROLTOP: DS virtual 1 ; ROLL TOP BIAS
|
||||
MGPNT: DS virtual 1 ; COLUMN MANAG. POINTER
|
||||
PAGETP: DS virtual 2 ; PAGE TOP
|
||||
ROLEND: DS virtual 1 ; ROLL END
|
||||
DS virtual 14 ; BIAS
|
||||
FLASH: DS virtual 1 ; FLASHING DATA
|
||||
SFTLK: DS virtual 1 ; SHIFT LOCK
|
||||
REVFLG: DS virtual 1 ; REVERSE FLAG
|
||||
SPAGE: DS virtual 1 ; PAGE CHANGE
|
||||
FLSDT: DS virtual 1 ; CURSOR DATA
|
||||
STRGF: DS virtual 1 ; STRING FLAG
|
||||
DPRNT: DS virtual 1 ; TAB COUNTER
|
||||
TMCNT: DS virtual 2 ; TAPE MARK COUNTER
|
||||
SUMDT: DS virtual 2 ; CHECK SUM DATA
|
||||
CSMDT: DS virtual 2 ; FOR COMPARE SUM DATA
|
||||
AMPM: DS virtual 1 ; AMPM DATA
|
||||
TIMFG: DS virtual 1 ; TIME FLAG
|
||||
SWRK: DS virtual 1 ; KEY SOUND FLAG
|
||||
TEMPW: DS virtual 1 ; TEMPO WORK
|
||||
ONTYO: DS virtual 1 ; ONTYO WORK
|
||||
OCTV: DS virtual 1 ; OCTAVE WORK
|
||||
RATIO: DS virtual 2 ; ONPU RATIO
|
||||
BUFER: DS virtual 81 ; GET LINE BUFFER
|
||||
|
||||
; Starting 1000H - Generally unused bytes not cleared by the monitor.
|
||||
ROMBK1: EQU 01016H ; CURRENT MROM BANK
|
||||
ROMBK2: EQU 01017H ; CURRENT USERROM BANK
|
||||
WRKROMBK1: EQU 01018H ; WORKING MROM BANK
|
||||
WRKROMBK2: EQU 01019H ; WORKING USERROM BANK
|
||||
SCRNMODE: EQU 0101AH ; Mode of screen, 0 = 40 char, 1 = 80 char.
|
||||
TMPADR: EQU 0101BH ; TEMPORARY ADDRESS STORAGE
|
||||
TMPSIZE: EQU 0101DH ; TEMPORARY SIZE
|
||||
TMPCNT: EQU 0101FH ; TEMPORARY COUNTER
|
||||
TMPLINECNT:EQU 01021H ; Temporary counter for displayed lines.
|
||||
TMPSTACKP: EQU 01023H ; Temporary stack pointer save.
|
||||
ROMBK1: EQU 01016H ; CURRENT MROM BANK
|
||||
ROMBK2: EQU 01017H ; CURRENT USERROM BANK
|
||||
WRKROMBK1: EQU 01018H ; WORKING MROM BANK
|
||||
WRKROMBK2: EQU 01019H ; WORKING USERROM BANK
|
||||
SCRNMODE: EQU 0101AH ; Mode of screen, 0 = 40 char, 1 = 80 char.
|
||||
TMPADR: EQU 0101BH ; TEMPORARY ADDRESS STORAGE
|
||||
TMPSIZE: EQU 0101DH ; TEMPORARY SIZE
|
||||
TMPCNT: EQU 0101FH ; TEMPORARY COUNTER
|
||||
TMPLINECNT: EQU 01021H ; Temporary counter for displayed lines.
|
||||
TMPSTACKP: EQU 01023H ; Temporary stack pointer save.
|
||||
SDVER: EQU 01025H
|
||||
SDCAP: EQU 01026H
|
||||
; Variables sharing the CMT buffer, normally the CMT and SD are not used at the same
|
||||
; time. This frees up memory needed by the SD card.
|
||||
SECTORBUF: EQU 0CE00H ; Working buffer to place an SD card sector.
|
||||
SDBYTECNT EQU COMNT+2 ; Bytes to read/write to/from a sector.
|
||||
SDOFFSET EQU COMNT+4 ; Offset into sector prior to data read/write.
|
||||
SDSTARTSEC EQU COMNT+6 ; Starting sector of data to read/write from/to SD card.
|
||||
SDLOADADDR EQU COMNT+10 ; Address to read/write data from/to SD card.
|
||||
SDLOADSIZE EQU COMNT+12 ; Total remaining byte count data to read/write from/to SD card.
|
||||
SDAUTOEXEC EQU COMNT+14 ; Flag to indicate if a loaded image should be executed (=0xFF)
|
||||
SDBUF: EQU COMNT+15 ; SD Card command fram buffer for the command and response storage.
|
||||
DIRSECBUF: EQU COMNT+26 ; Directory sector in cache.
|
||||
RESULT: EQU COMNT+27
|
||||
BYTECNT: EQU COMNT+29
|
||||
WRITECNT: EQU COMNT+31
|
||||
|
||||
; Quickdisk work area
|
||||
;QDPA EQU 01130h ; QD code 1
|
||||
;QDPB EQU 01131h ; QD code 2
|
||||
;QDPC EQU 01132h ; QD header startaddress
|
||||
;QDPE EQU 01134h ; QD header length
|
||||
;QDCPA EQU 0113Bh ; QD error flag
|
||||
;HDPT EQU 0113Ch ; QD new headpoint possition
|
||||
;HDPT0 EQU 0113Dh ; QD actual headpoint possition
|
||||
;FNUPS EQU 0113Eh
|
||||
;FNUPF EQU 01140h
|
||||
;FNA EQU 01141h ; File Number A (actual file number)
|
||||
;FNB EQU 01142h ; File Number B (next file number)
|
||||
;MTF EQU 01143h ; QD motor flag
|
||||
;RTYF EQU 01144h
|
||||
;SYNCF EQU 01146h ; SyncFlags
|
||||
;RETSP EQU 01147h
|
||||
;BUFER EQU 011A3h
|
||||
;QDIRBF EQU 0CD90h
|
||||
;QDPA EQU 01130h ; QD code 1
|
||||
;QDPB EQU 01131h ; QD code 2
|
||||
;QDPC EQU 01132h ; QD header startaddress
|
||||
;QDPE EQU 01134h ; QD header length
|
||||
;QDCPA EQU 0113Bh ; QD error flag
|
||||
;HDPT EQU 0113Ch ; QD new headpoint possition
|
||||
;HDPT0 EQU 0113Dh ; QD actual headpoint possition
|
||||
;FNUPS EQU 0113Eh
|
||||
;FNUPF EQU 01140h
|
||||
;FNA EQU 01141h ; File Number A (actual file number)
|
||||
;FNB EQU 01142h ; File Number B (next file number)
|
||||
;MTF EQU 01143h ; QD motor flag
|
||||
;RTYF EQU 01144h
|
||||
;SYNCF EQU 01146h ; SyncFlags
|
||||
;RETSP EQU 01147h
|
||||
;BUFER EQU 011A3h
|
||||
;QDIRBF EQU 0CD90h
|
||||
|
||||
|
||||
|
||||
;SPV:
|
||||
;IBUFE: ; TAPE BUFFER (128 BYTES)
|
||||
;ATRB: DS virtual 1 ; Code Type, 01 = Machine Code.
|
||||
;NAME: DS virtual 17 ; Title/Name (17 bytes).
|
||||
;SIZE: DS virtual 2 ; Size of program.
|
||||
;DTADR: DS virtual 2 ; Load address of program.
|
||||
;EXADR: DS virtual 2 ; Exec address of program.
|
||||
;COMNT: DS virtual 104 ; COMMENT
|
||||
;KANAF: DS virtual 1 ; KANA FLAG (01=GRAPHIC MODE)
|
||||
;DSPXY: DS virtual 2 ; DISPLAY COORDINATES
|
||||
;MANG: DS virtual 27 ; COLUMN MANAGEMENT
|
||||
;FLASH: DS virtual 1 ; FLASHING DATA
|
||||
;FLPST: DS virtual 2 ; FLASHING POSITION
|
||||
;FLSST: DS virtual 1 ; FLASHING STATUS
|
||||
;FLSDT: DS virtual 1 ; CURSOR DATA
|
||||
;STRGF: DS virtual 1 ; STRING FLAG
|
||||
;DPRNT: DS virtual 1 ; TAB COUNTER
|
||||
;TMCNT: DS virtual 2 ; TAPE MARK COUNTER
|
||||
;SUMDT: DS virtual 2 ; CHECK SUM DATA
|
||||
;CSMDT: DS virtual 2 ; FOR COMPARE SUM DATA
|
||||
;AMPM: DS virtual 1 ; AMPM DATA
|
||||
;TIMFG: DS virtual 1 ; TIME FLAG
|
||||
;SWRK: DS virtual 1 ; KEY SOUND FLAG
|
||||
;TEMPW: DS virtual 1 ; TEMPO WORK
|
||||
;ONTYO: DS virtual 1 ; ONTYO WORK
|
||||
;OCTV: DS virtual 1 ; OCTAVE WORK
|
||||
;RATIO: DS virtual 2 ; ONPU RATIO
|
||||
;IBUFE: ; TAPE BUFFER (128 BYTES)
|
||||
;ATRB: DS virtual 1 ; Code Type, 01 = Machine Code.
|
||||
;NAME: DS virtual 17 ; Title/Name (17 bytes).
|
||||
;SIZE: DS virtual 2 ; Size of program.
|
||||
;DTADR: DS virtual 2 ; Load address of program.
|
||||
;EXADR: DS virtual 2 ; Exec address of program.
|
||||
;COMNT: DS virtual 104 ; COMMENT
|
||||
;KANAF: DS virtual 1 ; KANA FLAG (01=GRAPHIC MODE)
|
||||
;DSPXY: DS virtual 2 ; DISPLAY COORDINATES
|
||||
;MANG: DS virtual 27 ; COLUMN MANAGEMENT
|
||||
;FLASH: DS virtual 1 ; FLASHING DATA
|
||||
;FLPST: DS virtual 2 ; FLASHING POSITION
|
||||
;FLSST: DS virtual 1 ; FLASHING STATUS
|
||||
;FLSDT: DS virtual 1 ; CURSOR DATA
|
||||
;STRGF: DS virtual 1 ; STRING FLAG
|
||||
;DPRNT: DS virtual 1 ; TAB COUNTER
|
||||
;TMCNT: DS virtual 2 ; TAPE MARK COUNTER
|
||||
;SUMDT: DS virtual 2 ; CHECK SUM DATA
|
||||
;CSMDT: DS virtual 2 ; FOR COMPARE SUM DATA
|
||||
;AMPM: DS virtual 1 ; AMPM DATA
|
||||
;TIMFG: DS virtual 1 ; TIME FLAG
|
||||
;SWRK: DS virtual 1 ; KEY SOUND FLAG
|
||||
;TEMPW: DS virtual 1 ; TEMPO WORK
|
||||
;ONTYO: DS virtual 1 ; ONTYO WORK
|
||||
;OCTV: DS virtual 1 ; OCTAVE WORK
|
||||
;RATIO: DS virtual 2 ; ONPU RATIO
|
||||
|
||||
Reference in New Issue
Block a user