ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
sg1000.h File Reference
#include "../ugbc.h"

Go to the source code of this file.

Macros

#define KEY_NONE   64
#define KEY_0   '0'
#define KEY_1   '1'
#define KEY_2   '2'
#define KEY_3   '3'
#define KEY_4   '4'
#define KEY_5   '5'
#define KEY_6   '6'
#define KEY_7   '7'
#define KEY_8   '8'
#define KEY_9   '9'
#define KEY_A   'A'
#define KEY_ASTERISK   '*'
#define KEY_AT   '@'
#define KEY_B   'B'
#define KEY_C   'C'
#define KEY_CLEAR   0xf9
#define KEY_COLON   ':'
#define KEY_COMMA   ','
#define KEY_COMMODORE   0x00
#define KEY_CONTROL   0x00
#define KEY_CRSR_LEFT_RIGHT   0x00
#define KEY_CRSR_UP_DOWN   0x00
#define KEY_D   'D'
#define KEY_DELETE   0x90
#define KEY_E   'E'
#define KEY_EQUAL   '='
#define KEY_F   'F'
#define KEY_F1   0x00
#define KEY_F2   0x00
#define KEY_F3   0x00
#define KEY_F4   0x00
#define KEY_F5   0x00
#define KEY_F6   0x00
#define KEY_F7   0x00
#define KEY_F8   0x00
#define KEY_G   'G'
#define KEY_H   'H'
#define KEY_HOME   0x88
#define KEY_I   'I'
#define KEY_INSERT   0x89
#define KEY_J   'J'
#define KEY_K   'K'
#define KEY_L   'L'
#define KEY_LEFT_ARROW   0x91
#define KEY_LEFT_SHIFT   0x81
#define KEY_M   'M'
#define KEY_MINUS   '-'
#define KEY_N   'N'
#define KEY_O   'O'
#define KEY_P   'P'
#define KEY_PERIOD   '.'
#define KEY_PLUS   '+'
#define KEY_POUND   0x00
#define KEY_Q   'Q'
#define KEY_R   'R'
#define KEY_RETURN   0x0d
#define KEY_RIGHT_SHIFT   0x81
#define KEY_RUNSTOP   0x86
#define KEY_S   'S'
#define KEY_SEMICOLON   ';'
#define KEY_SLASH   '/'
#define KEY_SPACE   ' '
#define KEY_T   'T'
#define KEY_U   'U'
#define KEY_UP_ARROW   0x92
#define KEY_V   'V'
#define KEY_W   'W'
#define KEY_X   'X'
#define KEY_Y   'Y'
#define KEY_Z   'Z'
#define KEY_BACKSLASH   '\\'
#define KEY_SQUARE_OPEN   0x00
#define KEY_SQUARE_CLOSED   0x00
#define KEY_SEMICOMMA   ';'
#define KEY_QUOTE   '"'
#define KEY_APIX   0x00
#define KEY_DEAD   0x00
#define KEY_SHIFT   0x81
#define KEY_CTRL   0x82
#define KEY_GRAPH   0x83
#define KEY_CAPS   0x84
#define KEY_CODE   0x85
#define KEY_ESC   0x27
#define KEY_TAB   0x09
#define KEY_STOP   0x86
#define KEY_BS   0x08
#define KEY_SELECT   0x87
#define KEY_RET   0x0d
#define KEY_INS   0x89
#define KEY_DEL   0x90
#define KEY_LEFT   0x91
#define KEY_UP   0x92
#define KEY_DOWN   0x93
#define KEY_RIGHT   0x94
#define KEY_DIVISION   '/'
#define KEYBOARD_CONFIG_DEFAULT_SYNC   1
#define INPUT_DEFAULT_SEPARATOR   ','
#define INPUT_DEFAULT_SIZE   32
#define INPUT_DEFAULT_CURSOR   0x60
#define SCREEN_CAPABILITIES   ( ( 1<<TILEMAP_NATIVE ) | ( 1<<BITMAP_NATIVE ) )
#define DEFAULT_PAINT_BUCKET_SIZE   128
#define BANK_COUNT   0
#define BANK_SIZE   0
#define BANK_BASE_ADDRESS   0
#define JOY_COUNT   2
#define JOY_UP   0
#define JOY_DOWN   1
#define JOY_LEFT   2
#define JOY_RIGHT   3
#define JOY_FIRE   4
#define JOY_FIRE_LEFT   4
#define JOY_FIRE_RIGHT   5
#define JOYSTICK_CONFIG_DEFAULT_SYNC   1
#define MAX_AUDIO_CHANNELS   3
#define DSTRING_DEFAULT_COUNT   16
#define DSTRING_DEFAULT_SPACE   128

