-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbios.asc
115 lines (111 loc) · 3.21 KB
/
bios.asc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
; MSX Block Puzzle game, released as entry for the MSXDev'20
; Created by David Heremans, aka turbor on mrc
;
; A nice helper file
;
;
; The list of MSX1 BIOS entries
;
CHKRAM: equ #0000
SYNCHR: equ #0008
RDSLT: equ #000C
CHRGTB: equ #0010
WRTSLT: equ #0014
OUTDO: equ #0018
CALSLT: equ #001C
DCOMPR: equ #0020
ENASLT: equ #0024
GETYPR: equ #0028
CALLF: equ #0030
KEYINT: equ #0038
INITIO: equ #003B
INIFNK: equ #003E
DISSCR: equ #0041
ENASCR: equ #0044
WRTVDP: equ #0047
RDVRM: equ #004A
WRTVRM: equ #004D
SETRD: equ #0050
SETWRT: equ #0053
FILVRM: equ #0056
LDIRMV: equ #0059
LDIRVM: equ #005C
CHGMOD: equ #005F
CHGCLR: equ #0062
NMI: equ #0066
CLRSPR: equ #0069
INITXT: equ #006C
INIT32: equ #006F
INIGRP: equ #0072
INIMLT: equ #0075
SETTXT: equ #0078
SETT32: equ #007B
SETGRP: equ #007E
SETMLT: equ #0081
CALPAT: equ #0084
CALATR: equ #0087
GSPSIZ: equ #008A
GRPPRT: equ #008D
GICINI: equ #0090
WRTPSG: equ #0093
RDPSG: equ #0096
STRTMS: equ #0099
CHSNS: equ #009C
CHGET: equ #009F
CHPUT: equ #00A2
LPTOUT: equ #00A5
LPTSTT: equ #00A8
SNVCHR: equ #00AB
PINLIN: equ #00AE
INLIN: equ #00B1
QINLIN: equ #00B4
BREAKX: equ #00B7
ISCNTC: equ #00BA
CKCNTC: equ #00BD
BEEP: equ #00C0
CLS: equ #00C3
POSIT: equ #00C6
FNKSB: equ #00C9
ERAFNK: equ #00CC
DSPFNK: equ #00CF
TOTEXT: equ #00D2
GTSTCK: equ #00D5
GTTRIG: equ #00D8
GTPAD: equ #00DB
GTPDL: equ #00DE
RSLREG: equ #0138
GETVCP: equ #0150
GETVC2: equ #0153
KILBUF: equ #0156
CALBAS: equ #0159
CLIKSW: equ #F3DB ; 1 Key click switch. (0 = Disabled / 1 = Enabled)
CSRY: equ #F3DC ; 1 Y-coordinate of text cursor
CSRX: equ #F3DD ; 1 X-coordinate of text cursor
CNSDFG: equ #F3DE ; 1 Flag to know if the function keys are displayed (255) or not (0).
RG0SAV: equ #F3DF ; 1 Mirror of VDP register 0 (Basic: VDP(0))
RG1SAV: equ #F3E0 ; 1 Mirror of VDP register 1 (Basic: VDP(1))
RG2SAV: equ #F3E1 ; 1 Mirror of VDP register 2 (Basic: VDP(2))
RG3SAV: equ #F3E2 ; 1 Mirror of VDP register 3 (Basic: VDP(3))
RG4SAV: equ #F3E3 ; 1 Mirror of VDP register 4 (Basic: VDP(4))
RG5SAV: equ #F3E4 ; 1 Mirror of VDP register 5 (Basic: VDP(5))
RG6SAV: equ #F3E5 ; 1 Mirror of VDP register 6 (Basic: VDP(6))
RG7SAV: equ #F3E6 ; 1 Mirror of VDP register 7 (Basic: VDP(7))
STATFL: equ #F3E7 ; 1 Mirror of VDP(8) status register (#S0)
NEWKEY: equ #FBE5 ; 11 New status of each keyboard matrix row. The status is updated by the KEYINT interrupt routine.
; Bit correspondence for a European Keyboard Layout:
; NEWKEY+0 = 7 6 5 4 3 2 1 0
; NEWKEY+1 = ; ] [ \ = - 9 8
; NEWKEY+2 = B A ACCENT / . , ` '
; NEWKEY+3 = J I H G F E D C
; NEWKEY+4 = R Q P O N M L K
; NEWKEY+5 = Z Y X W V U T S
; NEWKEY+6 = F3 F2 F1 CODE CAPS GRPH CTRL SHIFT
; NEWKEY+7 = RET SEL BS STOP TAB ESC F5 F4
; NEWKEY+8 = RIGHT DOWN UP LEFT DEL INS HOME SPACE
; NEWKEY+9 = 4 3 2 1 0 / + *
; NEWKEY+10 = . , - 9 8 7 6 5
FORCLR equ #F3E9
BAKCLR equ #F3EA
BDRCLR equ #F3EB
EXPTBL equ #FCC1
H.TIMI equ #FD9F