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

Go to the source code of this file.

Macros

#define KEY_NONE   0xff
#define KEY_0   0x0a
#define KEY_1   0x01
#define KEY_2   0x02
#define KEY_3   0x03
#define KEY_4   0x04
#define KEY_5   0x05
#define KEY_6   0x06
#define KEY_7   0x0d
#define KEY_8   0x0c
#define KEY_9   0x0b
#define KEY_A   0x10
#define KEY_ASTERISK   0x08
#define KEY_AT   0x00
#define KEY_B   0x31
#define KEY_C   0x2f
#define KEY_CLEAR   0x38
#define KEY_COLON   0x34
#define KEY_COMMA   0x33
#define KEY_COMMODORE   0x00
#define KEY_CONTROL   0x0f
#define KEY_CRSR_LEFT_RIGHT   0x00
#define KEY_CRSR_UP_DOWN   0x00
#define KEY_D   0x22
#define KEY_DELETE   0x38
#define KEY_E   0x12
#define KEY_EQUAL   0x00
#define KEY_F   0x23
#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   0x24
#define KEY_H   0x25
#define KEY_HOME   0x1f
#define KEY_I   0x1a
#define KEY_INSERT   0x37
#define KEY_J   0x29
#define KEY_K   0x28
#define KEY_L   0x27
#define KEY_LEFT_ARROW   0x00
#define KEY_LEFT_SHIFT   0x00
#define KEY_M   0x26
#define KEY_MINUS   0x00
#define KEY_N   0x2c
#define KEY_O   0x19
#define KEY_P   0x18
#define KEY_PERIOD   0x34
#define KEY_PLUS   0x00
#define KEY_POUND   0x00
#define KEY_Q   0x20
#define KEY_R   0x13
#define KEY_RETURN   0x0d
#define KEY_RIGHT_SHIFT   0x00
#define KEY_RUNSTOP   0x00
#define KEY_S   0x21
#define KEY_SEMICOLON   0x33
#define KEY_SLASH   0x00
#define KEY_SPACE   0x39
#define KEY_T   0x14
#define KEY_U   0x1b
#define KEY_UP_ARROW   0x00
#define KEY_V   0x30
#define KEY_W   0x2d
#define KEY_X   0x2e
#define KEY_Y   0x15
#define KEY_Z   0x11
#define KEY_BACKSLASH   0x16
#define KEY_SQUARE_OPEN   0x00
#define KEY_SQUARE_CLOSED   0x00
#define KEY_SEMICOMMA   0x00
#define KEY_QUOTE   0x00
#define KEY_APIX   0x00
#define KEY_DEAD   0x00
#define KEY_SHIFT   0x36
#define KEY_CTRL   0x0f
#define KEY_GRAPH   0x00
#define KEY_CAPS   0x00
#define KEY_CODE   0x00
#define KEY_ESC   0x00
#define KEY_TAB   0x00
#define KEY_STOP   0xff
#define KEY_BS   0x38
#define KEY_SELECT   0x00
#define KEY_RET   0x00
#define KEY_INS   0x00
#define KEY_DEL   0x38
#define KEY_LEFT   0x1c
#define KEY_UP   0x0e
#define KEY_DOWN   0x2b
#define KEY_RIGHT   0x1d
#define KEY_DIVISION   0x00
#define KEYBOARD_CONFIG_DEFAULT_SYNC   1
#define JOY_COUNT   0
#define JOYSTICK_0   0
#define JOYSTICK_1   1
#define JOYSTICK_COUNT   0
#define JOY_UP   0
#define JOY_DOWN   1
#define JOY_LEFT   2
#define JOY_RIGHT   3
#define JOY_FIRE   4
#define JOYSTICK_CONFIG_DEFAULT_SYNC   1
#define INPUT_DEFAULT_SEPARATOR   ','
#define INPUT_DEFAULT_SIZE   32
#define INPUT_DEFAULT_CURSOR   0x60
#define INPUT_DEFAULT_RATE   16
#define SCREEN_CAPABILITIES   ( ( 1<<TILEMAP_NATIVE ) | ( 1<<BITMAP_NATIVE ) )
#define DEFAULT_PAINT_BUCKET_SIZE   512
#define BANK_COUNT   0
#define BANK_SIZE   16128
#define BANK_BASE_ADDRESS   0xB000
#define MAX_AUDIO_CHANNELS   1
#define BASE_SEGMENT   0xa7
#define EF936X_COMPONENT_BITMASK   0
#define DSTRING_DEFAULT_COUNT   127
#define DSTRING_DEFAULT_SPACE   1024