Functions

void sg1000_inkey (Environment *_environment, char *_pressed, char *_key)
void sg1000_wait_fire (Environment *_environment, int _port, int _release)
void sg1000_wait_fire_semivar (Environment *_environment, char *_port, int _release)
void sg1000_wait_key_or_fire (Environment *_environment, int _port, int _release)
void sg1000_wait_key_or_fire_semivar (Environment *_environment, char *_port, int _release)
void sg1000_scancode (Environment *_environment, char *_pressed, char *_scacode)
void sg1000_key_pressed (Environment *_environment, char *_scancode, char *_result)
void sg1000_scanshift (Environment *_environment, char *_shifts)
void sg1000_keyshift (Environment *_environment, char *_shifts)
void sg1000_clear_key (Environment *_environment)
void sg1000_irq_at (Environment *_environment, char *_label)
void sg1000_sys_call (Environment *_environment, int _destination)
void sg1000_timer_set_status_on (Environment *_environment, char *_timer)
void sg1000_timer_set_status_off (Environment *_environment, char *_timer)
void sg1000_timer_set_counter (Environment *_environment, char *_timer, char *_counter)
void sg1000_timer_set_init (Environment *_environment, char *_timer, char *_init)
void sg1000_timer_set_address (Environment *_environment, char *_timer, char *_address)

Macro Definition Documentation

◆ BANK_BASE_ADDRESS

#define BANK_BASE_ADDRESS   0

Definition at line 145 of file sg1000.h.

◆ BANK_COUNT

#define BANK_COUNT   0

Definition at line 143 of file sg1000.h.

◆ BANK_SIZE

#define BANK_SIZE   0

Definition at line 144 of file sg1000.h.

◆ DEFAULT_PAINT_BUCKET_SIZE

#define DEFAULT_PAINT_BUCKET_SIZE   128

Definition at line 141 of file sg1000.h.

◆ DSTRING_DEFAULT_COUNT

#define DSTRING_DEFAULT_COUNT   16

Definition at line 161 of file sg1000.h.

◆ DSTRING_DEFAULT_SPACE

#define DSTRING_DEFAULT_SPACE   128

Definition at line 162 of file sg1000.h.

◆ INPUT_DEFAULT_CURSOR

#define INPUT_DEFAULT_CURSOR   0x60

Definition at line 137 of file sg1000.h.

◆ INPUT_DEFAULT_SEPARATOR

#define INPUT_DEFAULT_SEPARATOR   ','

Definition at line 135 of file sg1000.h.

◆ INPUT_DEFAULT_SIZE

#define INPUT_DEFAULT_SIZE   32

Definition at line 136 of file sg1000.h.

◆ JOY_COUNT

#define JOY_COUNT   2

Definition at line 147 of file sg1000.h.

◆ JOY_DOWN

#define JOY_DOWN   1

Definition at line 150 of file sg1000.h.

◆ JOY_FIRE

#define JOY_FIRE   4

Definition at line 153 of file sg1000.h.

◆ JOY_FIRE_LEFT

#define JOY_FIRE_LEFT   4

Definition at line 154 of file sg1000.h.

◆ JOY_FIRE_RIGHT

#define JOY_FIRE_RIGHT   5

Definition at line 155 of file sg1000.h.

◆ JOY_LEFT

#define JOY_LEFT   2

Definition at line 151 of file sg1000.h.

◆ JOY_RIGHT

#define JOY_RIGHT   3

Definition at line 152 of file sg1000.h.

◆ JOY_UP

#define JOY_UP   0

Definition at line 149 of file sg1000.h.

◆ JOYSTICK_CONFIG_DEFAULT_SYNC

#define JOYSTICK_CONFIG_DEFAULT_SYNC   1

Definition at line 157 of file sg1000.h.

◆ KEY_0

#define KEY_0   '0'

Definition at line 37 of file sg1000.h.

◆ KEY_1

#define KEY_1   '1'

Definition at line 38 of file sg1000.h.

◆ KEY_2

#define KEY_2   '2'

Definition at line 39 of file sg1000.h.

◆ KEY_3

#define KEY_3   '3'

Definition at line 40 of file sg1000.h.

◆ KEY_4

#define KEY_4   '4'

Definition at line 41 of file sg1000.h.

◆ KEY_5

