From 94379b2d5032ecf64339deeeb95dff6c4be62c83 Mon Sep 17 00:00:00 2001 From: OBattler Date: Mon, 23 Sep 2019 22:37:07 +0200 Subject: [PATCH] The Amstrad PC1640 now correctly loads the font and initializes the palette on init, fixes display on POST. --- src/machine/m_amstrad.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/machine/m_amstrad.c b/src/machine/m_amstrad.c index 910ad8781..eb0d1156e 100644 --- a/src/machine/m_amstrad.c +++ b/src/machine/m_amstrad.c @@ -807,8 +807,6 @@ vid_init_1640(amstrad_t *ams) vid = (amsvid_t *)malloc(sizeof(amsvid_t)); memset(vid, 0x00, sizeof(amsvid_t)); - video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_pc1640); - rom_init(&vid->bios_rom, L"roms/machines/pc1640/40100", 0xc0000, 0x8000, 0x7fff, 0, 0); @@ -818,6 +816,8 @@ vid_init_1640(amstrad_t *ams) cga_init(&vid->cga); timer_disable(&vid->ega.timer); + video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_pc1640); + mem_mapping_add(&vid->cga.mapping, 0xb8000, 0x08000, cga_read, NULL, NULL, cga_write, NULL, NULL, NULL, 0, &vid->cga); mem_mapping_add(&vid->ega.mapping, 0, 0, @@ -827,6 +827,11 @@ vid_init_1640(amstrad_t *ams) overscan_x = overscan_y = 16; + vid->fontbase = 768; + + cga_palette = 0; + cgapal_rebuild(); + ams->vid = vid; } @@ -2401,6 +2406,7 @@ machine_amstrad_init(const machine_t *model, int type) break; case AMS_PC1640: + loadfont(L"roms/video/mda/mda.rom", 0); device_context(&vid_1640_device); ams->language = device_get_config_int("language"); vid_init_1640(ams);