Functions

void mo5_xpen (Environment *_environment, char *_destination)
void mo5_ypen (Environment *_environment, char *_destination)
void mo5_wait_key (Environment *_environment, int _release)
void mo5_wait_fire (Environment *_environment, int _port, int _release)
void mo5_wait_fire_semivar (Environment *_environment, char *_port, int _release)
void mo5_wait_key_or_fire (Environment *_environment, int _port, int _release)
void mo5_wait_key_or_fire_semivar (Environment *_environment, char *_port, int _release)
void mo5_key_state (Environment *_environment, char *_scancode, char *_result)
void mo5_scancode (Environment *_environment, char *_scacode)
void mo5_asciicode (Environment *_environment, char *_asciicode)
void mo5_inkey (Environment *_environment, char *_key)
void mo5_key_pressed (Environment *_environment, char *_scancode, char *_result)
void mo5_put_key (Environment *_environment, char *_string, char *_size)
void mo5_scanshift (Environment *_environment, char *_shifts)
void mo5_keyshift (Environment *_environment, char *_shifts)
void mo5_clear_key (Environment *_environment)
void mo5_busy_wait (Environment *_environment, char *_timing)
int convertbintok7 (Environment *_environment)
int convertbintok7_original (Environment *_environment)
void mo5_joystick_semivars (Environment *_environment, int _joystick, char *_result)
void mo5_joystick_vars (Environment *_environment, char *_joystick, char *_result)
void mo5_sys_call (Environment *_environment, int _destination)
void mo5_timer_set_status_on (Environment *_environment, char *_timer)
void mo5_timer_set_status_off (Environment *_environment, char *_timer)
void mo5_timer_set_counter (Environment *_environment, char *_timer, char *_counter)
void mo5_timer_set_init (Environment *_environment, char *_timer, char *_init)
void mo5_timer_set_address (Environment *_environment, char *_timer, char *_address)

Macro Definition Documentation

◆ BANK_BASE_ADDRESS

#define BANK_BASE_ADDRESS   0xB000

Definition at line 159 of file mo5.h.

◆ BANK_COUNT

#define BANK_COUNT   0

Definition at line 157 of file mo5.h.

◆ BANK_SIZE

#define BANK_SIZE   16128

Definition at line 158 of file mo5.h.

◆ BASE_SEGMENT

#define BASE_SEGMENT   0xa7

Definition at line 163 of file mo5.h.

◆ DEFAULT_PAINT_BUCKET_SIZE

#define DEFAULT_PAINT_BUCKET_SIZE   512

Definition at line 155 of file mo5.h.

◆ DSTRING_DEFAULT_COUNT

#define DSTRING_DEFAULT_COUNT   127

Definition at line 167 of file mo5.h.

◆ DSTRING_DEFAULT_SPACE

#define DSTRING_DEFAULT_SPACE   1024

Definition at line 168 of file mo5.h.

◆ EF936X_COMPONENT_BITMASK

#define EF936X_COMPONENT_BITMASK   0

Definition at line 165 of file mo5.h.

◆ INPUT_DEFAULT_CURSOR

#define INPUT_DEFAULT_CURSOR   0x60

Definition at line 150 of file mo5.h.

◆ INPUT_DEFAULT_RATE

#define INPUT_DEFAULT_RATE   16