#define KEY_5   '5'

Definition at line 42 of file sg1000.h.

◆ KEY_6

#define KEY_6   '6'

Definition at line 43 of file sg1000.h.

◆ KEY_7

#define KEY_7   '7'

Definition at line 44 of file sg1000.h.

◆ KEY_8

#define KEY_8   '8'

Definition at line 45 of file sg1000.h.

◆ KEY_9

#define KEY_9   '9'

Definition at line 46 of file sg1000.h.

◆ KEY_A

#define KEY_A   'A'

Definition at line 47 of file sg1000.h.

◆ KEY_APIX

#define KEY_APIX   0x00

Definition at line 112 of file sg1000.h.

◆ KEY_ASTERISK

#define KEY_ASTERISK   '*'

Definition at line 48 of file sg1000.h.

◆ KEY_AT

#define KEY_AT   '@'

Definition at line 49 of file sg1000.h.

◆ KEY_B

#define KEY_B   'B'

Definition at line 50 of file sg1000.h.

◆ KEY_BACKSLASH

#define KEY_BACKSLASH   '\\'

Definition at line 107 of file sg1000.h.

◆ KEY_BS

#define KEY_BS   0x08

Definition at line 122 of file sg1000.h.

◆ KEY_C

#define KEY_C   'C'

Definition at line 51 of file sg1000.h.

◆ KEY_CAPS

#define KEY_CAPS   0x84

Definition at line 117 of file sg1000.h.

◆ KEY_CLEAR

#define KEY_CLEAR   0xf9

Definition at line 52 of file sg1000.h.

◆ KEY_CODE

#define KEY_CODE   0x85

Definition at line 118 of file sg1000.h.

◆ KEY_COLON

#define KEY_COLON   ':'

Definition at line 53 of file sg1000.h.

◆ KEY_COMMA

#define KEY_COMMA   ','

Definition at line 54 of file sg1000.h.

◆ KEY_COMMODORE

#define KEY_COMMODORE   0x00

Definition at line 55 of file sg1000.h.

◆ KEY_CONTROL

#define KEY_CONTROL   0x00

Definition at line 56 of file sg1000.h.

◆ KEY_CRSR_LEFT_RIGHT

#define KEY_CRSR_LEFT_RIGHT   0x00

Definition at line 57 of file sg1000.h.

◆ KEY_CRSR_UP_DOWN

#define KEY_CRSR_UP_DOWN   0x00

Definition at line 58 of file sg1000.h.

◆ KEY_CTRL

#define KEY_CTRL   0x82

Definition at line 115 of file sg1000.h.

◆ KEY_D

#define KEY_D   'D'

Definition at line 59 of file sg1000.h.

◆ KEY_DEAD

#define KEY_DEAD   0x00

Definition at line 113 of file sg1000.h.

◆ KEY_DEL

#define KEY_DEL   0x90

Definition at line 126 of file sg1000.h.

◆ KEY_DELETE

#define KEY_DELETE   0x90

Definition at line 60 of file sg1000.h.

◆ KEY_DIVISION

#define KEY_DIVISION   '/'

Definition at line 131 of file sg1000.h.

◆ KEY_DOWN

#define KEY_DOWN   0x93

Definition at line 129 of file sg1000.h.

◆ KEY_E

#define KEY_E   'E'

Definition at line 61 of file sg1000.h.

◆ KEY_EQUAL

#define KEY_EQUAL   '='

Definition at line 62 of file sg1000.h.

◆ KEY_ESC

#define KEY_ESC   0x27

Definition at line 119 of file sg1000.h.

◆ KEY_F

#define KEY_F   'F'

Definition at line 63 of file sg1000.h.

◆ KEY_F1

#define KEY_F1   0x00

Definition at line 64 of file sg1000.h.

◆ KEY_F2

#define KEY_F2   0x00

Definition at line 65 of file sg1000.h.

◆ KEY_F3

#define KEY_F3   0x00

Definition at line 66 of file sg1000.h.

◆ KEY_F4

#define KEY_F4   0x00

Definition at line 67 of file sg1000.h.

◆ KEY_F5

#define KEY_F5   0x00

Definition at line 68 of file sg1000.h.

◆ KEY_F6

#define KEY_F6   0x00

Definition at line 69 of file sg1000.h.

◆ KEY_F7

#define KEY_F7   0x00

Definition at line 70 of file sg1000.h.

◆ KEY_F8

#define KEY_F8   0x00

Definition at line 71 of file sg1000.h.

◆ KEY_G

