ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
get_ticks_per_second.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
46/* <usermanual>
47@keyword TICKS PER SECOND
48
49@english
50The ''TICKS PER SECOND'' returns the number of ticks per second that can
51be detected using the ''TIMER'' keyword. Note that this value is calculated
52dynamically at the start of the program, and is therefore no longer modified.
53However, because there may be versions of the same hardware running at
54different frequencies, the value cannot be used as a compile-time constant.
55
56@italian
57La funzione ''TICKS PER SECOND'' ritorna il numero di tick per secondo che
58si possono rilevare utilizzando la parola chiave ''TIMER''. Da notare che questo
59valore è calcolato dinamicamente alla partenza del programma, e non viene quindi
60più modificato. Tuttavia, poiché possono esistere versioni dello stesso hardware
61che funzionano a frequenze diverse, il valore non può essere usato come costante
62al momento della compilazione.
63
64@syntax = TICKS PER SECOND
65
66@example PRINT TICKS PER SECOND
67
68@usedInExample contrib_calibration.bas
69
70@target all
71</usermanual> */
73
74 Variable * ticks_per_second = variable_temporary( _environment, VT_BYTE, "(ticks per second)" );
75
76 cpu_move_8bit( _environment, "TICKSPERSECOND", ticks_per_second->realName );
77
78 return ticks_per_second;
79
80}
void cpu_move_8bit(Environment *_environment, char *_source, char *_destination)
CPU 6309: emit code to move 8 bit
Definition 6309.c:743
Variable * variable_temporary(Environment *_environment, VariableType _type, char *_meaning)
Define a temporary variable.
Variable * get_ticks_per_second(Environment *_environment)
Emit code for TAB$.
char * realName
Definition ugbc.h:982
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.
@ VT_BYTE
Definition ugbc.h:450