diff --git a/src/devices/ports/parallel_dev.c b/src/devices/ports/parallel_dev.c index 1177939..c13ae9d 100644 --- a/src/devices/ports/parallel_dev.c +++ b/src/devices/ports/parallel_dev.c @@ -8,7 +8,7 @@ * * Implementation of the parallel-port-attached devices. * - * Version: @(#)parallel_dev.c 1.0.5 2018/08/31 + * Version: @(#)parallel_dev.c 1.0.6 2018/08/31 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -48,7 +48,7 @@ #include "../../devices/sound/snd_lpt_dac.h" #include "../../devices/sound/snd_lpt_dss.h" #if USE_PRINTERS -# include "../../devices/printer/printer_escp.h" +# include "../../devices/printer/printer.h" #endif @@ -59,16 +59,22 @@ static const struct { } devices[] = { {"None", "none", NULL }, + {"Disney Sound Source", "dss", &dss_device }, {"LPT DAC / Covox Speech Thing", "lpt_dac", &lpt_dac_device }, {"Stereo LPT DAC", "lpt_dac_stereo", &lpt_dac_stereo_device }, + #if USE_PRINTERS + {"Generic TEXT printer", + "lpt_printer_text", &lpt_printer_text_device }, + {"Generic ESC/P Dot-Matrix printer", "lpt_printer_escp", &lpt_printer_escp_device }, #endif + {NULL, NULL, NULL } }; diff --git a/src/machines/m_at_scat.c b/src/machines/m_at_scat.c index e38880d..2597e10 100644 --- a/src/machines/m_at_scat.c +++ b/src/machines/m_at_scat.c @@ -10,7 +10,7 @@ * * Re-worked version based on the 82C235 datasheet and errata. * - * Version: @(#)m_at_scat.c 1.0.10 2018/08/20 + * Version: @(#)m_at_scat.c 1.0.11 2018/08/31 * * Authors: Fred N. van Kempen, * Original by GreatPsycho for PCem. @@ -253,7 +253,7 @@ set_xms_bound(uint8_t val) scat_xms_bound = max_xms_size; if (scat_xms_bound > 0x100000) mem_set_mem_state(0x100000, scat_xms_bound - 0x100000, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL); - if (scat_xms_bound < (mem_size << 10)) + if (scat_xms_bound < ((uint32_t)mem_size << 10)) mem_set_mem_state(scat_xms_bound, (mem_size << 10) - scat_xms_bound, MEM_READ_EXTERNAL | MEM_WRITE_EXTERNAL); } @@ -897,7 +897,7 @@ set_global_EMS_state(int state) if(i < 24) mem_mapping_disable(&scat_4000_EFFF_mapping[i]); else mem_mapping_disable(&scat_4000_EFFF_mapping[i + 12]); mem_mapping_enable(&scat_ems_mapping[i]); - if(virt_addr < (mem_size << 10)) mem_mapping_set_exec(&scat_ems_mapping[i], ram + virt_addr); + if(virt_addr < ((uint32_t)mem_size << 10)) mem_mapping_set_exec(&scat_ems_mapping[i], ram + virt_addr); else mem_mapping_set_exec(&scat_ems_mapping[i], NULL); } else { mem_mapping_set_exec(&scat_ems_mapping[i], ram + base_addr); @@ -928,16 +928,16 @@ memmap_state_update(void) for (i= (((scat_regs[SCAT_VERSION] & 0xF0) == 0) ? 0 : 16);i<44;i++) { addr = get_scat_addr(0x40000 + (i << 14), NULL); - mem_mapping_set_exec(&scat_4000_EFFF_mapping[i], addr < (mem_size << 10) ? ram + addr : NULL); + mem_mapping_set_exec(&scat_4000_EFFF_mapping[i], addr < ((uint32_t)mem_size << 10) ? ram + addr : NULL); } addr = get_scat_addr(0, NULL); - mem_mapping_set_exec(&scat_low_mapping[0], addr < (mem_size << 10) ? ram + addr : NULL); + mem_mapping_set_exec(&scat_low_mapping[0], addr < ((uint32_t)mem_size << 10) ? ram + addr : NULL); addr = get_scat_addr(0xF0000, NULL); - mem_mapping_set_exec(&scat_low_mapping[1], addr < (mem_size << 10) ? ram + addr : NULL); + mem_mapping_set_exec(&scat_low_mapping[1], addr < ((uint32_t)mem_size << 10) ? ram + addr : NULL); for (i = 2; i < 32; i++) { addr = get_scat_addr(i << 19, NULL); - mem_mapping_set_exec(&scat_low_mapping[i], addr < (mem_size << 10) ? ram + addr : NULL); + mem_mapping_set_exec(&scat_low_mapping[i], addr < ((uint32_t)mem_size << 10) ? ram + addr : NULL); } if((scat_regs[SCAT_VERSION] & 0xF0) == 0) { @@ -969,7 +969,7 @@ memmap_state_update(void) mem_mapping_disable(&scat_low_mapping[2]); for(i=0;i<6;i++) { addr = get_scat_addr(0x100000 + (i << 16), NULL); - mem_mapping_set_exec(&scat_remap_mapping[i], addr < (mem_size << 10) ? ram + addr : NULL); + mem_mapping_set_exec(&scat_remap_mapping[i], addr < ((uint32_t)mem_size << 10) ? ram + addr : NULL); mem_mapping_enable(&scat_remap_mapping[i]); } } else { @@ -1114,7 +1114,7 @@ scat_write(uint16_t port, uint8_t val, void *priv) if((scat_regs[SCAT_EMS_CONTROL] & 0x80) && (scat_stat[index].regs_2x9 & 0x80)) { virt_addr = get_scat_addr(base_addr, &scat_stat[index]); - if(virt_addr < (mem_size << 10)) mem_mapping_set_exec(&scat_ems_mapping[index], ram + virt_addr); + if(virt_addr < ((uint32_t)mem_size << 10)) mem_mapping_set_exec(&scat_ems_mapping[index], ram + virt_addr); else mem_mapping_set_exec(&scat_ems_mapping[index], NULL); flushmmucache(); } @@ -1135,7 +1135,7 @@ scat_write(uint16_t port, uint8_t val, void *priv) virt_addr = get_scat_addr(base_addr, &scat_stat[index]); if(index < 24) mem_mapping_disable(&scat_4000_EFFF_mapping[index]); else mem_mapping_disable(&scat_4000_EFFF_mapping[index + 12]); - if(virt_addr < (mem_size << 10)) mem_mapping_set_exec(&scat_ems_mapping[index], ram + virt_addr); + if(virt_addr < ((uint32_t)mem_size << 10)) mem_mapping_set_exec(&scat_ems_mapping[index], ram + virt_addr); else mem_mapping_set_exec(&scat_ems_mapping[index], NULL); mem_mapping_enable(&scat_ems_mapping[index]); } else { @@ -1226,7 +1226,7 @@ mem_read_scatb(uint32_t addr, void *priv) scat_t *stat = (scat_t *)priv; addr = get_scat_addr(addr, stat); - if (addr < (mem_size << 10)) + if (addr < ((uint32_t)mem_size << 10)) val = ram[addr]; return val; @@ -1244,7 +1244,7 @@ mem_write_scatb(uint32_t addr, uint8_t val, void *priv) if (chkaddr >= 0xC0000 && chkaddr < 0x100000) { if(scat_regs[SCAT_RAM_WRITE_PROTECT] & (1 << ((chkaddr - 0xC0000) >> 15))) return; } - if (addr < (mem_size << 10)) + if (addr < ((uint32_t)mem_size << 10)) ram[addr] = val; } @@ -1256,7 +1256,7 @@ mem_read_scatw(uint32_t addr, void *priv) scat_t *stat = (scat_t *)priv; addr = get_scat_addr(addr, stat); - if (addr < (mem_size << 10)) + if (addr < ((uint32_t)mem_size << 10)) val = *(uint16_t *)&ram[addr]; return val; @@ -1274,7 +1274,7 @@ mem_write_scatw(uint32_t addr, uint16_t val, void *priv) if (chkaddr >= 0xC0000 && chkaddr < 0x100000) { if(scat_regs[SCAT_RAM_WRITE_PROTECT] & (1 << ((chkaddr - 0xC0000) >> 15))) return; } - if (addr < (mem_size << 10)) + if (addr < ((uint32_t)mem_size << 10)) *(uint16_t *)&ram[addr] = val; } @@ -1286,7 +1286,7 @@ mem_read_scatl(uint32_t addr, void *priv) scat_t *stat = (scat_t *)priv; addr = get_scat_addr(addr, stat); - if (addr < (mem_size << 10)) + if (addr < ((uint32_t)mem_size << 10)) val = *(uint32_t *)&ram[addr]; return val; @@ -1304,7 +1304,7 @@ mem_write_scatl(uint32_t addr, uint32_t val, void *priv) if (chkaddr >= 0xC0000 && chkaddr < 0x100000) { if(scat_regs[SCAT_RAM_WRITE_PROTECT] & (1 << ((chkaddr - 0xC0000) >> 15))) return; } - if (addr < (mem_size << 10)) + if (addr < ((uint32_t)mem_size << 10)) *(uint32_t *)&ram[addr] = val; } diff --git a/src/win/mingw/Makefile.MinGW b/src/win/mingw/Makefile.MinGW index 1b13b98..ae31fed 100644 --- a/src/win/mingw/Makefile.MinGW +++ b/src/win/mingw/Makefile.MinGW @@ -8,7 +8,7 @@ # # Makefile for Windows systems using the MinGW32 environment. # -# Version: @(#)Makefile.mingw 1.0.54 2018/08/31 +# Version: @(#)Makefile.mingw 1.0.55 2018/08/31 # # Author: Fred N. van Kempen, # @@ -548,7 +548,7 @@ ifeq ($(DEV_BRANCH), y) ifeq ($(PRINTERS), y) OPTS += -DUSE_PRINTERS=1 - DEVBROBJ += printer_escp.o + DEVBROBJ += prt_text.o prt_cpmap.o prt_escp.o endif endif diff --git a/src/win/msvc/Makefile.VC b/src/win/msvc/Makefile.VC index a8d5006..74c9c45 100644 --- a/src/win/msvc/Makefile.VC +++ b/src/win/msvc/Makefile.VC @@ -522,7 +522,7 @@ ifeq ($(DEV_BRANCH), y) ifeq ($(PRINTERS), y) OPTS += -DUSE_PRINTERS=1 - DEVBROBJ += printer_escp.obj + DEVBROBJ += prt_text.obj prt_cpmap.obj prt_escp.obj endif endif