Definition at line 151 of file mo5.h.

◆ INPUT_DEFAULT_SEPARATOR

#define INPUT_DEFAULT_SEPARATOR   ','

Definition at line 148 of file mo5.h.

◆ INPUT_DEFAULT_SIZE

#define INPUT_DEFAULT_SIZE   32

Definition at line 149 of file mo5.h.

◆ JOY_COUNT

#define JOY_COUNT   0

Definition at line 135 of file mo5.h.

◆ JOY_DOWN

#define JOY_DOWN   1

Definition at line 141 of file mo5.h.

◆ JOY_FIRE

#define JOY_FIRE   4

Definition at line 144 of file mo5.h.

◆ JOY_LEFT

#define JOY_LEFT   2

Definition at line 142 of file mo5.h.

◆ JOY_RIGHT

#define JOY_RIGHT   3

Definition at line 143 of file mo5.h.

◆ JOY_UP

#define JOY_UP   0

Definition at line 140 of file mo5.h.

◆ JOYSTICK_0

#define JOYSTICK_0   0

Definition at line 136 of file mo5.h.

◆ JOYSTICK_1

#define JOYSTICK_1   1

Definition at line 137 of file mo5.h.

◆ JOYSTICK_CONFIG_DEFAULT_SYNC

#define JOYSTICK_CONFIG_DEFAULT_SYNC   1

Definition at line 146 of file mo5.h.

◆ JOYSTICK_COUNT

#define JOYSTICK_COUNT   0

Definition at line 138 of file mo5.h.

◆ KEY_0

#define KEY_0   0x0a

Definition at line 37 of file mo5.h.

◆ KEY_1

#define KEY_1   0x01

Definition at line 38 of file mo5.h.

◆ KEY_2

#define KEY_2   0x02

Definition at line 39 of file mo5.h.

◆ KEY_3

#define KEY_3   0x03

Definition at line 40 of file mo5.h.

◆ KEY_4

#define KEY_4   0x04

Definition at line 41 of file mo5.h.

◆ KEY_5

#define KEY_5   0x05

Definition at line 42 of file mo5.h.

◆ KEY_6

#define KEY_6   0x06

Definition at line 43 of file mo5.h.

◆ KEY_7

#define KEY_7   0x0d

Definition at line 44 of file mo5.h.

◆ KEY_8

#define KEY_8   0x0c

Definition at line 45 of file mo5.h.

◆ KEY_9

#define KEY_9   0x0b

Definition at line 46 of file mo5.h.

◆ KEY_A

#define KEY_A   0x10

Definition at line 47 of file mo5.h.

◆ KEY_APIX

#define KEY_APIX   0x00

Definition at line 112 of file mo5.h.

◆ KEY_ASTERISK

#define KEY_ASTERISK   0x08

Definition at line 48 of file mo5.h.

◆ KEY_AT

#define KEY_AT   0x00

Definition at line 49 of file mo5.h.

◆ KEY_B

#define KEY_B   0x31

Definition at line 50 of file mo5.h.

◆ KEY_BACKSLASH

#define KEY_BACKSLASH   0x16

Definition at line 107 of file mo5.h.

◆ KEY_BS

#define KEY_BS   0x38

Definition at line 122 of file mo5.h.

◆ KEY_C

#define KEY_C   0x2f

Definition at line 51 of file mo5.h.

◆ KEY_CAPS

#define KEY_CAPS   0x00

Definition at line 117 of file mo5.h.

◆ KEY_CLEAR

#define KEY_CLEAR   0x38

Definition at line 52 of file mo5.h.

◆ KEY_CODE

#define KEY_CODE   0x00

Definition at line 118 of file mo5.h.

◆ KEY_COLON

#define KEY_COLON   0x34

Definition at line 53 of file mo5.h.

◆ KEY_COMMA

#define KEY_COMMA   0x33

Definition at line 54 of file mo5.h.

◆ KEY_COMMODORE

