Skip to content

Commit

Permalink
Begin ZX Spectrum register definitions.
Browse files Browse the repository at this point in the history
  • Loading branch information
dillof committed Aug 1, 2024
1 parent 933e0b1 commit 5d88ea7
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 1 deletion.
51 changes: 51 additions & 0 deletions share/lib/zx-spectrum-next.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.include "zx-spectrum.s"

.visibility public

NEXTREG_MACHINE_ID = $00
NEXTREG_MACHINE_ID_EMULATOR = $08
NEXTREG_MACHINE_ID_NEXT = $0a
NEXTREG_MACHINE_ID_NEXT_ANTI_BRICK = $fa

NEXTREG_CORE_VERSION = $01
NEXTREG_CORE_VERSION_MINOR_MASK = $0f
NEXTREG_CORE_VERSION_MAJOR_MASK = $f0

NEXTREG_RESET = $02
NEXTREG_RESET_SOFT = $01
NEXTREG_RESET_HARD = $02
NEXTREG_RESET_EXPANSION = $80

NEXTREG_MACHINE_TYPE = $03
NEXTREG_MACHINE_TYPE_MASK = $07
NEXTREG_MACHINE_TYPE_CONFIGURATION = $00
NEXTREG_MACHINE_TYPE_48K = $01
NEXTREG_MACHINE_TYPE_128K = $02
NEXTREG_MACHINE_TYPE_PLUS3_NEXT = $03
NEXTREG_MACHINE_TYPE_PENT = $04
NEXTREG_MACHINE_TYPE_DISPLAY_TIMING_USER_LOCK = $08
NEXTREG_MACHINE_TYPE_DISPLAY_TIMING_MASK = $70
NEXTREG_MACHINE_TYPE_DISPLAY_TIMING(n) = (n & $7) << 4
; Uses the same values as NEXTREG_MACHINE_TYPE
NEXTREG_MACHIEN_TYPE_DISPLAY_TIMING_CHANGE_ENABLE = $80

NEXTREG_CONFIGURATION_MAPPING = $04
NEXTREG_CONFIGURATION_MAPPING_MASK = $1f

NEXTREG_PERIPHERAL_SETTINGS_1 = $05
NEXTREG_PERIPHERAL_SETTINGS_1_SCANDOUBLER = $01
NEXTREG_PERIPHERAL_SETTINGS_1_VERTICAL_FERQUENCY = $04
NEXTREG_PERIPHERAL_SETTINGS_1_VERTICAL_FERQUENCY_50HZ = $0
NEXTREG_PERIPHERAL_SETTINGS_1_VERTICAL_FERQUENCY_60HZ = NEXTREG_PERIPHERAL_SETTINGS_1_VERTICAL_FERQUENCY
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_1_MASK = $c8
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_2_MASK = $32
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_SINCLAIR_2 = $0
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_KEMPSTON_2 = $1
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_KEMPSTON_1 = $2
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_MEGADRIVE_1 = $3
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_CURSOR = $4
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_MEGADRIVE_2 = $5
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_SINCLAIR_1 = $6
NEXTREG_PERIPHERAL_SETTINGS_1_JOYSTICK_KEYJOY = $7

NEXTREG_PERIPHERAL_SETTINGS_2 = $06
25 changes: 24 additions & 1 deletion share/lib/zx-spectrum.s
Original file line number Diff line number Diff line change
@@ -1,6 +1,29 @@
.target "z80"

.public CLS = $0daf
.visibility public

SCREEN = $4000
ATTRIBUTES = $5800

CLS = $0daf

PORT_KEMPSTON_JOYSTICK_1 = $1f
PORT_KEMPSTON_JOYSTICK_2 = $37
PORT_KEMPSTON_JOYSTICK_RIGHT = $01
PORT_KEMPSTON_JOYSTICK_LEFT = $02
PORT_KEMPSTON_JOYSTICK_DOWN = $04
PORT_KEMPSTON_JOYSTICK_UP = $08
PORT_KEMPSTON_JOYSTICK_FIRE_1 = $10
PORT_KEMPSTON_JOYSTICK_FIRE_2 = $20
PORT_KEMPSTON_JOYSTICK_B = $10
PORT_KEMPSTON_JOYSTICK_A = $20
PORT_KEMPSTON_JOYSTICK_C = $40
PORT_KEMPSTON_JOYSTICK_START = $80

PORT_KEMPSTON_MOUSE_X = $fbdf
PORT_KEMPSTON_MOUSE_Y = $ffdf
PORT_KEMPSTON_MOUSE_BUTTONS = $fadf
PORT_KEMPSTON_MOUSE_BUTTON_LEFT = $01
PORT_KEMPSTON_MOUSE_BUTTON_MIDDLE = $02
PORT_KEMPSTON_MOUSE_BUTTON_RIGHT = $04
PORT_KEMPSTON_MOUSE_BUTTON_SCROLL_WHEEL_MASK = $f0

0 comments on commit 5d88ea7

Please sign in to comment.