ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
coco.h
Go to the documentation of this file.
1#ifndef __UGBC_COCO__
2#define __UGBC_COCO__
3
4/*****************************************************************************
5 * ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
6 *****************************************************************************
7 * Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
8 *
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 *----------------------------------------------------------------------------
21 * Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
22 * (la "Licenza"); è proibito usare questo file se non in conformità alla
23 * Licenza. Una copia della Licenza è disponibile all'indirizzo:
24 *
25 * http://www.apache.org/licenses/LICENSE-2.0
26 *
27 * Se non richiesto dalla legislazione vigente o concordato per iscritto,
28 * il software distribuito nei termini della Licenza è distribuito
29 * "COSì COM'è", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
30 * implicite. Consultare la Licenza per il testo specifico che regola le
31 * autorizzazioni e le limitazioni previste dalla medesima.
32 ****************************************************************************/
33
34#include "../ugbc.h"
35
36#define SCREEN_CAPABILITIES ( ( 1<<TILEMAP_NATIVE ) | ( 1<<BITMAP_NATIVE ) )
37
38#define DEFAULT_PAINT_BUCKET_SIZE 512
39
40#define BANK_COUNT 1
41#define BANK_SIZE 4096
42#define BANK_BASE_ADDRESS 0
43
44#define MAX_AUDIO_CHANNELS 1
45
46#define DSTRING_DEFAULT_COUNT 32
47#define DSTRING_DEFAULT_SPACE 512
48
49void coco_xpen( Environment * _environment, char * _destination );
50void coco_ypen( Environment * _environment, char * _destination );
51void coco_spen( Environment * _environment, char * _destination );
52
53void coco_busy_wait( Environment * _environment, char * _timing );
54
55void coco_sys_call( Environment * _environment, int _destination );
56
57void coco_timer_set_status_on( Environment * _environment, char * _timer );
58void coco_timer_set_status_off( Environment * _environment, char * _timer );
59void coco_timer_set_counter( Environment * _environment, char * _timer, char * _counter );
60void coco_timer_set_init( Environment * _environment, char * _timer, char * _init );
61void coco_timer_set_address( Environment * _environment, char * _timer, char * _address );
62void coco_dload( Environment * _environment, char * _filename, char * _offset, char * _address, char * _size );
63void coco_dsave( Environment * _environment, char * _filename, char * _offset, char * _address, char * _size );
64
65void coco_serial_read( Environment * _environment, char * _address, char * _size );
66void coco_serial_write( Environment * _environment, char * _address, char * _size, char * _result );
67
68void coco_dojo_serial_put_request0( Environment * _environment, int _command, char * _param1, char * _param2, char * _result );
69void coco_dojo_serial_put_request( Environment * _environment, int _command, char * _param1, char * _param2, char * _address, char * _size, char * _result );
70void coco_dojo_serial_put_requestd( Environment * _environment, int _command, char * _param1, char * _param2, char * _data, char * _size, char * _result );
71void coco_dojo_serial_put_requestds( Environment * _environment, int _command, char * _param1, char * _param2, char * _data, int _size, char * _result );
72void coco_dojo_serial_get_response0( Environment * _environment, char * _status );
73void coco_dojo_serial_get_response( Environment * _environment, char * _status, char * _address, char * _size );
74void coco_dojo_serial_get_responsed( Environment * _environment, char * _status, char * _data, char * _size );
75void coco_dojo_serial_get_response_size( Environment * _environment, char * _status, char * _data );
76void coco_dojo_serial_get_response_payload( Environment * _environment, char * _address );
77void coco_dojo_serial_get_response_payloadd( Environment * _environment, char * _data );
78
79void coco_dojo_fujinet_put_request0( Environment * _environment, int _command, char * _param1, char * _param2, char * _result );
80void coco_dojo_fujinet_put_request( Environment * _environment, int _command, char * _param1, char * _param2, char * _address, char * _size, char * _result );
81void coco_dojo_fujinet_put_requestd( Environment * _environment, int _command, char * _param1, char * _param2, char * _data, char * _size, char * _result );
82void coco_dojo_fujinet_put_requestds( Environment * _environment, int _command, char * _param1, char * _param2, char * _data, int _size, char * _result );
83void coco_dojo_fujinet_get_response0( Environment * _environment, char * _status );
84void coco_dojo_fujinet_get_response( Environment * _environment, char * _status, char * _address, char * _size );
85void coco_dojo_fujinet_get_responsed( Environment * _environment, char * _status, char * _data, char * _size );
86void coco_dojo_fujinet_get_response_size( Environment * _environment, char * _status, char * _data );
87void coco_dojo_fujinet_get_response_payload( Environment * _environment, char * _address );
88void coco_dojo_fujinet_get_response_payloadd( Environment * _environment, char * _data );
89
90void coco_fujinet_set_device( Environment * _environment, int _device_id );
91void coco_fujinet_set_device_var( Environment * _environment, char * _device_id );
92void coco_fujinet_get_bytes_waiting( Environment * _environment, char * _bytes_waiting );
93void coco_fujinet_is_connected( Environment * _environment, char * _is_connected );
94void coco_fujinet_get_error( Environment * _environment, char * _error );
95void coco_fujinet_is_ready( Environment * _environment, char * _ready );
96void coco_fujinet_open( Environment * _environment, char * _url, char * _size, char * _mode, char * _trans, char * _result );
97void coco_fujinet_close( Environment * _environment );
98void coco_fujinet_get_status( Environment * _environment );
99void coco_fujinet_read( Environment * _environment, char * _buffer, char * _size );
100void coco_fujinet_write( Environment * _environment, char * _buffer, char * _size, char * _result );
101void coco_fujinet_set_channel_mode( Environment * _environment, int _mode, char * _result );
102void coco_fujinet_set_channel_mode_var( Environment * _environment, char * _mode, char * _result );
103void coco_fujinet_parse_json( Environment * _environment, char * _result );
104void coco_fujinet_json_query( Environment * _environment, char * _query, char * _size );
105void coco_fujinet_login( Environment * _environment, char * _login, char * _size );
106void coco_fujinet_password( Environment * _environment, char * _password, char * _size );
107
108#endif
void coco_dojo_fujinet_put_request(Environment *_environment, int _command, char *_param1, char *_param2, char *_address, char *_size, char *_result)
Definition coco.c:974
void coco_fujinet_set_device(Environment *_environment, int _device_id)
Definition coco.c:465
void coco_spen(Environment *_environment, char *_destination)
Definition coco.c:66
void coco_timer_set_status_off(Environment *_environment, char *_timer)
Definition coco.c:150
void coco_dsave(Environment *_environment, char *_filename, char *_offset, char *_address, char *_size)
Definition coco.c:256
void coco_dojo_serial_put_requestds(Environment *_environment, int _command, char *_param1, char *_param2, char *_data, int _size, char *_result)
Definition coco.c:831
void coco_timer_set_address(Environment *_environment, char *_timer, char *_address)
Definition coco.c:199
void coco_xpen(Environment *_environment, char *_destination)
Definition coco.c:44
void coco_dojo_fujinet_put_request0(Environment *_environment, int _command, char *_param1, char *_param2, char *_result)
Definition coco.c:948
void coco_fujinet_open(Environment *_environment, char *_url, char *_size, char *_mode, char *_trans, char *_result)
Definition coco.c:520
void coco_dojo_serial_put_request(Environment *_environment, int _command, char *_param1, char *_param2, char *_address, char *_size, char *_result)
Definition coco.c:779
void coco_dojo_serial_get_response(Environment *_environment, char *_status, char *_address, char *_size)
Definition coco.c:684
void coco_fujinet_parse_json(Environment *_environment, char *_result)
Definition coco.c:623
void coco_dojo_serial_put_request0(Environment *_environment, int _command, char *_param1, char *_param2, char *_result)
Definition coco.c:755
void coco_fujinet_get_bytes_waiting(Environment *_environment, char *_bytes_waiting)
Definition coco.c:483
void coco_fujinet_login(Environment *_environment, char *_login, char *_size)
Definition coco.c:648
void coco_dojo_serial_get_response_size(Environment *_environment, char *_status, char *_data)
Definition coco.c:718
void coco_dojo_serial_put_requestd(Environment *_environment, int _command, char *_param1, char *_param2, char *_data, char *_size, char *_result)
Definition coco.c:805
void coco_serial_read(Environment *_environment, char *_address, char *_size)
Definition coco.c:444
void coco_dojo_fujinet_get_response_size(Environment *_environment, char *_status, char *_data)
Definition coco.c:908
void coco_dojo_fujinet_get_response_payload(Environment *_environment, char *_address)
Definition coco.c:924
void coco_dojo_fujinet_get_response0(Environment *_environment, char *_status)
Definition coco.c:859
void coco_fujinet_is_ready(Environment *_environment, char *_ready)
Definition coco.c:510
void coco_fujinet_get_status(Environment *_environment)
Definition coco.c:556
void coco_fujinet_is_connected(Environment *_environment, char *_is_connected)
Definition coco.c:492
void coco_fujinet_write(Environment *_environment, char *_buffer, char *_size, char *_result)
Definition coco.c:577
void coco_fujinet_set_channel_mode(Environment *_environment, int _mode, char *_result)
Definition coco.c:593
void coco_timer_set_status_on(Environment *_environment, char *_timer)
Definition coco.c:135
void coco_dojo_fujinet_get_responsed(Environment *_environment, char *_status, char *_data, char *_size)
Definition coco.c:890
void coco_fujinet_read(Environment *_environment, char *_buffer, char *_size)
Definition coco.c:565
void coco_fujinet_close(Environment *_environment)
Definition coco.c:547
void coco_fujinet_get_error(Environment *_environment, char *_error)
Definition coco.c:501
void coco_dload(Environment *_environment, char *_filename, char *_offset, char *_address, char *_size)
Definition coco.c:214
void coco_dojo_serial_get_responsed(Environment *_environment, char *_status, char *_data, char *_size)
Definition coco.c:701
void coco_dojo_serial_get_response_payloadd(Environment *_environment, char *_data)
Definition coco.c:744
void coco_fujinet_set_device_var(Environment *_environment, char *_device_id)
Definition coco.c:474
void coco_sys_call(Environment *_environment, int _destination)
Definition coco.c:123
void coco_dojo_serial_get_response0(Environment *_environment, char *_status)
Definition coco.c:672
void coco_timer_set_init(Environment *_environment, char *_timer, char *_init)
Definition coco.c:184
void coco_fujinet_set_channel_mode_var(Environment *_environment, char *_mode, char *_result)
Definition coco.c:608
void coco_ypen(Environment *_environment, char *_destination)
Definition coco.c:55
void coco_dojo_serial_get_response_payload(Environment *_environment, char *_address)
Definition coco.c:733
void coco_dojo_fujinet_put_requestd(Environment *_environment, int _command, char *_param1, char *_param2, char *_data, char *_size, char *_result)
Definition coco.c:1002
void coco_fujinet_json_query(Environment *_environment, char *_query, char *_size)
Definition coco.c:636
void coco_dojo_fujinet_get_response(Environment *_environment, char *_status, char *_address, char *_size)
Definition coco.c:872
void coco_fujinet_password(Environment *_environment, char *_password, char *_size)
Definition coco.c:660
void coco_dojo_fujinet_put_requestds(Environment *_environment, int _command, char *_param1, char *_param2, char *_data, int _size, char *_result)
Definition coco.c:1030
void coco_dojo_fujinet_get_response_payloadd(Environment *_environment, char *_data)
Definition coco.c:936
void coco_serial_write(Environment *_environment, char *_address, char *_size, char *_result)
Definition coco.c:454
void coco_timer_set_counter(Environment *_environment, char *_timer, char *_counter)
Definition coco.c:165
void coco_busy_wait(Environment *_environment, char *_timing)
Definition coco.c:111
struct _Environment Environment
Structure of compilation environment.