#define KEY_COMMODORE   0x00

Definition at line 55 of file mo5.h.

◆ KEY_CONTROL

#define KEY_CONTROL   0x0f

Definition at line 56 of file mo5.h.

◆ KEY_CRSR_LEFT_RIGHT

#define KEY_CRSR_LEFT_RIGHT   0x00

Definition at line 57 of file mo5.h.

◆ KEY_CRSR_UP_DOWN

#define KEY_CRSR_UP_DOWN   0x00

Definition at line 58 of file mo5.h.

◆ KEY_CTRL

#define KEY_CTRL   0x0f

Definition at line 115 of file mo5.h.

◆ KEY_D

#define KEY_D   0x22

Definition at line 59 of file mo5.h.

◆ KEY_DEAD

#define KEY_DEAD   0x00

Definition at line 113 of file mo5.h.

◆ KEY_DEL

#define KEY_DEL   0x38

Definition at line 126 of file mo5.h.

◆ KEY_DELETE

#define KEY_DELETE   0x38

Definition at line 60 of file mo5.h.

◆ KEY_DIVISION

#define KEY_DIVISION   0x00

Definition at line 131 of file mo5.h.

◆ KEY_DOWN

#define KEY_DOWN   0x2b

Definition at line 129 of file mo5.h.

◆ KEY_E

#define KEY_E   0x12

Definition at line 61 of file mo5.h.

◆ KEY_EQUAL

#define KEY_EQUAL   0x00

Definition at line 62 of file mo5.h.

◆ KEY_ESC

#define KEY_ESC   0x00

Definition at line 119 of file mo5.h.

◆ KEY_F

#define KEY_F   0x23

Definition at line 63 of file mo5.h.

◆ KEY_F1

#define KEY_F1   0x00

Definition at line 64 of file mo5.h.

◆ KEY_F2

#define KEY_F2   0x00

Definition at line 65 of file mo5.h.

◆ KEY_F3

#define KEY_F3   0x00

Definition at line 66 of file mo5.h.

◆ KEY_F4

#define KEY_F4   0x00

Definition at line 67 of file mo5.h.

◆ KEY_F5

#define KEY_F5   0x00

Definition at line 68 of file mo5.h.

◆ KEY_F6

#define KEY_F6   0x00

Definition at line 69 of file mo5.h.

◆ KEY_F7

#define KEY_F7   0x00

Definition at line 70 of file mo5.h.

◆ KEY_F8

#define KEY_F8   0x00

Definition at line 71 of file mo5.h.

◆ KEY_G

#define KEY_G   0x24

Definition at line 72 of file mo5.h.

◆ KEY_GRAPH

#define KEY_GRAPH   0x00

Definition at line 116 of file mo5.h.

◆ KEY_H

#define KEY_H   0x25

Definition at line 73 of file mo5.h.

◆ KEY_HOME

#define KEY_HOME   0x1f

Definition at line 74 of file mo5.h.

◆ KEY_I

#define KEY_I   0x1a

Definition at line 75 of file mo5.h.

◆ KEY_INS

#define KEY_INS   0x00

Definition at line 125 of file mo5.h.

◆ KEY_INSERT

#define KEY_INSERT   0x37

Definition at line 76 of file mo5.h.

◆ KEY_J

#define KEY_J   0x29

Definition at line 77 of file mo5.h.

◆ KEY_K

#define KEY_K   0x28

Definition at line 78 of file mo5.h.

◆ KEY_L

#define KEY_L   0x27

Definition at line 79 of file mo5.h.

◆ KEY_LEFT

#define KEY_LEFT   0x1c

Definition at line 127 of file mo5.h.

◆ KEY_LEFT_ARROW

#define KEY_LEFT_ARROW   0x00

Definition at line 80 of file mo5.h.

◆ KEY_LEFT_SHIFT

#define KEY_LEFT_SHIFT   0x00

Definition at line 81 of file mo5.h.

◆ KEY_M

