- [NEW] Zoom per a la pantalla retina
- Treballant en la càrrega instantànea de TAPs
This commit is contained in:
9
z80.cpp
9
z80.cpp
@@ -190,10 +190,11 @@ namespace z80
|
|||||||
{
|
{
|
||||||
t+=1;
|
t+=1;
|
||||||
reading_m1 = true;
|
reading_m1 = true;
|
||||||
/*if (rPC==0x056c) {
|
if (rPC==0x056A) {
|
||||||
zx_tape::rewind();
|
z80debug::stop();
|
||||||
zx_tape::play();
|
//zx_tape::rewind();
|
||||||
}*/
|
//zx_tape::play();
|
||||||
|
}
|
||||||
return READ_MEM_8();
|
return READ_MEM_8();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ namespace z80debug
|
|||||||
if ((e->window.event==SDL_WINDOWEVENT_SHOWN) || (e->window.event==SDL_WINDOWEVENT_EXPOSED)) {
|
if ((e->window.event==SDL_WINDOWEVENT_SHOWN) || (e->window.event==SDL_WINDOWEVENT_EXPOSED)) {
|
||||||
int w; int h;
|
int w; int h;
|
||||||
SDL_GetWindowSize(win, &w, &h);
|
SDL_GetWindowSize(win, &w, &h);
|
||||||
|
w/=2; h/=2;
|
||||||
midx = (w/CHR_W) - 25;
|
midx = (w/CHR_W) - 25;
|
||||||
win_h = (h/CHR_H);
|
win_h = (h/CHR_H);
|
||||||
mem_y = win_h - mem_h - con_h;
|
mem_y = win_h - mem_h - con_h;
|
||||||
@@ -332,8 +333,9 @@ namespace z80debug
|
|||||||
void show()
|
void show()
|
||||||
{
|
{
|
||||||
if (!win) {
|
if (!win) {
|
||||||
win = SDL_CreateWindow("Z80 Debugger", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 98*CHR_W, 44*CHR_H, SDL_WINDOW_RESIZABLE);
|
win = SDL_CreateWindow("Z80 Debugger", 10, 50, 98*CHR_W*2, 44*CHR_H*2, SDL_WINDOW_SHOWN);
|
||||||
ren = SDL_CreateRenderer(win, -1, 0);
|
ren = SDL_CreateRenderer(win, -1, 0);
|
||||||
|
SDL_RenderSetLogicalSize(ren, 98*CHR_W, 44*CHR_H);
|
||||||
ui::window::registerWindow(SDL_GetWindowID(win), eventHandler);
|
ui::window::registerWindow(SDL_GetWindowID(win), eventHandler);
|
||||||
tex = ui::createtexture(ren);
|
tex = ui::createtexture(ren);
|
||||||
}
|
}
|
||||||
@@ -382,7 +384,7 @@ namespace z80debug
|
|||||||
void cont() {
|
void cont() {
|
||||||
zxscreen::setTitle("");
|
zxscreen::setTitle("");
|
||||||
is_debugging = is_paused = false;
|
is_debugging = is_paused = false;
|
||||||
//hide();
|
hide();
|
||||||
refresh();
|
refresh();
|
||||||
zxscreen::focus();
|
zxscreen::focus();
|
||||||
speaker::enable();
|
speaker::enable();
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace zxscreen
|
|||||||
uint32_t t_states_per_scanline = 224;
|
uint32_t t_states_per_scanline = 224;
|
||||||
uint32_t vsync_lines = 16;
|
uint32_t vsync_lines = 16;
|
||||||
|
|
||||||
uint8_t zoom = 1;
|
uint8_t zoom = 2;
|
||||||
bool fullscreen = false;
|
bool fullscreen = false;
|
||||||
bool full_refresh = true;
|
bool full_refresh = true;
|
||||||
int fullscreen_scale = 1;
|
int fullscreen_scale = 1;
|
||||||
@@ -113,6 +113,11 @@ namespace zxscreen
|
|||||||
bool eventHandler(SDL_Event *e)
|
bool eventHandler(SDL_Event *e)
|
||||||
{
|
{
|
||||||
if (e->type==SDL_WINDOWEVENT) {
|
if (e->type==SDL_WINDOWEVENT) {
|
||||||
|
//int x, y;
|
||||||
|
//SDL_GetWindowPosition(win, &x, &y);
|
||||||
|
//char tmp[256];
|
||||||
|
//sprintf(tmp, " %ix%i", x, y);
|
||||||
|
//setTitle(tmp);
|
||||||
if (e->window.event==SDL_WINDOWEVENT_CLOSE) {
|
if (e->window.event==SDL_WINDOWEVENT_CLOSE) {
|
||||||
return false;
|
return false;
|
||||||
} else if ((e->window.event==SDL_WINDOWEVENT_SHOWN) || (e->window.event==SDL_WINDOWEVENT_EXPOSED)) {
|
} else if ((e->window.event==SDL_WINDOWEVENT_SHOWN) || (e->window.event==SDL_WINDOWEVENT_EXPOSED)) {
|
||||||
@@ -163,7 +168,7 @@ namespace zxscreen
|
|||||||
if (win) SDL_DestroyWindow(win);
|
if (win) SDL_DestroyWindow(win);
|
||||||
|
|
||||||
const int z = fullscreen ? 1 : zoom;
|
const int z = fullscreen ? 1 : zoom;
|
||||||
win = SDL_CreateWindow("ZX Spectrum Screen", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 352*z, 296*z, fullscreen?SDL_WINDOW_FULLSCREEN_DESKTOP:SDL_WINDOW_SHOWN);
|
win = SDL_CreateWindow("ZX Spectrum Screen", 1216, 565, 352*z, 296*z, fullscreen?SDL_WINDOW_FULLSCREEN_DESKTOP:SDL_WINDOW_ALLOW_HIGHDPI);
|
||||||
ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
|
ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
|
||||||
tex = SDL_CreateTexture(ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, 352, 296);
|
tex = SDL_CreateTexture(ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, 352, 296);
|
||||||
uitex = ui::createtexture(ren);
|
uitex = ui::createtexture(ren);
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ namespace zx_tape
|
|||||||
pulse_pos -= PULSE_LEN_SYNC3;
|
pulse_pos -= PULSE_LEN_SYNC3;
|
||||||
pulse_level = 0;
|
pulse_level = 0;
|
||||||
current_section = PULSE_WAIT;
|
current_section = PULSE_WAIT;
|
||||||
printf("going to pulse_wait..%i.\n", current_block);
|
printf("going to pulse_wait..%i (%i).\n", current_block, blocks[current_block].length);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user