From 90d9fbd9c558a3741f390f3e981ca869f0f1c38c Mon Sep 17 00:00:00 2001 From: Christopher Mosher Date: Thu, 19 Dec 2013 22:00:31 -0500 Subject: [PATCH] add compiler option (#define) for using 6502 emulator or simulator --- src/apple2.cpp | 5 ++++- src/apple2.h | 8 +++++++- src/powerupreset.cpp | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/apple2.cpp b/src/apple2.cpp index 5adbc21..be186ca 100644 --- a/src/apple2.cpp +++ b/src/apple2.cpp @@ -47,9 +47,12 @@ Apple2::Apple2(KeypressQueue& keypresses, PaddleButtonStates& paddleButtonStates addressBus(ram,rom,kbd,videoMode,paddles,paddleButtonStates,speaker,cassette,slts), picgen(tv,videoMode,this->revision), video(videoMode,addressBus,picgen,textRows), +#ifdef USE_EMU transistors("transistors"), cpu(transistors,addressBus), -// cpu(addressBus), +#else + cpu(addressBus), +#endif powerUpReset(*this), revision(1) { diff --git a/src/apple2.h b/src/apple2.h index 9d94d82..63a2604 100644 --- a/src/apple2.h +++ b/src/apple2.h @@ -39,6 +39,9 @@ class Emulator; class ScreenImage; +//#define USE_EMU 1 +#undef USE_EMU + class Apple2 : public Timable { Slots slts; @@ -53,9 +56,12 @@ class Apple2 : public Timable PictureGenerator picgen; TextCharacters textRows; Video video; -// CPU cpu; +#ifdef USE_EMU std::ifstream transistors; Emu6502 cpu; +#else + CPU cpu; +#endif PowerUpReset powerUpReset; int revision; diff --git a/src/powerupreset.cpp b/src/powerupreset.cpp index 6a65451..37980ec 100644 --- a/src/powerupreset.cpp +++ b/src/powerupreset.cpp @@ -44,5 +44,9 @@ void PowerUpReset::tick() void PowerUpReset::powerOn() { +#ifdef USE_EMU + this->pendingTicks = 99; // TODO REMOVE THIS +#else this->pendingTicks = (int)(E2Const::AVG_CPU_HZ*.3); // U.A.II, p. 7-15 +#endif }