# snap_accessors.txt: simple accessors for libspectrum_snap
# Copyright (c) 2003-2016 Philip Kendall

# $Id: snap_accessors.txt 5483 2016-05-14 12:20:21Z fredm $

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

# Author contact information:

# E-mail: philip-fuse@shadowmagic.org.uk

libspectrum_machine machine

libspectrum_byte a
libspectrum_byte f
libspectrum_word bc
libspectrum_word de
libspectrum_word hl
libspectrum_byte a_
libspectrum_byte f_
libspectrum_word bc_
libspectrum_word de_
libspectrum_word hl_
libspectrum_word ix
libspectrum_word iy
libspectrum_byte i
libspectrum_byte r
libspectrum_word sp
libspectrum_word pc
libspectrum_word memptr
libspectrum_byte iff1
libspectrum_byte iff2
libspectrum_byte im

libspectrum_dword tstates

int halted
int last_instruction_ei
int last_instruction_set_f

libspectrum_byte out_ula

libspectrum_byte out_128_memoryport
libspectrum_byte out_plus3_memoryport

libspectrum_byte out_ay_registerport
libspectrum_byte ay_registers 1

libspectrum_byte out_scld_hsr
libspectrum_byte out_scld_dec

int interface1_active
int interface1_paged
int interface1_drive_count
int interface1_custom_rom
libspectrum_byte* interface1_rom 1
size_t interface1_rom_length 1

int beta_active
int beta_paged
int beta_autoboot
int beta_drive_count
int beta_custom_rom
int beta_direction
libspectrum_byte beta_system
libspectrum_byte beta_track
libspectrum_byte beta_sector
libspectrum_byte beta_data
libspectrum_byte beta_status
libspectrum_byte* beta_rom 1

int plusd_active
int plusd_paged
int plusd_drive_count
int plusd_custom_rom
int plusd_direction
libspectrum_byte plusd_control
libspectrum_byte plusd_track
libspectrum_byte plusd_sector
libspectrum_byte plusd_data
libspectrum_byte plusd_status
libspectrum_byte* plusd_rom 1
libspectrum_byte* plusd_ram 1

int opus_active
int opus_paged
int opus_drive_count
int opus_custom_rom
int opus_direction
libspectrum_byte opus_track
libspectrum_byte opus_sector
libspectrum_byte opus_data
libspectrum_byte opus_status
libspectrum_byte opus_data_reg_a
libspectrum_byte opus_data_dir_a
libspectrum_byte opus_control_a
libspectrum_byte opus_data_reg_b
libspectrum_byte opus_data_dir_b
libspectrum_byte opus_control_b
libspectrum_byte* opus_rom 1
libspectrum_byte* opus_ram 1

int custom_rom
size_t custom_rom_pages
libspectrum_byte* roms 1
size_t rom_length 1

libspectrum_byte* pages 1

libspectrum_byte* slt 1
size_t slt_length 1
libspectrum_byte* slt_screen
int slt_screen_level

int zxatasp_active
int zxatasp_upload
int zxatasp_writeprotect
libspectrum_byte zxatasp_port_a
libspectrum_byte zxatasp_port_b
libspectrum_byte zxatasp_port_c
libspectrum_byte zxatasp_control
size_t zxatasp_pages
size_t zxatasp_current_page
libspectrum_byte* zxatasp_ram 1

int zxcf_active
int zxcf_upload
libspectrum_byte zxcf_memctl
size_t zxcf_pages
libspectrum_byte* zxcf_ram 1

int interface2_active
libspectrum_byte* interface2_rom 1

int dock_active
libspectrum_byte exrom_ram 1
libspectrum_byte* exrom_cart 1
libspectrum_byte dock_ram 1
libspectrum_byte* dock_cart 1

int issue2

size_t joystick_active_count
libspectrum_joystick joystick_list 1
int joystick_inputs 1

int kempston_mouse_active

int simpleide_active

int divide_active
int divide_eprom_writeprotect
int divide_paged
libspectrum_byte divide_control
size_t divide_pages
libspectrum_byte* divide_eprom 1
libspectrum_byte* divide_ram 1

int fuller_box_active

int melodik_active

int specdrum_active
libspectrum_signed_byte specdrum_dac

int spectranet_active
int spectranet_paged
int spectranet_paged_via_io
int spectranet_nmi_flipflop
int spectranet_programmable_trap_active
int spectranet_programmable_trap_msb
int spectranet_all_traps_disabled
int spectranet_rst8_trap_disabled
int spectranet_deny_downstream_a15
int spectranet_page_a
int spectranet_page_b
libspectrum_word spectranet_programmable_trap
libspectrum_byte* spectranet_w5100 1
libspectrum_byte* spectranet_flash 1
libspectrum_byte* spectranet_ram 1

int late_timings

int zx_printer_active

int usource_active
int usource_paged
int usource_custom_rom
libspectrum_byte* usource_rom 1
size_t usource_rom_length 1

int disciple_active
int disciple_paged
int disciple_inhibit_button
int disciple_drive_count
int disciple_custom_rom
size_t disciple_rom_length 1
int disciple_direction
libspectrum_byte disciple_control
libspectrum_byte disciple_track
libspectrum_byte disciple_sector
libspectrum_byte disciple_data
libspectrum_byte disciple_status
libspectrum_byte* disciple_rom 1
libspectrum_byte* disciple_ram 1

int didaktik80_active
int didaktik80_paged
int didaktik80_drive_count
int didaktik80_custom_rom
size_t didaktik80_rom_length 1
int didaktik80_direction
libspectrum_byte didaktik80_aux
libspectrum_byte didaktik80_track
libspectrum_byte didaktik80_sector
libspectrum_byte didaktik80_data
libspectrum_byte didaktik80_status
libspectrum_byte* didaktik80_rom 1
libspectrum_byte* didaktik80_ram 1