#define KEY_G   'G'

Definition at line 72 of file sg1000.h.

◆ KEY_GRAPH

#define KEY_GRAPH   0x83

Definition at line 116 of file sg1000.h.

◆ KEY_H

#define KEY_H   'H'

Definition at line 73 of file sg1000.h.

◆ KEY_HOME

#define KEY_HOME   0x88

Definition at line 74 of file sg1000.h.

◆ KEY_I

#define KEY_I   'I'

Definition at line 75 of file sg1000.h.

◆ KEY_INS

#define KEY_INS   0x89

Definition at line 125 of file sg1000.h.

◆ KEY_INSERT

#define KEY_INSERT   0x89

Definition at line 76 of file sg1000.h.

◆ KEY_J

#define KEY_J   'J'

Definition at line 77 of file sg1000.h.

◆ KEY_K

#define KEY_K   'K'

Definition at line 78 of file sg1000.h.

◆ KEY_L

#define KEY_L   'L'

Definition at line 79 of file sg1000.h.

◆ KEY_LEFT

#define KEY_LEFT   0x91

Definition at line 127 of file sg1000.h.

◆ KEY_LEFT_ARROW

#define KEY_LEFT_ARROW   0x91

Definition at line 80 of file sg1000.h.

◆ KEY_LEFT_SHIFT

#define KEY_LEFT_SHIFT   0x81

Definition at line 81 of file sg1000.h.

◆ KEY_M

#define KEY_M   'M'

Definition at line 82 of file sg1000.h.

◆ KEY_MINUS

#define KEY_MINUS   '-'

Definition at line 83 of file sg1000.h.

◆ KEY_N

#define KEY_N   'N'

Definition at line 84 of file sg1000.h.

◆ KEY_NONE

#define KEY_NONE   64

Definition at line 36 of file sg1000.h.

◆ KEY_O

#define KEY_O   'O'

Definition at line 85 of file sg1000.h.

◆ KEY_P

#define KEY_P   'P'

Definition at line 86 of file sg1000.h.

◆ KEY_PERIOD

#define KEY_PERIOD   '.'

Definition at line 87 of file sg1000.h.

◆ KEY_PLUS

#define KEY_PLUS   '+'

Definition at line 88 of file sg1000.h.

◆ KEY_POUND

#define KEY_POUND   0x00

Definition at line 89 of file sg1000.h.

◆ KEY_Q

#define KEY_Q   'Q'

Definition at line 90 of file sg1000.h.

◆ KEY_QUOTE

#define KEY_QUOTE   '"'

Definition at line 111 of file sg1000.h.

◆ KEY_R

#define KEY_R   'R'

Definition at line 91 of file sg1000.h.

◆ KEY_RET

#define KEY_RET   0x0d

Definition at line 124 of file sg1000.h.

◆ KEY_RETURN

#define KEY_RETURN   0x0d

Definition at line 92 of file sg1000.h.

◆ KEY_RIGHT

#define KEY_RIGHT   0x94

Definition at line 130 of file sg1000.h.

◆ KEY_RIGHT_SHIFT

#define KEY_RIGHT_SHIFT   0x81

Definition at line 93 of file sg1000.h.

◆ KEY_RUNSTOP

#define KEY_RUNSTOP   0x86

Definition at line 94 of file sg1000.h.

◆ KEY_S

#define KEY_S   'S'

Definition at line 95 of file sg1000.h.

◆ KEY_SELECT

#define KEY_SELECT   0x87

Definition at line 123 of file sg1000.h.

◆ KEY_SEMICOLON

#define KEY_SEMICOLON   ';'

Definition at line 96 of file sg1000.h.

◆ KEY_SEMICOMMA

#define KEY_SEMICOMMA   ';'

Definition at line 110 of file sg1000.h.

◆ KEY_SHIFT

#define KEY_SHIFT   0x81

Definition at line 114 of file sg1000.h.

◆ KEY_SLASH

#define KEY_SLASH   '/'

Definition at line 97 of file sg1000.h.

◆ KEY_SPACE

#define KEY_SPACE   ' '

Definition at line 98 of file sg1000.h.

◆ KEY_SQUARE_CLOSED

#define KEY_SQUARE_CLOSED   0x00

Definition at line 109 of file sg1000.h.

◆ KEY_SQUARE_OPEN

#define KEY_SQUARE_OPEN   0x00

Definition at line 108 of file sg1000.h.

◆ KEY_STOP

#define KEY_STOP   0x86