#define KEY_M   0x26

Definition at line 82 of file mo5.h.

◆ KEY_MINUS

#define KEY_MINUS   0x00

Definition at line 83 of file mo5.h.

◆ KEY_N

#define KEY_N   0x2c

Definition at line 84 of file mo5.h.

◆ KEY_NONE

#define KEY_NONE   0xff

Definition at line 36 of file mo5.h.

◆ KEY_O

#define KEY_O   0x19

Definition at line 85 of file mo5.h.

◆ KEY_P

#define KEY_P   0x18

Definition at line 86 of file mo5.h.

◆ KEY_PERIOD

#define KEY_PERIOD   0x34

Definition at line 87 of file mo5.h.

◆ KEY_PLUS

#define KEY_PLUS   0x00

Definition at line 88 of file mo5.h.

◆ KEY_POUND

#define KEY_POUND   0x00

Definition at line 89 of file mo5.h.

◆ KEY_Q

#define KEY_Q   0x20

Definition at line 90 of file mo5.h.

◆ KEY_QUOTE

#define KEY_QUOTE   0x00

Definition at line 111 of file mo5.h.

◆ KEY_R

#define KEY_R   0x13

Definition at line 91 of file mo5.h.

◆ KEY_RET

#define KEY_RET   0x00

Definition at line 124 of file mo5.h.

◆ KEY_RETURN

#define KEY_RETURN   0x0d

Definition at line 92 of file mo5.h.

◆ KEY_RIGHT

#define KEY_RIGHT   0x1d

Definition at line 130 of file mo5.h.

◆ KEY_RIGHT_SHIFT

#define KEY_RIGHT_SHIFT   0x00

Definition at line 93 of file mo5.h.

◆ KEY_RUNSTOP

#define KEY_RUNSTOP   0x00

Definition at line 94 of file mo5.h.

◆ KEY_S

#define KEY_S   0x21

Definition at line 95 of file mo5.h.

◆ KEY_SELECT

#define KEY_SELECT   0x00

Definition at line 123 of file mo5.h.

◆ KEY_SEMICOLON

#define KEY_SEMICOLON   0x33

Definition at line 96 of file mo5.h.

◆ KEY_SEMICOMMA

#define KEY_SEMICOMMA   0x00

Definition at line 110 of file mo5.h.

◆ KEY_SHIFT

#define KEY_SHIFT   0x36

Definition at line 114 of file mo5.h.

◆ KEY_SLASH

#define KEY_SLASH   0x00

Definition at line 97 of file mo5.h.

◆ KEY_SPACE

#define KEY_SPACE   0x39

Definition at line 98 of file mo5.h.

◆ KEY_SQUARE_CLOSED

#define KEY_SQUARE_CLOSED   0x00

Definition at line 109 of file mo5.h.

◆ KEY_SQUARE_OPEN

#define KEY_SQUARE_OPEN   0x00

Definition at line 108 of file mo5.h.

◆ KEY_STOP

#define KEY_STOP   0xff

Definition at line 121 of file mo5.h.

◆ KEY_T

#define KEY_T   0x14

Definition at line 99 of file mo5.h.

◆ KEY_TAB

#define KEY_TAB   0x00

Definition at line 120 of file mo5.h.

◆ KEY_U

#define KEY_U   0x1b

Definition at line 100 of file mo5.h.

◆ KEY_UP

#define KEY_UP   0x0e

Definition at line 128 of file mo5.h.

◆ KEY_UP_ARROW

#define KEY_UP_ARROW   0x00

Definition at line 101 of file mo5.h.

◆ KEY_V

#define KEY_V   0x30

Definition at line 102 of file mo5.h.

◆ KEY_W

#define KEY_W   0x2d

Definition at line 103 of file mo5.h.

◆ KEY_X

#define KEY_X   0x2e

Definition at line 104 of file mo5.h.

◆ KEY_Y

#define KEY_Y   0x15

