#include <stdint.h>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include <math.h>
#include <stdarg.h>
#include <errno.h>
Go to the source code of this file.
|
| #define | RELEASE "1.0" |
| #define | PBF_DONT_RELOC 0x01 |
| #define | PBF_RELOC 0x02 |
| #define | PBF_USED_IN_ZP 0x04 |
| #define | PBF_USED_IN_MSB 0x08 |
| #define | RETF_OUTOFBOUNDS 0x20 |
| #define | RETF_TOLERANCE 0x40 |
| #define | getN() |
| #define | getV() |
| #define | getB() |
| #define | getD() |
| #define | getI() |
| #define | getZ() |
| #define | getC() |
| #define | setNVZC(N, V, Z, C) |
| #define | setNZC(N, Z, C) |
| #define | setNZ(N, Z) |
| #define | setZ(Z) |
| #define | setC(C) |
| #define | tick(n) |
| #define | tickIf(p) |
| #define | putMemory(ADDR, VALUE) |
| #define | getMemory(ADDR) |
| #define | push(VALUE) |
| #define | pop() |
| #define | implied(ticks) |
| #define | immediate(ticks) |
| #define | abs(ticks) |
| #define | relative(ticks) |
| #define | indirect(ticks) |
| #define | absx(ticks) |
| #define | absy(ticks) |
| #define | zp(ticks) |
| #define | zpx(ticks) |
| #define | zpy(ticks) |
| #define | indx(ticks) |
| #define | indy(ticks) |
| #define | adc(ticks, adrmode) |
| #define | sbc(ticks, adrmode) |
| #define | cmpR(ticks, adrmode, R) |
| #define | cmp(ticks, adrmode) |
| #define | cpx(ticks, adrmode) |
| #define | cpy(ticks, adrmode) |
| #define | dec(ticks, adrmode) |
| #define | decR(ticks, adrmode, R) |
| #define | dex(ticks, adrmode) |
| #define | dey(ticks, adrmode) |
| #define | inc(ticks, adrmode) |
| #define | incR(ticks, adrmode, R) |
| #define | inx(ticks, adrmode) |
| #define | iny(ticks, adrmode) |
| #define | bit(ticks, adrmode) |
| #define | eor(ticks, adrmode) |
| #define | bitwise(ticks, adrmode, op) |
| #define | and(ticks, adrmode) |
| #define | ora(ticks, adrmode) |
| #define | asl(ticks, adrmode) |
| #define | asla(ticks, adrmode) |
| #define | lsr(ticks, adrmode) |
| #define | lsra(ticks, adrmode) |
| #define | rol(ticks, adrmode) |
| #define | rola(ticks, adrmode) |
| #define | ror(ticks, adrmode) |
| #define | rora(ticks, adrmode) |
| #define | tRS(ticks, adrmode, R1, R2) |
| #define | tax(ticks, adrmode) |
| #define | txa(ticks, adrmode) |
| #define | tay(ticks, adrmode) |
| #define | tya(ticks, adrmode) |
| #define | tsx(ticks, adrmode) |
| #define | txs(ticks, adrmode) |
| #define | ldR(ticks, adrmode, R) |
| #define | lda(ticks, adrmode) |
| #define | ldx(ticks, adrmode) |
| #define | ldy(ticks, adrmode) |
| #define | stR(ticks, adrmode, R) |
| #define | sta(ticks, adrmode) |
| #define | stx(ticks, adrmode) |
| #define | sty(ticks, adrmode) |
| #define | branch(ticks, adrmode, cond) |
| #define | bcc(ticks, adrmode) |
| #define | bcs(ticks, adrmode) |
| #define | bne(ticks, adrmode) |
| #define | beq(ticks, adrmode) |
| #define | bpl(ticks, adrmode) |
| #define | bmi(ticks, adrmode) |
| #define | bvc(ticks, adrmode) |
| #define | bvs(ticks, adrmode) |
| #define | jmp(ticks, adrmode) |
| #define | jsr(ticks, adrmode) |
| #define | rts(ticks, adrmode) |
| #define | brk(ticks, adrmode) |
| #define | rti(ticks, adrmode) |
| #define | nop(ticks, adrmode) |
| #define | ill(ticks, adrmode) |
| #define | pha(ticks, adrmode) |
| #define | php(ticks, adrmode) |
| #define | pla(ticks, adrmode) |
| #define | plp(ticks, adrmode) |
| #define | clF(ticks, adrmode, F) |
| #define | clc(ticks, adrmode) |
| #define | cld(ticks, adrmode) |
| #define | cli(ticks, adrmode) |
| #define | clv(ticks, adrmode) |
| #define | seF(ticks, adrmode, F) |
| #define | sec(ticks, adrmode) |
| #define | sed(ticks, adrmode) |
| #define | sei(ticks, adrmode) |
| #define | do_insns(_) |
| #define | dump() |
| #define | fetch() |
| #define | goto_next() |
| #define | dispatch(num, name, mode, cycles) |
| #define | HASHSIZE 8192 |
| #define | C_EXACTLY_ONE 1 |
| #define | C_ALIKE 2 |
| #define | ARENASIZE 32768 |
|
| typedef uint8_t | byte |
| typedef uint16_t | word |
|
| enum | {
RET_SUCCESS
, RET_HEADER
, RET_RSID
, RET_MUS
,
RET_BASIC
, RET_PSID
, RET_PARAM
, RET_IO
,
RET_CONSTR
, RET_ZPFULL
, RET_VERIFY
, RET_PLAYADDR
,
RET_RANGE
, RET_CYCLES
} |
| enum | {
ERR_OK
, ERR_BRK
, ERR_INTERNAL
, ERR_ILLEGAL
,
ERR_CYCLES
} |
| enum | {
flagN = (1<<7)
, flagV = (1<<6)
, flagX = (1<<5)
, flagB = (1<<4)
,
flagD = (1<<3)
, flagI = (1<<2)
, flagZ = (1<<1)
, flagC = (1<<0)
} |
| enum | {
OPT_FRAMES = 256
, OPT_NMI_CALLS
, OPT_INIT_CYCLES
, OPT_PLAY_CYCLES
,
OPT_NMI_CYCLES
} |
◆ abs
Value:
src_ea_msb = memory[PC + 1].src; \
ea = memory[PC].value + (memory[PC + 1].value << 8); \
check_reloc_range(ea, memory[PC].src, 0, src_ea_msb); \
PC += 2;
Definition at line 338 of file sidreloc.c.
◆ absx
Value:
src_ea_msb = memory[PC + 1].src; \
ea = memory[PC].value + (memory[PC + 1].value << 8); \
tickIf((ticks == 4) && ((ea >> 8) != ((ea +
X.value) >> 8))); \
check_reloc_range(ea, memory[PC].src,
X.src, src_ea_msb); \
PC += 2;
Definition at line 372 of file sidreloc.c.
◆ absy
Value:
src_ea_msb = memory[PC + 1].src; \
ea = memory[PC].value + (memory[PC + 1].value << 8); \
tickIf((ticks == 4) && ((ea >> 8) != ((ea +
Y.value) >> 8))); \
check_reloc_range(ea, memory[PC].src,
Y.src, src_ea_msb); \
PC += 2;
Definition at line 383 of file sidreloc.c.
◆ adc
| #define adc |
( |
| ticks, |
|
|
| adrmode ) |
◆ and
| #define and |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define bitwise(ticks, adrmode, op)
Definition at line 612 of file sidreloc.c.
◆ ARENASIZE
◆ asl
| #define asl |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
{ \
unsigned int i = b.
value << 1; \
putMemory(ea, b); \
fetch(); \
setNZC(i & 0x80, !i, i >> 8); \
} \
goto_next();
Definition at line 615 of file sidreloc.c.
◆ asla
| #define asla |
( |
| ticks, |
|
|
| adrmode ) |
Value:
fetch(); \
{ \
setNZC(
A.value & 0x80, !
A.value, c); \
} \
goto_next();
Definition at line 628 of file sidreloc.c.
◆ bcc
| #define bcc |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define branch(ticks, adrmode, cond)
Definition at line 777 of file sidreloc.c.
◆ bcs
| #define bcs |
( |
| ticks, |
|
|
| adrmode ) |
◆ beq
| #define beq |
( |
| ticks, |
|
|
| adrmode ) |
◆ bit
| #define bit |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
fetch(); \
{ \
| (
B.value & (0xC0)) | (((
A.value &
B.value) == 0) << 1); \
} \
goto_next();
Definition at line 579 of file sidreloc.c.
◆ bitwise
| #define bitwise |
( |
| ticks, |
|
|
| adrmode, |
|
|
| op ) |
Value:adrmode(ticks); \
fetch(); \
{ \
} \
setNZ(
A.value & 0x80, !
A.value); \
goto_next();
Definition at line 601 of file sidreloc.c.
◆ bmi
| #define bmi |
( |
| ticks, |
|
|
| adrmode ) |
◆ bne
| #define bne |
( |
| ticks, |
|
|
| adrmode ) |
◆ bpl
| #define bpl |
( |
| ticks, |
|
|
| adrmode ) |
◆ branch
| #define branch |
( |
| ticks, |
|
|
| adrmode, |
|
|
| cond ) |
Value:if (cond) \
{ \
adrmode(ticks); \
PC += ea; \
tick(1); \
} \
else \
{ \
tick(ticks); \
PC++; \
} \
fetch(); \
goto_next();
Definition at line 762 of file sidreloc.c.
◆ brk
| #define brk |
( |
| ticks, |
|
|
| adrmode ) |
◆ bvc
| #define bvc |
( |
| ticks, |
|
|
| adrmode ) |
◆ bvs
| #define bvs |
( |
| ticks, |
|
|
| adrmode ) |
◆ C_ALIKE
◆ C_EXACTLY_ONE
◆ clc
| #define clc |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define clF(ticks, adrmode, F)
Definition at line 895 of file sidreloc.c.
◆ cld
| #define cld |
( |
| ticks, |
|
|
| adrmode ) |
◆ clF
| #define clF |
( |
| ticks, |
|
|
| adrmode, |
|
|
| F ) |
Value:
tick(ticks); \
goto_next();
Definition at line 889 of file sidreloc.c.
◆ cli
| #define cli |
( |
| ticks, |
|
|
| adrmode ) |
◆ clv
| #define clv |
( |
| ticks, |
|
|
| adrmode ) |
◆ cmp
| #define cmp |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define cmpR(ticks, adrmode, R)
Definition at line 533 of file sidreloc.c.
◆ cmpR
| #define cmpR |
( |
| ticks, |
|
|
| adrmode, |
|
|
| R ) |
Value:adrmode(ticks); \
fetch(); \
{ \
byte d =
R.value -
B.value; \
setNZC(d & 0x80, !d,
R.value >=
B.value); \
} \
goto_next();
Definition at line 522 of file sidreloc.c.
◆ cpx
| #define cpx |
( |
| ticks, |
|
|
| adrmode ) |
◆ cpy
| #define cpy |
( |
| ticks, |
|
|
| adrmode ) |
◆ dec
| #define dec |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
fetch(); \
{ \
setNZ(
B.value & 0x80, !
B.value); \
} \
goto_next();
Definition at line 537 of file sidreloc.c.
◆ decR
| #define decR |
( |
| ticks, |
|
|
| adrmode, |
|
|
| R ) |
Value:
tick(ticks); \
setNZ(
R.value & 0x80, !
R.value); \
goto_next();
Definition at line 548 of file sidreloc.c.
◆ dex
| #define dex |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define decR(ticks, adrmode, R)
Definition at line 555 of file sidreloc.c.
◆ dey
| #define dey |
( |
| ticks, |
|
|
| adrmode ) |
◆ dispatch
| #define dispatch |
( |
| num, |
|
|
| name, |
|
|
| mode, |
|
|
| cycles ) |
◆ do_insns
◆ dump
◆ eor
| #define eor |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
fetch(); \
{ \
} \
setNZ(
A.value & 0x80, !
A.value); \
goto_next();
Definition at line 589 of file sidreloc.c.
◆ fetch
◆ getB
◆ getC
◆ getD
◆ getI
◆ getMemory
| #define getMemory |
( |
| ADDR | ) |
|
◆ getN
◆ getV
◆ getZ
◆ goto_next
◆ HASHSIZE
◆ ill
| #define ill |
( |
| ticks, |
|
|
| adrmode ) |
◆ immediate
| #define immediate |
( |
| ticks | ) |
|
Value:
src_ea_msb = src_pc_msb; \
ea = PC++;
Definition at line 333 of file sidreloc.c.
◆ implied
◆ inc
| #define inc |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
fetch(); \
{ \
setNZ(
B.value & 0x80, !
B.value); \
} \
goto_next();
Definition at line 558 of file sidreloc.c.
◆ incR
| #define incR |
( |
| ticks, |
|
|
| adrmode, |
|
|
| R ) |
Value:
tick(ticks); \
setNZ(
R.value & 0x80, !
R.value); \
goto_next();
Definition at line 569 of file sidreloc.c.
◆ indirect
| #define indirect |
( |
| ticks | ) |
|
Value:
{ \
tmp = memory[PC].value + (memory[PC + 1].value << 8); \
check_reloc_range(tmp, memory[PC].src, 0, memory[PC + 1].src); \
src_ea_msb = memory[tmp + 1].src; \
ea = memory[tmp].value + (memory[tmp + 1].value << 8); \
check_reloc_range(ea, memory[tmp].src, 0, src_ea_msb); \
PC += 2; \
}
Definition at line 356 of file sidreloc.c.
◆ indx
Value:
{ \
byte tmp = memory[PC].value +
X.value; \
used_for_zp_addr(memory[PC].src,
X.src, tmp); \
used_for_zp_addr(memory[PC].src,
X.src, tmp + 1); \
src_ea_msb = memory[tmp + 1].src; \
ea = memory[tmp].value + (memory[tmp + 1].value << 8); \
check_reloc_range(ea, memory[tmp].src, 0, src_ea_msb); \
PC++; \
}
Definition at line 420 of file sidreloc.c.
◆ indy
Value:
{ \
byte tmp = memory[PC].value; \
used_for_zp_addr(memory[PC].src, 0, tmp); \
used_for_zp_addr(memory[PC].src, 0, tmp + 1); \
PC++; \
src_ea_msb = memory[tmp + 1].src; \
ea = memory[tmp].value + (memory[tmp + 1].value << 8); \
tickIf((ticks == 5) && ((ea >> 8) != ((ea +
Y.value) >> 8))); \
check_reloc_range(ea, memory[tmp].src,
Y.src, src_ea_msb); \
}
Definition at line 435 of file sidreloc.c.
◆ inx
| #define inx |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define incR(ticks, adrmode, R)
Definition at line 576 of file sidreloc.c.
◆ iny
| #define iny |
( |
| ticks, |
|
|
| adrmode ) |
◆ jmp
| #define jmp |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
PC = ea; \
src_pc_msb = src_ea_msb; \
fetch(); \
goto_next();
Definition at line 786 of file sidreloc.c.
◆ jsr
| #define jsr |
( |
| ticks, |
|
|
| adrmode ) |
Value:PC++; \
{ \
push(v); \
push(v); \
} \
PC--; \
adrmode(ticks); \
PC = ea; \
src_pc_msb = src_ea_msb; \
fetch(); \
goto_next();
Definition at line 793 of file sidreloc.c.
◆ lda
| #define lda |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define ldR(ticks, adrmode, R)
Definition at line 748 of file sidreloc.c.
◆ ldR
| #define ldR |
( |
| ticks, |
|
|
| adrmode, |
|
|
| R ) |
Value:adrmode(ticks); \
fetch(); \
setNZ(
R.value & 0x80, !
R.value); \
goto_next();
Definition at line 741 of file sidreloc.c.
◆ ldx
| #define ldx |
( |
| ticks, |
|
|
| adrmode ) |
◆ ldy
| #define ldy |
( |
| ticks, |
|
|
| adrmode ) |
◆ lsr
| #define lsr |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
{ \
fetch(); \
putMemory(ea, b); \
setNZC(0, !b.
value, c); \
} \
goto_next();
Definition at line 639 of file sidreloc.c.
◆ lsra
| #define lsra |
( |
| ticks, |
|
|
| adrmode ) |
Value:
fetch(); \
{ \
setNZC(0, !
A.value, c); \
} \
goto_next();
Definition at line 652 of file sidreloc.c.
◆ nop
| #define nop |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
fetch(); \
goto_next();
Definition at line 845 of file sidreloc.c.
◆ ora
| #define ora |
( |
| ticks, |
|
|
| adrmode ) |
◆ PBF_DONT_RELOC
| #define PBF_DONT_RELOC 0x01 |
◆ PBF_RELOC
◆ PBF_USED_IN_MSB
| #define PBF_USED_IN_MSB 0x08 |
◆ PBF_USED_IN_ZP
| #define PBF_USED_IN_ZP 0x04 |
◆ pha
| #define pha |
( |
| ticks, |
|
|
| adrmode ) |
Value:
tick(ticks); \
goto_next();
Definition at line 853 of file sidreloc.c.
◆ php
| #define php |
( |
| ticks, |
|
|
| adrmode ) |
Value:
tick(ticks); \
{ \
push(v); \
} \
goto_next();
Definition at line 859 of file sidreloc.c.
◆ pla
| #define pla |
( |
| ticks, |
|
|
| adrmode ) |
◆ plp
| #define plp |
( |
| ticks, |
|
|
| adrmode ) |
Value:
tick(ticks); \
{ \
} \
goto_next();
Definition at line 878 of file sidreloc.c.
◆ pop
◆ push
◆ putMemory
| #define putMemory |
( |
| ADDR, |
|
|
| VALUE ) |
◆ relative
| #define relative |
( |
| ticks | ) |
|
Value:
dont_reloc(memory[PC].src); \
src_ea_msb = src_pc_msb; \
ea = memory[PC++].value; \
if (ea & 0x80) ea -= 0x100; \
tickIf((ea >> 8) != (PC >> 8));
Definition at line 347 of file sidreloc.c.
◆ RELEASE
◆ RETF_OUTOFBOUNDS
| #define RETF_OUTOFBOUNDS 0x20 |
◆ RETF_TOLERANCE
| #define RETF_TOLERANCE 0x40 |
◆ rol
| #define rol |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
{ \
fetch(); \
putMemory(ea, v); \
setNZC(b & 0x80, !(b & 0xFF), b >> 8); \
} \
goto_next();
Definition at line 663 of file sidreloc.c.
◆ rola
| #define rola |
( |
| ticks, |
|
|
| adrmode ) |
Value:
fetch(); \
{ \
setNZC(
A.value & 0x80, !
A.value, b >> 8); \
} \
goto_next();
Definition at line 676 of file sidreloc.c.
◆ ror
| #define ror |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
{ \
byte b = (c << 7) | (m.
value >> 1); \
fetch(); \
putMemory(ea, n); \
setNZC(b & 0x80, !b, m.
value & 1); \
} \
goto_next();
Definition at line 687 of file sidreloc.c.
◆ rora
| #define rora |
( |
| ticks, |
|
|
| adrmode ) |
Value:adrmode(ticks); \
{ \
fetch(); \
A.value = (ci << 7) | (
A.value >> 1); \
setNZC(
A.value & 0x80, !
A.value, co); \
} \
goto_next();
Definition at line 702 of file sidreloc.c.
◆ rti
| #define rti |
( |
| ticks, |
|
|
| adrmode ) |
Value:
{ \
dont_reloc(status.
src); \
check_reloc_range(PC, lsb.
src, 0, msb.
src); \
} \
fetch(); \
goto_next();
Definition at line 829 of file sidreloc.c.
◆ rts
| #define rts |
( |
| ticks, |
|
|
| adrmode ) |
Value:
{ \
check_reloc_range(PC, lsb.
src, 0, msb.
src); \
} \
PC++; \
fetch(); \
goto_next();
Definition at line 811 of file sidreloc.c.
◆ sbc
| #define sbc |
( |
| ticks, |
|
|
| adrmode ) |
◆ sec
| #define sec |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define seF(ticks, adrmode, F)
Definition at line 906 of file sidreloc.c.
◆ sed
| #define sed |
( |
| ticks, |
|
|
| adrmode ) |
◆ seF
| #define seF |
( |
| ticks, |
|
|
| adrmode, |
|
|
| F ) |
Value:
tick(ticks); \
goto_next();
Definition at line 900 of file sidreloc.c.
◆ sei
| #define sei |
( |
| ticks, |
|
|
| adrmode ) |
◆ setC
◆ setNVZC
| #define setNVZC |
( |
| N, |
|
|
| V, |
|
|
| Z, |
|
|
| C ) |
◆ setNZ
◆ setNZC
| #define setNZC |
( |
| N, |
|
|
| Z, |
|
|
| C ) |
◆ setZ
◆ sta
| #define sta |
( |
| ticks, |
|
|
| adrmode ) |
Value:
#define stR(ticks, adrmode, R)
Definition at line 758 of file sidreloc.c.
◆ stR
| #define stR |
( |
| ticks, |
|
|
| adrmode, |
|
|
| R ) |
Value:adrmode(ticks); \
fetch(); \
goto_next();
Definition at line 752 of file sidreloc.c.
◆ stx
| #define stx |
( |
| ticks, |
|
|
| adrmode ) |
◆ sty
| #define sty |
( |
| ticks, |
|
|
| adrmode ) |
◆ tax
| #define tax |
( |
| ticks, |
|
|
| adrmode ) |
Value:tRS(ticks, adrmode,
A,
X)
#define tRS(ticks, adrmode, R1, R2)
Definition at line 721 of file sidreloc.c.
◆ tay
| #define tay |
( |
| ticks, |
|
|
| adrmode ) |
◆ tick
◆ tickIf
◆ tRS
| #define tRS |
( |
| ticks, |
|
|
| adrmode, |
|
|
| R1, |
|
|
| R2 ) |
Value:
tick(ticks); \
R2 = R1; \
setNZ(R2.value & 0x80, !R1.value); \
goto_next();
Definition at line 714 of file sidreloc.c.
◆ tsx
| #define tsx |
( |
| ticks, |
|
|
| adrmode ) |
Value:
tick(ticks); \
goto_next();
Definition at line 726 of file sidreloc.c.
◆ txa
| #define txa |
( |
| ticks, |
|
|
| adrmode ) |
◆ txs
| #define txs |
( |
| ticks, |
|
|
| adrmode ) |
Value:
tick(ticks); \
goto_next();
Definition at line 734 of file sidreloc.c.
◆ tya
| #define tya |
( |
| ticks, |
|
|
| adrmode ) |
◆ zp
Value:
src_ea_msb = 0; \
ea = memory[PC].value; \
used_for_zp_addr(memory[PC].src, 0, ea); \
PC++;
Definition at line 394 of file sidreloc.c.
◆ zpx
Value:
src_ea_msb = 0; \
ea = memory[PC].value +
X.value; \
ea &= 0x00ff; \
used_for_zp_addr(memory[PC].src,
X.src, ea); \
PC++;
Definition at line 402 of file sidreloc.c.
◆ zpy
Value:
src_ea_msb = 0; \
ea = memory[PC].value +
Y.value; \
ea &= 0x00ff; \
used_for_zp_addr(memory[PC].src,
Y.src, ea); \
PC++;
Definition at line 411 of file sidreloc.c.
◆ byte
◆ word
◆ anonymous enum
| Enumerator |
|---|
| flagN | |
| flagV | |
| flagX | |
| flagB | |
| flagD | |
| flagI | |
| flagZ | |
| flagC | |
Definition at line 276 of file sidreloc.c.
◆ anonymous enum
| Enumerator |
|---|
| ERR_OK | |
| ERR_BRK | |
| ERR_INTERNAL | |
| ERR_ILLEGAL | |
| ERR_CYCLES | |
Definition at line 105 of file sidreloc.c.
◆ anonymous enum
| Enumerator |
|---|
| RET_SUCCESS | |
| RET_HEADER | |
| RET_RSID | |
| RET_MUS | |
| RET_BASIC | |
| RET_PSID | |
| RET_PARAM | |
| RET_IO | |
| RET_CONSTR | |
| RET_ZPFULL | |
| RET_VERIFY | |
| RET_PLAYADDR | |
| RET_RANGE | |
| RET_CYCLES | |
Definition at line 88 of file sidreloc.c.
◆ anonymous enum
| Enumerator |
|---|
| OPT_FRAMES | |
| OPT_NMI_CALLS | |
| OPT_INIT_CYCLES | |
| OPT_PLAY_CYCLES | |
| OPT_NMI_CYCLES | |
Definition at line 2008 of file sidreloc.c.
◆ sidreloc_get_lasterror_string()
| char * sidreloc_get_lasterror_string |
( |
| ) |
|
◆ sidreloc_main()
◆ sidreloc_set_force()
| int sidreloc_set_force |
( |
| ) |
|
◆ sidreloc_set_frames()
| int sidreloc_set_frames |
( |
int | _frames | ) |
|
◆ sidreloc_set_init_cycles()
| int sidreloc_set_init_cycles |
( |
int | _cycles | ) |
|
◆ sidreloc_set_input_data()
| int sidreloc_set_input_data |
( |
unsigned char * | _data, |
|
|
int | _size ) |
◆ sidreloc_set_nmi_calls()
| int sidreloc_set_nmi_calls |
( |
int | _cycles | ) |
|
◆ sidreloc_set_nmi_cycles()
| int sidreloc_set_nmi_cycles |
( |
int | _cycles | ) |
|
◆ sidreloc_set_nopage0()
| int sidreloc_set_nopage0 |
( |
| ) |
|
◆ sidreloc_set_output_data()
| int sidreloc_set_output_data |
( |
unsigned char * | _data | ) |
|
◆ sidreloc_set_page()
| int sidreloc_set_page |
( |
int | _page | ) |
|
◆ sidreloc_set_page0()
| int sidreloc_set_page0 |
( |
int | _first, |
|
|
int | _last ) |
◆ sidreloc_set_play_cycles()
| int sidreloc_set_play_cycles |
( |
int | _cycles | ) |
|
◆ sidreloc_set_quiet()
| int sidreloc_set_quiet |
( |
| ) |
|
◆ sidreloc_set_reloc()
| int sidreloc_set_reloc |
( |
int | _start, |
|
|
int | _end ) |
◆ sidreloc_set_strict()
| int sidreloc_set_strict |
( |
| ) |
|
◆ sidreloc_set_tolerance()
| int sidreloc_set_tolerance |
( |
int | _tolerance | ) |
|
◆ sidreloc_set_verbosity()
| int sidreloc_set_verbosity |
( |
int | _verbose | ) |
|
◆ emulate_err
Initial value: = {
"BRK instruction",
"Internal CPU emulator error",
"Illegal opcode",
"Max cycles exhausted (infinite loop?)",
}
Definition at line 287 of file sidreloc.c.