- [NEW] Implementada la gestió de registres i interrupcions de la pantalla, així com el renderitzat de tiles
- [FIX] Si una interrupció no està activada, no s'ha d'eixir de halt - Hi ha algún bug per ahi que ho petat tot
This commit is contained in:
46
main.cpp
46
main.cpp
@@ -6,7 +6,7 @@
|
||||
#include "sm83dis.h"
|
||||
#include "debug.h"
|
||||
//#include "zx_ula.h"
|
||||
//#include "zx_screen.h"
|
||||
#include "gbscreen.h"
|
||||
//#include "zx_tape.h"
|
||||
#include <SDL2/SDL.h>
|
||||
#include <string.h>
|
||||
@@ -24,31 +24,31 @@ namespace actions
|
||||
{
|
||||
const uint8_t dt = sm83::step();
|
||||
debug::cont();
|
||||
//zxscreen::refresh(dt);
|
||||
gbscreen::refresh(dt);
|
||||
}
|
||||
|
||||
int decZoom(int value)
|
||||
{
|
||||
//zxscreen::decZoom();
|
||||
gbscreen::decZoom();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int incZoom(int value)
|
||||
{
|
||||
//zxscreen::incZoom();
|
||||
gbscreen::incZoom();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int fullscreen(int value)
|
||||
{
|
||||
//zxscreen::toggleFullscreen();
|
||||
return 0; //zxscreen::getFullscreen();
|
||||
gbscreen::toggleFullscreen();
|
||||
return gbscreen::getFullscreen();
|
||||
}
|
||||
|
||||
int fullrefresh(int value)
|
||||
{
|
||||
//zxscreen::toggleFullRefresh();
|
||||
return 0; //zxscreen::getFullRefresh();
|
||||
gbscreen::toggleFullRefresh();
|
||||
return gbscreen::getFullRefresh();
|
||||
}
|
||||
|
||||
int showAnalyzer(int value)
|
||||
@@ -79,8 +79,8 @@ int main(int argc, char *argv[])
|
||||
sm83::reset();
|
||||
|
||||
SDL_Init(SDL_INIT_EVERYTHING);
|
||||
gbscreen::init(0);
|
||||
debug::init();
|
||||
//zxscreen::init(SCREEN_MODE_48K);
|
||||
|
||||
ui::menu::init();
|
||||
ui::menu::setexitcallback(actions::exitMenu);
|
||||
@@ -95,9 +95,9 @@ int main(int argc, char *argv[])
|
||||
menu = ui::menu::addsubmenu("SCREEN");
|
||||
ui::menu::addoption(menu, "DEC ZOOM", actions::decZoom);
|
||||
ui::menu::addoption(menu, "INC ZOOM", actions::incZoom);
|
||||
ui::menu::addbooloption(menu, "FULLSCREEN", false /*zxscreen::getFullscreen()*/, actions::fullscreen);
|
||||
ui::menu::addbooloption(menu, "FULLSCREEN", gbscreen::getFullscreen(), actions::fullscreen);
|
||||
ui::menu::addseparator(menu);
|
||||
ui::menu::addbooloption(menu, "FULL REFRESH", false /*zxscreen::getFullRefresh()*/, actions::fullrefresh);
|
||||
ui::menu::addbooloption(menu, "FULL REFRESH", gbscreen::getFullRefresh(), actions::fullrefresh);
|
||||
|
||||
menu = ui::menu::addsubmenu("EMULATION");
|
||||
ui::menu::addbooloption(menu, "STOP ON INVALID OP", sm83::getOption(SM83_OPTION_STOP_ON_INVALID), actions::decZoom);
|
||||
@@ -132,12 +132,12 @@ int main(int argc, char *argv[])
|
||||
debug::history::gototop();
|
||||
const uint8_t dt = sm83::step();
|
||||
debug::cont();
|
||||
//zxscreen::refresh(dt);
|
||||
gbscreen::refresh(dt);
|
||||
}
|
||||
} else if (e.key.keysym.scancode==SDL_SCANCODE_F8) {
|
||||
if (!debug::debugging()) {
|
||||
debug::stop();
|
||||
//zxscreen::redraw();
|
||||
gbscreen::redraw();
|
||||
} else {
|
||||
debug::show();
|
||||
}
|
||||
@@ -147,8 +147,8 @@ int main(int argc, char *argv[])
|
||||
debug::history::gototop();
|
||||
const uint8_t dt = sm83::step();
|
||||
debug::refresh();
|
||||
//zxscreen::fullrefresh();
|
||||
//zxscreen::redraw();
|
||||
gbscreen::fullrefresh();
|
||||
gbscreen::redraw();
|
||||
//z80analyze::refresh();
|
||||
}
|
||||
} else if (e.key.keysym.scancode==SDL_SCANCODE_F11) {
|
||||
@@ -157,8 +157,8 @@ int main(int argc, char *argv[])
|
||||
debug::history::gototop();
|
||||
const uint8_t dt = debug::next();
|
||||
debug::refresh();
|
||||
//zxscreen::refresh(dt);
|
||||
//zxscreen::redraw();
|
||||
gbscreen::refresh(dt);
|
||||
gbscreen::redraw();
|
||||
//z80analyze::refresh();
|
||||
}
|
||||
} else if (e.key.keysym.scancode==SDL_SCANCODE_F12) {
|
||||
@@ -167,8 +167,8 @@ int main(int argc, char *argv[])
|
||||
debug::history::gototop();
|
||||
const uint8_t dt = debug::stepout();
|
||||
debug::refresh();
|
||||
//zxscreen::refresh(dt);
|
||||
//zxscreen::redraw();
|
||||
gbscreen::refresh(dt);
|
||||
gbscreen::redraw();
|
||||
//z80analyze::refresh();
|
||||
}
|
||||
}
|
||||
@@ -188,13 +188,13 @@ int main(int argc, char *argv[])
|
||||
for (int i=0;i<5;++i) {
|
||||
if (debug::isbreak(sm83::getPC(), 9)) {
|
||||
debug::stop();
|
||||
//zxscreen::redraw();
|
||||
gbscreen::redraw();
|
||||
break;
|
||||
} else {
|
||||
uint8_t dt = sm83::step();
|
||||
t_states += dt;
|
||||
//zx_ula::sound_update(dt);
|
||||
//zxscreen::refresh(dt);
|
||||
gbscreen::refresh(dt);
|
||||
if (debug::debugging()) break;
|
||||
}
|
||||
}
|
||||
@@ -210,9 +210,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
|
||||
} else if (!debug::debugging() && debug::paused()) {
|
||||
//zxscreen::redraw(false);
|
||||
gbscreen::redraw(false);
|
||||
ui::menu::show();
|
||||
//zxscreen::present();
|
||||
gbscreen::present();
|
||||
}
|
||||
ui::setClicked(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user