Definition at line 105 of file mo5.h.

◆ KEY_Z

#define KEY_Z   0x11

Definition at line 106 of file mo5.h.

◆ KEYBOARD_CONFIG_DEFAULT_SYNC

#define KEYBOARD_CONFIG_DEFAULT_SYNC   1

Definition at line 133 of file mo5.h.

◆ MAX_AUDIO_CHANNELS

#define MAX_AUDIO_CHANNELS   1

Definition at line 161 of file mo5.h.

◆ SCREEN_CAPABILITIES

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

Definition at line 153 of file mo5.h.

Function Documentation

◆ convertbintok7()

int convertbintok7 ( Environment * _environment)

Definition at line 120 of file _cleanup.c.

◆ convertbintok7_original()

int convertbintok7_original ( Environment * _environment)

Definition at line 129 of file _cleanup_original.c.

◆ mo5_asciicode()

void mo5_asciicode ( Environment * _environment,
char * _asciicode )

Definition at line 187 of file mo5.c.

◆ mo5_busy_wait()

void mo5_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 255 of file mo5.c.

◆ mo5_clear_key()

void mo5_clear_key ( Environment * _environment)

Definition at line 231 of file mo5.c.

◆ mo5_inkey()

void mo5_inkey ( Environment * _environment,
char * _key )

Definition at line 82 of file mo5.c.

◆ mo5_joystick_semivars()

void mo5_joystick_semivars ( Environment * _environment,
int _joystick,
char * _result )

Definition at line 267 of file mo5.c.

◆ mo5_joystick_vars()

void mo5_joystick_vars ( Environment * _environment,
char * _joystick,
char * _result )

Definition at line 286 of file mo5.c.

◆ mo5_key_pressed()

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

Definition at line 198 of file mo5.c.

◆ mo5_key_state()

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

Definition at line 161 of file mo5.c.

◆ mo5_keyshift()

void mo5_keyshift ( Environment * _environment,
char * _shifts )

Definition at line 220 of file mo5.c.

◆ mo5_put_key()

void mo5_put_key ( Environment * _environment,
char * _string,
char * _size )

Definition at line 396 of file mo5.c.

◆ mo5_scancode()

void mo5_scancode ( Environment * _environment,
char * _scacode )

Definition at line 176 of file mo5.c.

◆ mo5_scanshift()

void mo5_scanshift ( Environment * _environment,
char * _shifts )

Definition at line 214 of file mo5.c.

◆ mo5_sys_call()

void mo5_sys_call ( Environment * _environment,
int _destination )

Definition at line 305 of file mo5.c.

◆ mo5_timer_set_address()

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

Definition at line 381 of file mo5.c.

◆ mo5_timer_set_counter()

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

Definition at line 347 of file mo5.c.

◆ mo5_timer_set_init()

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

Definition at line 366 of file mo5.c.

◆ mo5_timer_set_status_off()

void mo5_timer_set_status_off ( Environment * _environment,
char * _timer )

Definition at line 332 of file mo5.c.

◆ mo5_timer_set_status_on()

void mo5_timer_set_status_on ( Environment * _environment,
char * _timer )

Definition at line 317 of file mo5.c.

◆ mo5_wait_fire()

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

Definition at line 119 of file mo5.c.

◆ mo5_wait_fire_semivar()

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

Definition at line 140 of file mo5.c.

◆ mo5_wait_key()

void mo5_wait_key ( Environment * _environment,
int _release )

Definition at line 93 of file mo5.c.

◆ mo5_wait_key_or_fire()

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

Definition at line 107 of file mo5.c.

◆ mo5_wait_key_or_fire_semivar()

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

Definition at line 113 of file mo5.c.

◆ mo5_xpen()

void mo5_xpen ( Environment * _environment,
char * _destination )

Definition at line 44 of file mo5.c.

◆ mo5_ypen()

void mo5_ypen ( Environment * _environment,
char * _destination )

Definition at line 55 of file mo5.c.