diff --git a/src/86box.c b/src/86box.c index 92e2f0c24..3994d72f2 100644 --- a/src/86box.c +++ b/src/86box.c @@ -1606,6 +1606,8 @@ pc_close(UNUSED(thread_t *ptr)) plat_mouse_capture(0); + warning("CS:EIP = %04X:%08X\n", CS, cpu_state.pc); + /* Close all the memory mappings. */ mem_close(); diff --git a/src/include/86box/m_pcjr.h b/src/include/86box/m_pcjr.h index 7a137fb03..c6cb33588 100644 --- a/src/include/86box/m_pcjr.h +++ b/src/include/86box/m_pcjr.h @@ -17,8 +17,10 @@ #pragma once -#define PCJR_RGB 0 -#define PCJR_COMPOSITE 1 +#define PCJR_RGB 0 +#define PCJR_COMPOSITE 1 +#define PCJR_RGB_NO_BROWN 4 +#define PCJR_RGB_IBM_5153 5 typedef struct pcjr_s { diff --git a/src/machine/m_pcjr.c b/src/machine/m_pcjr.c index e76889d93..30a5e609a 100644 --- a/src/machine/m_pcjr.c +++ b/src/machine/m_pcjr.c @@ -782,9 +782,11 @@ static const device_config_t pcjr_config[] = { .file_filter = "", .spinner = { 0 }, .selection = { - { .description = "RGB", .value = PCJR_RGB }, - { .description = "Composite", .value = PCJR_COMPOSITE }, - { .description = "" } + { .description = "RGB", .value = PCJR_RGB }, + { .description = "Composite", .value = PCJR_COMPOSITE }, + { .description = "RGB (no brown)", .value = PCJR_RGB_NO_BROWN }, + { .description = "RGB (IBM 5153)", .value = PCJR_RGB_IBM_5153 }, + { .description = "" } } }, { diff --git a/src/video/vid_pcjr.c b/src/video/vid_pcjr.c index 17a43fb40..2b3eb730a 100644 --- a/src/video/vid_pcjr.c +++ b/src/video/vid_pcjr.c @@ -686,7 +686,7 @@ pcjr_vid_init(pcjr_t *pcjr) pcjr->memctrl &= ~0x24; display_type = device_get_config_int("display_type"); - pcjr->composite = (display_type != PCJR_RGB); + pcjr->composite = (display_type == PCJR_COMPOSITE); pcjr->apply_hd = device_get_config_int("apply_hd"); overscan_x = 256; overscan_y = 32; @@ -698,6 +698,9 @@ pcjr_vid_init(pcjr_t *pcjr) vid_in, NULL, NULL, vid_out, NULL, NULL, pcjr); timer_add(&pcjr->timer, vid_poll, pcjr, 1); - cga_palette = 0; + if (pcjr->composite) + cga_palette = 0; + else + cga_palette = (display_type << 1); cgapal_rebuild(); }