ugBASIC
1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
double_buffer.c
Go to the documentation of this file.
1
/*****************************************************************************
2
* ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
3
*****************************************************************************
4
* Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*----------------------------------------------------------------------------
18
* Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
19
* (la "Licenza"); è proibito usare questo file se non in conformità alla
20
* Licenza. Una copia della Licenza è disponibile all'indirizzo:
21
*
22
* http://www.apache.org/licenses/LICENSE-2.0
23
*
24
* Se non richiesto dalla legislazione vigente o concordato per iscritto,
25
* il software distribuito nei termini della Licenza è distribuito
26
* "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
27
* implicite. Consultare la Licenza per il testo specifico che regola le
28
* autorizzazioni e le limitazioni previste dalla medesima.
29
****************************************************************************/
30
31
/****************************************************************************
32
* INCLUDE SECTION
33
****************************************************************************/
34
35
#include "
../../ugbc.h
"
36
37
/****************************************************************************
38
* CODE SECTION
39
****************************************************************************/
40
47
/* <usermanual>
48
@keyword DOUBLE BUFFER
49
@target coco3
50
</usermanual> */
51
void
double_buffer
(
Environment
* _environment,
int
_enabled ) {
52
53
outhead0
(
"; double buffer"
);
54
outhead0
(
"doublebuffer"
);
55
56
if
( _environment->
doubleBufferEnabled
!= _enabled ) {
57
58
_environment->
doubleBufferEnabled
= _enabled;
59
60
if
( ! _environment->
doubleBufferEnabled
) {
61
outline0
(
"LDA #$8"
);
62
outline0
(
"STA GIMESCREENCURRENT"
);
63
outline0
(
"LDD #$c000"
);
64
outline0
(
"STD GIMEVOFF1"
);
65
outline0
(
"JSR GIMERAM"
);
66
}
else
{
67
outline0
(
"LDA #$0"
);
68
outline0
(
"STA GIMESCREENCURRENT"
);
69
outline0
(
"LDD #$c000"
);
70
outline0
(
"STD GIMEVOFF1"
);
71
outline0
(
"JSR GIMERAM"
);
72
}
73
74
}
75
76
}
double_buffer
void double_buffer(Environment *_environment, int _enabled)
Emit code for DOUBLE BUFFER ....
Definition
double_buffer.c:50
_Environment::doubleBufferEnabled
int doubleBufferEnabled
Definition
ugbc.h:2995
ugbc.h
Environment
struct _Environment Environment
Structure of compilation environment.
outhead0
#define outhead0(s)
Definition
ugbc.h:4246
outline0
#define outline0(s)
Definition
ugbc.h:4252
Z:
ugbasic
ugbc
src
targets
coco3
double_buffer.c
Generated by
1.16.1