Definition at line 121 of file sg1000.h.

◆ KEY_T

#define KEY_T   'T'

Definition at line 99 of file sg1000.h.

◆ KEY_TAB

#define KEY_TAB   0x09

Definition at line 120 of file sg1000.h.

◆ KEY_U

#define KEY_U   'U'

Definition at line 100 of file sg1000.h.

◆ KEY_UP

#define KEY_UP   0x92

Definition at line 128 of file sg1000.h.

◆ KEY_UP_ARROW

#define KEY_UP_ARROW   0x92

Definition at line 101 of file sg1000.h.

◆ KEY_V

#define KEY_V   'V'

Definition at line 102 of file sg1000.h.

◆ KEY_W

#define KEY_W   'W'

Definition at line 103 of file sg1000.h.

◆ KEY_X

#define KEY_X   'X'

Definition at line 104 of file sg1000.h.

◆ KEY_Y

#define KEY_Y   'Y'

Definition at line 105 of file sg1000.h.

◆ KEY_Z

#define KEY_Z   'Z'

Definition at line 106 of file sg1000.h.

◆ KEYBOARD_CONFIG_DEFAULT_SYNC

#define KEYBOARD_CONFIG_DEFAULT_SYNC   1

Definition at line 133 of file sg1000.h.

◆ MAX_AUDIO_CHANNELS

#define MAX_AUDIO_CHANNELS   3

Definition at line 159 of file sg1000.h.

◆ SCREEN_CAPABILITIES

#define SCREEN_CAPABILITIES   ( ( 1<<TILEMAP_NATIVE ) | ( 1<<BITMAP_NATIVE ) )

Definition at line 139 of file sg1000.h.

Function Documentation

◆ sg1000_clear_key()

void sg1000_clear_key ( Environment * _environment)

Definition at line 136 of file sg1000.c.

◆ sg1000_inkey()

void sg1000_inkey ( Environment * _environment,
char * _pressed,
char * _key )

Definition at line 55 of file sg1000.c.

◆ sg1000_irq_at()

void sg1000_irq_at ( Environment * _environment,
char * _label )

◆ sg1000_key_pressed()

void sg1000_key_pressed ( Environment * _environment,
char * _scancode,
char * _result )

Definition at line 103 of file sg1000.c.

◆ sg1000_keyshift()

void sg1000_keyshift ( Environment * _environment,
char * _shifts )

Definition at line 130 of file sg1000.c.

◆ sg1000_scancode()

void sg1000_scancode ( Environment * _environment,
char * _pressed,
char * _scacode )

Definition at line 96 of file sg1000.c.

◆ sg1000_scanshift()

void sg1000_scanshift ( Environment * _environment,
char * _shifts )

Definition at line 124 of file sg1000.c.

◆ sg1000_sys_call()

void sg1000_sys_call ( Environment * _environment,
int _destination )

Definition at line 141 of file sg1000.c.

◆ sg1000_timer_set_address()

void sg1000_timer_set_address ( Environment * _environment,
char * _timer,
char * _address )

Definition at line 224 of file sg1000.c.

◆ sg1000_timer_set_counter()

void sg1000_timer_set_counter ( Environment * _environment,
char * _timer,
char * _counter )

Definition at line 180 of file sg1000.c.

◆ sg1000_timer_set_init()

void sg1000_timer_set_init ( Environment * _environment,
char * _timer,
char * _init )

Definition at line 202 of file sg1000.c.

◆ sg1000_timer_set_status_off()

void sg1000_timer_set_status_off ( Environment * _environment,
char * _timer )

Definition at line 163 of file sg1000.c.

◆ sg1000_timer_set_status_on()

void sg1000_timer_set_status_on ( Environment * _environment,
char * _timer )

Definition at line 147 of file sg1000.c.

◆ sg1000_wait_fire()

void sg1000_wait_fire ( Environment * _environment,
int _port,
int _release )

Definition at line 74 of file sg1000.c.

◆ sg1000_wait_fire_semivar()

void sg1000_wait_fire_semivar ( Environment * _environment,
char * _port,
int _release )

Definition at line 85 of file sg1000.c.

◆ sg1000_wait_key_or_fire()

void sg1000_wait_key_or_fire ( Environment * _environment,
int _port,
int _release )

Definition at line 62 of file sg1000.c.

◆ sg1000_wait_key_or_fire_semivar()

void sg1000_wait_key_or_fire_semivar ( Environment * _environment,
char * _port,
int _release )

Definition at line 68 of file sg1000.c.