mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
refactoring
This commit is contained in:
parent
c830097baf
commit
f0ab2100a7
361
SP__48.ASM
361
SP__48.ASM
@ -346,155 +346,103 @@ L0090: SCF ; set the carry flag
|
||||
; the word. The first is an inverted step-over byte.
|
||||
|
||||
;; TKN-TABLE
|
||||
L0095: DC '?'
|
||||
DC "RND"
|
||||
DC "INKEY$"
|
||||
L0095:
|
||||
DC "?"
|
||||
DC 'RND'
|
||||
DC 'INKEY$'
|
||||
DC 'PI'
|
||||
DC 'FN'
|
||||
DC "POINT"
|
||||
DC "SCREEN$"
|
||||
DC "ATTR"
|
||||
DC 'POINT'
|
||||
DC 'SCREEN$'
|
||||
DC 'ATTR'
|
||||
DC 'AT'
|
||||
DC "TAB"
|
||||
DC "VAL$"
|
||||
DC "CODE"
|
||||
DC "VAL"
|
||||
DC "LEN"
|
||||
DC "SIN"
|
||||
DC "COS"
|
||||
DC "TAN"
|
||||
DC "ASN"
|
||||
DC "ACS"
|
||||
DC "ATN"
|
||||
DC 'TAB'
|
||||
DC 'VAL$'
|
||||
DC 'CODE'
|
||||
DC 'VAL'
|
||||
DC 'LEN'
|
||||
DC 'SIN'
|
||||
DC 'COS'
|
||||
DC 'TAN'
|
||||
DC 'ASN'
|
||||
DC 'ACS'
|
||||
DC 'ATN'
|
||||
DC 'LN'
|
||||
DC "EXP"
|
||||
DC "INT"
|
||||
DC "SQR"
|
||||
DC "SGN"
|
||||
DC "ABS"
|
||||
DC "PEEK"
|
||||
DC 'EXP'
|
||||
DC 'INT'
|
||||
DC 'SQR'
|
||||
DC 'SGN'
|
||||
DC 'ABS'
|
||||
DC 'PEEK'
|
||||
DC 'IN'
|
||||
DC "USR"
|
||||
DC "STR$"
|
||||
DC "CHR$"
|
||||
DC "NOT"
|
||||
DC "BIN"
|
||||
DC 'USR'
|
||||
DC 'STR$'
|
||||
DC 'CHR$'
|
||||
DC 'NOT'
|
||||
DC 'BIN'
|
||||
|
||||
; The previous 32 function-type words are printed without a leading space
|
||||
; The following have a leading space if they begin with a letter
|
||||
|
||||
DEFB 'O','R'+$80
|
||||
DEFM "AN"
|
||||
DEFB 'D'+$80
|
||||
DEFB $3C,'='+$80 ; <=
|
||||
DEFB $3E,'='+$80 ; >=
|
||||
DEFB $3C,$3E+$80 ; <>
|
||||
DEFM "LIN"
|
||||
DEFB 'E'+$80
|
||||
DEFM "THE"
|
||||
DEFB 'N'+$80
|
||||
DEFB 'T','O'+$80
|
||||
DEFM "STE"
|
||||
DEFB 'P'+$80
|
||||
DEFM "DEF F"
|
||||
DEFB 'N'+$80
|
||||
DEFM "CA"
|
||||
DEFB 'T'+$80
|
||||
DEFM "FORMA"
|
||||
DEFB 'T'+$80
|
||||
DEFM "MOV"
|
||||
DEFB 'E'+$80
|
||||
DEFM "ERAS"
|
||||
DEFB 'E'+$80
|
||||
DEFM "OPEN "
|
||||
DEFB '#'+$80
|
||||
DEFM "CLOSE "
|
||||
DEFB '#'+$80
|
||||
DEFM "MERG"
|
||||
DEFB 'E'+$80
|
||||
DEFM "VERIF"
|
||||
DEFB 'Y'+$80
|
||||
DEFM "BEE"
|
||||
DEFB 'P'+$80
|
||||
DEFM "CIRCL"
|
||||
DEFB 'E'+$80
|
||||
DEFM "IN"
|
||||
DEFB 'K'+$80
|
||||
DEFM "PAPE"
|
||||
DEFB 'R'+$80
|
||||
DEFM "FLAS"
|
||||
DEFB 'H'+$80
|
||||
DEFM "BRIGH"
|
||||
DEFB 'T'+$80
|
||||
DEFM "INVERS"
|
||||
DEFB 'E'+$80
|
||||
DEFM "OVE"
|
||||
DEFB 'R'+$80
|
||||
DEFM "OU"
|
||||
DEFB 'T'+$80
|
||||
DEFM "LPRIN"
|
||||
DEFB 'T'+$80
|
||||
DEFM "LLIS"
|
||||
DEFB 'T'+$80
|
||||
DEFM "STO"
|
||||
DEFB 'P'+$80
|
||||
DEFM "REA"
|
||||
DEFB 'D'+$80
|
||||
DEFM "DAT"
|
||||
DEFB 'A'+$80
|
||||
DEFM "RESTOR"
|
||||
DEFB 'E'+$80
|
||||
DEFM "NE"
|
||||
DEFB 'W'+$80
|
||||
DEFM "BORDE"
|
||||
DEFB 'R'+$80
|
||||
DEFM "CONTINU"
|
||||
DEFB 'E'+$80
|
||||
DEFM "DI"
|
||||
DEFB 'M'+$80
|
||||
DEFM "RE"
|
||||
DEFB 'M'+$80
|
||||
DEFM "FO"
|
||||
DEFB 'R'+$80
|
||||
DEFM "GO T"
|
||||
DEFB 'O'+$80
|
||||
DEFM "GO SU"
|
||||
DEFB 'B'+$80
|
||||
DEFM "INPU"
|
||||
DEFB 'T'+$80
|
||||
DEFM "LOA"
|
||||
DEFB 'D'+$80
|
||||
DEFM "LIS"
|
||||
DEFB 'T'+$80
|
||||
DEFM "LE"
|
||||
DEFB 'T'+$80
|
||||
DEFM "PAUS"
|
||||
DEFB 'E'+$80
|
||||
DEFM "NEX"
|
||||
DEFB 'T'+$80
|
||||
DEFM "POK"
|
||||
DEFB 'E'+$80
|
||||
DEFM "PRIN"
|
||||
DEFB 'T'+$80
|
||||
DEFM "PLO"
|
||||
DEFB 'T'+$80
|
||||
DEFM "RU"
|
||||
DEFB 'N'+$80
|
||||
DEFM "SAV"
|
||||
DEFB 'E'+$80
|
||||
DEFM "RANDOMIZ"
|
||||
DEFB 'E'+$80
|
||||
DEFB 'I','F'+$80
|
||||
DEFM "CL"
|
||||
DEFB 'S'+$80
|
||||
DEFM "DRA"
|
||||
DEFB 'W'+$80
|
||||
DEFM "CLEA"
|
||||
DEFB 'R'+$80
|
||||
DEFM "RETUR"
|
||||
DEFB 'N'+$80
|
||||
DEFM "COP"
|
||||
DEFB 'Y'+$80
|
||||
DC "OR"
|
||||
DC "AND"
|
||||
DC "<="
|
||||
DC ">="
|
||||
DC "<>"
|
||||
DC "LINE"
|
||||
DC "THEN"
|
||||
DC "TO"
|
||||
DC "STEP"
|
||||
DC "DEF FN"
|
||||
DC "CAT"
|
||||
DC "FORMAT"
|
||||
DC "MOVE"
|
||||
DC "ERASE"
|
||||
DC "OPEN #"
|
||||
DC "CLOSE #"
|
||||
DC "MERGE"
|
||||
DC "VERIFY"
|
||||
DC "BEEP"
|
||||
DC "CIRCLE"
|
||||
DC "INK"
|
||||
DC "PAPER"
|
||||
DC "FLASH"
|
||||
DC "BRIGHT"
|
||||
DC "INVERSE"
|
||||
DC "OVER"
|
||||
DC "OUT"
|
||||
DC "LPRINT"
|
||||
DC "LLIST"
|
||||
DC "STOP"
|
||||
DC "READ"
|
||||
DC "DATA"
|
||||
DC "RESTORE"
|
||||
DC "NEW"
|
||||
DC "BORDER"
|
||||
DC "CONTINUE"
|
||||
DC "DIM"
|
||||
DC "REM"
|
||||
DC "FOR"
|
||||
DC "GO TO"
|
||||
DC "GO SUB"
|
||||
DC "INPUT"
|
||||
DC "LOAD"
|
||||
DC "LIST"
|
||||
DC "LET"
|
||||
DC "PAUSE"
|
||||
DC "NEXT"
|
||||
DC "POKE"
|
||||
DC "PRINT"
|
||||
DC "PLOT"
|
||||
DC "RUN"
|
||||
DC "SAVE"
|
||||
DC "RANDOMIZE"
|
||||
DC "IF"
|
||||
DC "CLS"
|
||||
DC "DRAW"
|
||||
DC "CLEAR"
|
||||
DC "RETURN"
|
||||
DC "COPY"
|
||||
|
||||
; ----------------
|
||||
; THE 'KEY' TABLES
|
||||
@ -511,45 +459,45 @@ L0095: DC '?'
|
||||
; the values obtained from this table.
|
||||
|
||||
;; MAIN-KEYS
|
||||
L0205: DEFB $42 ; B
|
||||
DEFB $48 ; H
|
||||
DEFB $59 ; Y
|
||||
DEFB $36 ; 6
|
||||
DEFB $35 ; 5
|
||||
DEFB $54 ; T
|
||||
DEFB $47 ; G
|
||||
DEFB $56 ; V
|
||||
DEFB $4E ; N
|
||||
DEFB $4A ; J
|
||||
DEFB $55 ; U
|
||||
DEFB $37 ; 7
|
||||
DEFB $34 ; 4
|
||||
DEFB $52 ; R
|
||||
DEFB $46 ; F
|
||||
DEFB $43 ; C
|
||||
DEFB $4D ; M
|
||||
DEFB $4B ; K
|
||||
DEFB $49 ; I
|
||||
DEFB $38 ; 8
|
||||
DEFB $33 ; 3
|
||||
DEFB $45 ; E
|
||||
DEFB $44 ; D
|
||||
DEFB $58 ; X
|
||||
L0205: DEFB "B"
|
||||
DEFB "H"
|
||||
DEFB "Y"
|
||||
DEFB "6"
|
||||
DEFB "5"
|
||||
DEFB "T"
|
||||
DEFB "G"
|
||||
DEFB "V"
|
||||
DEFB "N"
|
||||
DEFB "J"
|
||||
DEFB "U"
|
||||
DEFB "7"
|
||||
DEFB "4"
|
||||
DEFB "R"
|
||||
DEFB "F"
|
||||
DEFB "C"
|
||||
DEFB "M"
|
||||
DEFB "K"
|
||||
DEFB "I"
|
||||
DEFB "8"
|
||||
DEFB "3"
|
||||
DEFB "E"
|
||||
DEFB "D"
|
||||
DEFB "X"
|
||||
DEFB $0E ; SYMBOL SHIFT
|
||||
DEFB $4C ; L
|
||||
DEFB $4F ; O
|
||||
DEFB $39 ; 9
|
||||
DEFB $32 ; 2
|
||||
DEFB $57 ; W
|
||||
DEFB $53 ; S
|
||||
DEFB $5A ; Z
|
||||
DEFB $20 ; SPACE
|
||||
DEFB "L"
|
||||
DEFB "O"
|
||||
DEFB "9"
|
||||
DEFB "2"
|
||||
DEFB "W"
|
||||
DEFB "S"
|
||||
DEFB "Z"
|
||||
DEFB " "
|
||||
DEFB $0D ; ENTER
|
||||
DEFB $50 ; P
|
||||
DEFB $30 ; 0
|
||||
DEFB $31 ; 1
|
||||
DEFB $51 ; Q
|
||||
DEFB $41 ; A
|
||||
DEFB "P"
|
||||
DEFB "0"
|
||||
DEFB "1"
|
||||
DEFB "Q"
|
||||
DEFB "A"
|
||||
|
||||
|
||||
;; E-UNSHIFT
|
||||
@ -586,13 +534,13 @@ L022C: DEFB $E3 ; READ
|
||||
;; EXT-SHIFT
|
||||
; The 26 shifted extended mode keys for the alphabetic characters.
|
||||
; The red keywords below keys on the original keyboard.
|
||||
L0246: DEFB $7E ; ~
|
||||
L0246: DEFB '~'
|
||||
DEFB $DC ; BRIGHT
|
||||
DEFB $DA ; PAPER
|
||||
DEFB $5C ; \
|
||||
DEFB '\' ;
|
||||
DEFB $B7 ; ATN
|
||||
DEFB $7B ; {
|
||||
DEFB $7D ; }
|
||||
DEFB '{'
|
||||
DEFB '}'
|
||||
DEFB $D8 ; CIRCLE
|
||||
DEFB $BF ; IN
|
||||
DEFB $AE ; VAL$
|
||||
@ -604,13 +552,13 @@ L0246: DEFB $7E ; ~
|
||||
DEFB $7F ; (Copyright character)
|
||||
DEFB $B5 ; ASN
|
||||
DEFB $D6 ; VERIFY
|
||||
DEFB $7C ; |
|
||||
DEFB '|'
|
||||
DEFB $D5 ; MERGE
|
||||
DEFB $5D ; ]
|
||||
DEFB ']'
|
||||
DEFB $DB ; FLASH
|
||||
DEFB $B6 ; ACS
|
||||
DEFB $D9 ; INK
|
||||
DEFB $5B ; [
|
||||
DEFB '['
|
||||
DEFB $D7 ; BEEP
|
||||
|
||||
|
||||
@ -634,31 +582,31 @@ L0260: DEFB $0C ; DELETE
|
||||
; The ten single-character digit symbols are converted without the aid of
|
||||
; a table using subtraction and minor manipulation.
|
||||
L026A: DEFB $E2 ; STOP
|
||||
DEFB $2A ; *
|
||||
DEFB $3F ; ?
|
||||
DEFB '*'
|
||||
DEFB '?'
|
||||
DEFB $CD ; STEP
|
||||
DEFB $C8 ; >=
|
||||
DEFB $CC ; TO
|
||||
DEFB $CB ; THEN
|
||||
DEFB $5E ; ^
|
||||
DEFB '^'
|
||||
DEFB $AC ; AT
|
||||
DEFB $2D ; -
|
||||
DEFB $2B ; +
|
||||
DEFB $3D ; =
|
||||
DEFB $2E ; .
|
||||
DEFB $2C ; ,
|
||||
DEFB $3B ; ;
|
||||
DEFB $22 ; "
|
||||
DEFB '-'
|
||||
DEFB '+'
|
||||
DEFB '='
|
||||
DEFB '.'
|
||||
DEFB ','
|
||||
DEFB ';'
|
||||
DEFB '"'
|
||||
DEFB $C7 ; <=
|
||||
DEFB $3C ; <
|
||||
DEFB '<'
|
||||
DEFB $C3 ; NOT
|
||||
DEFB $3E ; >
|
||||
DEFB '>'
|
||||
DEFB $C5 ; OR
|
||||
DEFB $2F ; /
|
||||
DEFB '/'
|
||||
DEFB $C9 ; <>
|
||||
DEFB $60 ; pound
|
||||
DEFB $C6 ; AND
|
||||
DEFB $3A ; :
|
||||
DEFB ':' ; :
|
||||
|
||||
;; E-DIGITS
|
||||
; The ten keywords assigned to the digits in extended mode.
|
||||
@ -19330,18 +19278,27 @@ L3C97:
|
||||
; º ¤®¯®«¥¨ï ¤«ï SP48 !! º
|
||||
; º ¤«ï ¯¥à¥å®¤ EXP-BAS48 º
|
||||
; º 16 ¡ ©â + 22 ¡ ©â º
|
||||
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
|
||||
// LD HL,#C0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48
|
||||
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
;!FIXIT ᤥ« âì ¢ë¡®à áâà ¨æë ¬ ªà®á®¬ á ãá«®¢¨ï¬¨ ª®¬¯¨«ï樨,
|
||||
;ç⮡ ¬®¦® ¡ë«® ª®¬¯¨«¨âì vROM ª ª ¤«ï à ¡®âë á <20>‡“, â ª ¨ ¯®«®áâìî ¡¥§ ¥£®
|
||||
//LD HL,#C0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48
|
||||
LD HL,#3CF0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48
|
||||
;
|
||||
JR JMP_EX
|
||||
|
||||
BLOCK #3CF8-$,0
|
||||
JMP_EX: PUSH HL
|
||||
PUSH AF
|
||||
// LD A,ROM.BIOS ; ¯¥à¥å®¤ ¢ BIOS
|
||||
LD A,ROM.EXPANSION ; ¯¥à¥å®¤ ¢ EXPANSION
|
||||
|
||||
//LD A,ROM.BIOS ; ¯¥à¥å®¤ ¢ BIOS
|
||||
//LD A,ROM.EXPANSION ; ¯¥à¥å®¤ ¢ EXPANSION
|
||||
|
||||
;!FIXIT ᤥ« âì ¢ë¡®à áâà ¨æë ¬ ªà®á®¬ á ãá«®¢¨ï¬¨ ª®¬¯¨«ï樨,
|
||||
;ç⮡ ¬®¦® ¡ë«® ª®¬¯¨«¨âì vROM ª ª ¤«ï à ¡®âë á <20>‡“, â ª ¨ ¯®«®áâìî ¡¥§ ¥£®
|
||||
LD A,0
|
||||
OUT (CNF_PORT.ON),A
|
||||
;
|
||||
POP AF
|
||||
RET ; ¢®§¢à â
|
||||
;< < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < <;
|
||||
|
||||
@ -30,7 +30,7 @@ SR_MENU:
|
||||
DC 'TURBO ON '
|
||||
DC 'Clear RAM'
|
||||
DC 'RETURN'
|
||||
DC ' ' ; ¬ àª¥à ª®æ
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
|
||||
SR_LEN EQU $-SR_MENU
|
||||
|
||||
@ -177,7 +177,7 @@ IS_MENU:
|
||||
DC 'Pentagon 512'
|
||||
DC 'Restart '
|
||||
DC 'RETURN'
|
||||
DC ' ' ; ¬ àª¥à ª®æ
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
.Size EQU $-IS_MENU
|
||||
|
||||
;******************************
|
||||
|
||||
@ -277,9 +277,9 @@ ERR_TST_M:
|
||||
;**************************************
|
||||
|
||||
CALL_DOS_MOVE:
|
||||
LD DE,5C00H-DOS_PROG_LEN
|
||||
LD DE,DOS_PROG.Exec
|
||||
LD HL,DOS_PROG
|
||||
LD BC,DOS_PROG_LEN
|
||||
LD BC,DOS_PROG.Size
|
||||
LDIR
|
||||
RET
|
||||
;
|
||||
@ -295,34 +295,36 @@ CALL_DOS1:
|
||||
LD (5C63H),DE
|
||||
LD (5C65H),DE
|
||||
CALL CALL_DOS_MOVE
|
||||
JP 5C00H-DOS_PROG_LEN
|
||||
JP DOS_PROG.Exec
|
||||
CALL_DOS:
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH AF
|
||||
CALL CALL_DOS_MOVE
|
||||
LD A,13H
|
||||
LD (5C00H-DOS_PROG_LEN+DOS_PROG_A),A
|
||||
LD A,#13 ; #13 ¨§ AUTO_1303
|
||||
LD (DOS_PROG.Patch),A
|
||||
POP AF
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
JP 5C00H-DOS_PROG_LEN
|
||||
JP DOS_PROG.Exec
|
||||
|
||||
DOS_PROG:
|
||||
PUSH AF
|
||||
DISP #5C00 - DOS_PROG.Size ;!HARDCODE
|
||||
.Exec: PUSH AF
|
||||
XOR A
|
||||
OUT (SYS_PORT_OFF),A
|
||||
POP AF
|
||||
CALL 3D03H
|
||||
DOS_PROG_A EQU $-DOS_PROG-1
|
||||
.Patch+2: CALL #3D03
|
||||
PUSH AF
|
||||
LD A,0
|
||||
OUT (CNF_PORT),A
|
||||
POP AF
|
||||
RET
|
||||
DOS_PROG_LEN EQU $-DOS_PROG
|
||||
.Size EQU $ - .Exec
|
||||
ENT
|
||||
|
||||
|
||||
CONT_PROG:
|
||||
LD HL,1AFDH
|
||||
@ -334,7 +336,4 @@ CONT_PROG:
|
||||
LD A,0E8H
|
||||
LD (DE),A
|
||||
JP SW_ROM
|
||||
|
||||
|
||||
|
||||
|
||||
;
|
||||
Loading…
Reference in New Issue
Block a user