- [FIX] Al anar de 10 en 10 steps de vegades se botaba breakpoints
- [FIX] Ara cada renderer te la seua textura de font - [CHG] Continuar l'execució ja no tanca el debugger - [NEW] En la memòria no tocada actual o en avanç, se "adivina" quina es la instrucció - [FIX] Resetejar el spectrum borrava la ROM - [NEW] Anar avant o arrere en el temps mou el cursor del desensamblador
This commit is contained in:
@@ -16,6 +16,8 @@ namespace zxscreen
|
||||
SDL_Window *win = nullptr;
|
||||
SDL_Renderer *ren = nullptr;
|
||||
SDL_Texture *tex = nullptr;
|
||||
SDL_Texture *uitex = nullptr;
|
||||
|
||||
uint8_t zoom = 1;
|
||||
bool fullscreen = false;
|
||||
int fullscreen_scale = 1;
|
||||
@@ -106,7 +108,6 @@ namespace zxscreen
|
||||
if (e->type == SDL_KEYDOWN) {
|
||||
if (e->key.keysym.scancode==SDL_SCANCODE_ESCAPE) {
|
||||
z80debug::pause();
|
||||
ui::setrenderer(zxscreen::getrenderer());
|
||||
zxscreen::redraw();
|
||||
} else if (e->key.keysym.scancode==SDL_SCANCODE_F1) {
|
||||
zxscreen::decZoom();
|
||||
@@ -133,6 +134,7 @@ namespace zxscreen
|
||||
if (win) ui::window::unregisterWindow(SDL_GetWindowID(win));
|
||||
|
||||
if (tex) SDL_DestroyTexture(tex);
|
||||
if (uitex) SDL_DestroyTexture(uitex);
|
||||
if (ren) SDL_DestroyRenderer(ren);
|
||||
if (win) SDL_DestroyWindow(win);
|
||||
|
||||
@@ -140,6 +142,7 @@ namespace zxscreen
|
||||
win = SDL_CreateWindow("ZX Spectrum Screen", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 352*z, 296*z, fullscreen?SDL_WINDOW_FULLSCREEN_DESKTOP:SDL_WINDOW_SHOWN);
|
||||
ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
|
||||
tex = SDL_CreateTexture(ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, 352, 296);
|
||||
uitex = ui::createtexture(ren);
|
||||
|
||||
ui::window::registerWindow(SDL_GetWindowID(win), eventHandler);
|
||||
|
||||
@@ -178,15 +181,11 @@ namespace zxscreen
|
||||
{
|
||||
if (color_addr[t_screen] != 0)
|
||||
{
|
||||
if (color_addr[t_screen] == 1)
|
||||
{
|
||||
if (color_addr[t_screen] == 1) {
|
||||
*(ptr_pixel++) = border_color;
|
||||
*(ptr_pixel++) = border_color;
|
||||
//pixels_draw+=2;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
} else {
|
||||
uint8_t color = memory[color_addr[t_screen]];
|
||||
uint8_t c1 = color&0x7, c2 = (color>>3)&0x7;
|
||||
if ((color&0x80) && flash) { c1=c2; c2=color&0x7; }
|
||||
@@ -230,6 +229,8 @@ namespace zxscreen
|
||||
{
|
||||
if (zx_tape::getplaying() && zx_tape::getOption(ZXTAPE_OPTION_FAST_LOAD)) return;
|
||||
|
||||
ui::setrenderer(ren, uitex);
|
||||
|
||||
Uint32* pixels;
|
||||
int pitch;
|
||||
SDL_LockTexture(tex, NULL, (void**)&pixels, &pitch);
|
||||
|
||||
Reference in New Issue
Block a user