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

Go to the source code of this file.

Macros

#define VT_FLOAT_BITWIDTH(p)
#define VT_FLOAT_NORMALIZED_BITWIDTH(p)
#define VT_FLOAT_NORMALIZED_POW2_WIDTH(p)
#define CPU_LITTLE_ENDIAN   1
#define REGISTER_BASE   0x1000
#define REGISTER_PAGE_ZERO   0x100
#define REGISTER_PAGE_ZERO2   0x200
#define IS_REGISTER(x)
#define IS_PAGE_ZERO(x)
#define IS_PAGE_ZERO2(x)

Typedefs

typedef enum _CPU6502Register CPU6502Register
typedef enum _CPU6502Stack CPU6502Stack

Enumerations

enum  _CPU6502Register {
  REGISTER_NONE = REGISTER_BASE | 0 , REGISTER_PC = REGISTER_BASE | 1 , REGISTER_S = REGISTER_BASE | 2 , REGISTER_A = REGISTER_BASE | 3 ,
  REGISTER_X = REGISTER_BASE | 4 , REGISTER_Y = REGISTER_BASE | 5 , REGISTER_XY = REGISTER_BASE | 6 , REGISTER_YX = REGISTER_BASE | 7 ,
  REGISTER_AXY = REGISTER_BASE | 8 , REGISTER_CARRY = REGISTER_BASE | 9 , REGISTER_ZERO = REGISTER_BASE | 10
}
enum  _CPU6502Stack { STACK_NONE = 0 , STACK_BYTE = 1 , STACK_WORD = 2 , STACK_DWORD = 3 }

Functions

void vars_emit_byte (Environment *_environment, char *_name, int _value)
void vars_emit_word (Environment *_environment, char *_name, int _value)
void vars_emit_dword (Environment *_environment, char *_name, int _value)
void vars_emit_number (Environment *_environment, char *_name, int _value)

Macro Definition Documentation

◆ CPU_LITTLE_ENDIAN

#define CPU_LITTLE_ENDIAN   1

Definition at line 55 of file 6502.h.

◆ IS_PAGE_ZERO

#define IS_PAGE_ZERO ( x)
Value:
#define REGISTER_PAGE_ZERO
Definition 6502.h:57

Definition at line 60 of file 6502.h.

◆ IS_PAGE_ZERO2

#define IS_PAGE_ZERO2 ( x)
Value:
#define REGISTER_PAGE_ZERO2
Definition 6502.h:58

Definition at line 61 of file 6502.h.

◆ IS_REGISTER

#define IS_REGISTER ( x)
Value:
#define REGISTER_BASE
Definition 6309.h:57

Definition at line 59 of file 6502.h.

◆ REGISTER_BASE

#define REGISTER_BASE   0x1000

Definition at line 56 of file 6502.h.

◆ REGISTER_PAGE_ZERO

#define REGISTER_PAGE_ZERO   0x100

Definition at line 57 of file 6502.h.

◆ REGISTER_PAGE_ZERO2

#define REGISTER_PAGE_ZERO2   0x200

Definition at line 58 of file 6502.h.

◆ VT_FLOAT_BITWIDTH

#define VT_FLOAT_BITWIDTH ( p)
Value:
( \
VT_BW_32BIT( p, FT_FAST ) + \
VT_BW_32BIT( p, FT_SINGLE ) \
)
@ FT_FAST
Definition ugbc.h:854
@ FT_SINGLE
Definition ugbc.h:855

Definition at line 37 of file 6502.h.

◆ VT_FLOAT_NORMALIZED_BITWIDTH

#define VT_FLOAT_NORMALIZED_BITWIDTH ( p)
Value:
( \
VT_BW_32BIT( p, FT_FAST ) + \
VT_BW_32BIT( p, FT_SINGLE ) \
)

Definition at line 43 of file 6502.h.

◆ VT_FLOAT_NORMALIZED_POW2_WIDTH

#define VT_FLOAT_NORMALIZED_POW2_WIDTH ( p)
Value:
( \
VT_POW2_2( p, FT_FAST ) + \
VT_POW2_2( p, FT_SINGLE ) \
)

Definition at line 49 of file 6502.h.

Typedef Documentation

◆ CPU6502Register

◆ CPU6502Stack

Enumeration Type Documentation

◆ _CPU6502Register

Enumerator
REGISTER_NONE 
REGISTER_PC 
REGISTER_S 
REGISTER_A 
REGISTER_X 
REGISTER_Y 
REGISTER_XY 
REGISTER_YX 
REGISTER_AXY 
REGISTER_CARRY 
REGISTER_ZERO 

Definition at line 63 of file 6502.h.

◆ _CPU6502Stack

Enumerator
STACK_NONE 
STACK_BYTE 
STACK_WORD 
STACK_DWORD 

Definition at line 81 of file 6502.h.

Function Documentation

◆ vars_emit_byte()

void vars_emit_byte ( Environment * _environment,
char * _name,
int _value )

Definition at line 84 of file _vars.c.

◆ vars_emit_dword()

void vars_emit_dword ( Environment * _environment,
char * _name,
int _value )

Definition at line 100 of file _vars.c.

◆ vars_emit_number()

void vars_emit_number ( Environment * _environment,
char * _name,
int _value )

Definition at line 108 of file _vars.c.

◆ vars_emit_word()

void vars_emit_word ( Environment * _environment,
char * _name,
int _value )

Definition at line 92 of file _vars.c.