Improved passing of scan codes to the emulated keyboards;
Fixed Sound Blaster 16 and earlier CD-ROM volume registers (and made them no longer default to 0); Serial mouse now resets the FIFO before sending the ID, fixes mouse detection after clipping and moving the mouse; Rewritten CD-ROM and SCSI disk Mode Select handling and changed things regarding Mode Sense as well, also fixes emulator segmentation faults when anything attempts to do a Mode Select; Fixed the Microsoft InPort mouse emulation (used the Bochs code as reference for the polling/state update code), now it actually moves; The PCjr initialization now sets the XT scan code table, makes the keyboard actually work on the PCjr again; Several bugfixes regarding the Read CD commands, fixes CD Audio in digital mode on Windows ME; Finally properly fixed the regular CD Audio MSF/LBA conversion mess; Applied all applicable PCem commits.
This commit is contained in:
@@ -32,15 +32,15 @@
|
||||
* in alpha mode, but in highres ("ECD350") mode, it displays
|
||||
* some semi-random junk. Video-memory pointer maybe?
|
||||
*
|
||||
* Version: @(#)m_amstrad.c 1.0.5 2017/12/09
|
||||
* Version: @(#)m_amstrad.c 1.0.5 2018/01/09
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
*
|
||||
* Copyright 2008-2017 Sarah Walker.
|
||||
* Copyright 2016,2017 Miran Grca.
|
||||
* Copyright 2017 Fred N. van Kempen.
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016,2018 Miran Grca.
|
||||
* Copyright 2018 Fred N. van Kempen.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -918,7 +918,7 @@ ms_poll(int x, int y, int z, int b, void *priv)
|
||||
|
||||
|
||||
static void
|
||||
kbd_adddata(uint8_t val)
|
||||
kbd_adddata(uint16_t val)
|
||||
{
|
||||
key_queue[key_queue_end] = val;
|
||||
#if ENABLE_KEYBOARD_LOG
|
||||
@@ -929,6 +929,13 @@ kbd_adddata(uint8_t val)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
kbd_adddata_ex(uint16_t val)
|
||||
{
|
||||
kbd_adddata_process(val, kbd_adddata);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
kbd_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
@@ -1258,7 +1265,7 @@ machine_amstrad_init(machine_t *model)
|
||||
io_sethandler(0x0060, 7,
|
||||
kbd_read, NULL, NULL, kbd_write, NULL, NULL, ams);
|
||||
timer_add(kbd_poll, &keyboard_delay, TIMER_ALWAYS_ENABLED, ams);
|
||||
keyboard_set_table(scancode_xt);
|
||||
keyboard_set_table(scancode_xt);
|
||||
keyboard_send = kbd_adddata_ex;
|
||||
keyboard_scan = 1;
|
||||
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
*
|
||||
* Emulation of the Olivetti M24.
|
||||
*
|
||||
* Version: @(#)m_olivetti_m24.c 1.0.7 2017/12/09
|
||||
* Version: @(#)m_olivetti_m24.c 1.0.8 2018/01/09
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
*
|
||||
* Copyright 2008-2017 Sarah Walker.
|
||||
* Copyright 2016,2017 Miran Grca.
|
||||
* Copyright 2017 Fred N. van Kempen.
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016,2018 Miran Grca.
|
||||
* Copyright 2018 Fred N. van Kempen.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -544,13 +544,20 @@ kbd_poll(void *priv)
|
||||
|
||||
|
||||
static void
|
||||
kbd_adddata(uint8_t val)
|
||||
kbd_adddata(uint16_t val)
|
||||
{
|
||||
key_queue[key_queue_end] = val;
|
||||
key_queue_end = (key_queue_end + 1) & 0xf;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
kbd_adddata_ex(uint16_t val)
|
||||
{
|
||||
kbd_adddata_process(val, kbd_adddata);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
kbd_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
@@ -827,7 +834,7 @@ machine_olim24_init(machine_t *model)
|
||||
io_sethandler(0x0064, 1,
|
||||
kbd_read, NULL, NULL, kbd_write, NULL, NULL, m24);
|
||||
keyboard_set_table(scancode_xt);
|
||||
keyboard_send = kbd_adddata;
|
||||
keyboard_send = kbd_adddata_ex;
|
||||
keyboard_scan = 1;
|
||||
timer_add(kbd_poll, &keyboard_delay, TIMER_ALWAYS_ENABLED, m24);
|
||||
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
*
|
||||
* Emulation of the IBM PCjr.
|
||||
*
|
||||
* Version: @(#)m_pcjr.c 1.0.2 2017/11/03
|
||||
* Version: @(#)m_pcjr.c 1.0.3 2018/01/09
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
*
|
||||
* Copyright 2008-2017 Sarah Walker.
|
||||
* Copyright 2016,2017 Miran Grca.
|
||||
* Copyright 2017 Fred N. van Kempen.
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016,2018 Miran Grca.
|
||||
* Copyright 2018 Fred N. van Kempen.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -669,13 +669,22 @@ kbd_poll(void *priv)
|
||||
|
||||
|
||||
static void
|
||||
kbd_adddata(uint8_t val)
|
||||
kbd_adddata(uint16_t val)
|
||||
{
|
||||
key_queue[key_queue_end] = val;
|
||||
key_queue_end = (key_queue_end + 1) & 0xf;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static void
|
||||
kbd_adddata_ex(uint16_t val)
|
||||
{
|
||||
kbd_adddata_process(val, kbd_adddata);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
speed_changed(void *priv)
|
||||
{
|
||||
@@ -753,7 +762,8 @@ machine_pcjr_init(machine_t *model)
|
||||
io_sethandler(0x00a0, 8,
|
||||
kbd_read, NULL, NULL, kbd_write, NULL, NULL, pcjr);
|
||||
timer_add(kbd_poll, &keyboard_delay, TIMER_ALWAYS_ENABLED, pcjr);
|
||||
keyboard_send = kbd_adddata;
|
||||
keyboard_set_table(scancode_xt);
|
||||
keyboard_send = kbd_adddata_ex;
|
||||
|
||||
fdc_add_pcjr();
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
*
|
||||
* Emulation of Tandy models 1000, 1000HX and 1000SL2.
|
||||
*
|
||||
* Version: @(#)m_tandy.c 1.0.1 2017/11/10
|
||||
* Version: @(#)m_tandy.c 1.0.1 2018/01/10
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2008-2017 Sarah Walker.
|
||||
* Copyright 2016,2017 Miran Grca.
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016,2018 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -119,8 +119,8 @@ typedef struct {
|
||||
} tandy_t;
|
||||
|
||||
|
||||
static scancode scancode_tandy[272] = {
|
||||
{ {-1}, {-1} }, { {0x01, -1}, {0x81, -1} },
|
||||
static scancode scancode_tandy[512] = {
|
||||
{ {-1}, {-1} }, { {0x01, -1}, {0x81, -1} },
|
||||
{ {0x02, -1}, {0x82, -1} }, { {0x03, -1}, {0x83, -1} },
|
||||
{ {0x04, -1}, {0x84, -1} }, { {0x05, -1}, {0x85, -1} },
|
||||
{ {0x06, -1}, {0x86, -1} }, { {0x07, -1}, {0x87, -1} },
|
||||
@@ -141,7 +141,7 @@ static scancode scancode_tandy[272] = {
|
||||
{ {0x24, -1}, {0xa4, -1} }, { {0x25, -1}, {0xa5, -1} },
|
||||
{ {0x26, -1}, {0xa6, -1} }, { {0x27, -1}, {0xa7, -1} },
|
||||
{ {0x28, -1}, {0xa8, -1} }, { {0x29, -1}, {0xa9, -1} },
|
||||
{ {0x2a, -1}, {0xaa, -1} }, { {0x47, -1}, {0xc7, -1} },
|
||||
{ {0x2a, -1}, {0xaa, -1} }, { {0x2b, -1}, {0xab, -1} },
|
||||
{ {0x2c, -1}, {0xac, -1} }, { {0x2d, -1}, {0xad, -1} },
|
||||
{ {0x2e, -1}, {0xae, -1} }, { {0x2f, -1}, {0xaf, -1} },
|
||||
{ {0x30, -1}, {0xb0, -1} }, { {0x31, -1}, {0xb1, -1} },
|
||||
@@ -162,100 +162,220 @@ static scancode scancode_tandy[272] = {
|
||||
{ {0x4e, -1}, {0xce, -1} }, { {0x4f, -1}, {0xcf, -1} },
|
||||
{ {0x50, -1}, {0xd0, -1} }, { {0x51, -1}, {0xd1, -1} },
|
||||
{ {0x52, -1}, {0xd2, -1} }, { {0x56, -1}, {0xd6, -1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {0x57, -1}, {0xd7, -1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {0xaa, -1}, {0x2a, -1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {0x35, -1}, {0xb5, -1} },
|
||||
{ {0xb6, -1}, {0x36, -1} }, { {0x37, -1}, {0xb7, -1} },
|
||||
{ {0x38, -1}, {0xb8, -1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {0x46, -1}, {0xc6, -1} }, { {0x47, -1}, {0xc7, -1} },
|
||||
{ {0x29, -1}, {0xa9, -1} }, { {0x49, -1}, {0xc9, -1} },
|
||||
{ {-1}, {-1} }, { {0x2b, -1}, {0xab, -1} },
|
||||
{ {-1}, {-1} }, { {0x4e, -1}, {0xce, -1} },
|
||||
{ {-1}, {-1} }, { {0x4f, -1}, {0xcf, -1} },
|
||||
{ {0x4a, -1}, {0xca, -1} }, { {0x51, -1}, {0xd1, -1} },
|
||||
{ {0x52, -1}, {0xd2, -1} }, { {0x53, -1}, {0xd3, -1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*054*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*058*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*05c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*060*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*064*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*068*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*06c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*070*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*074*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*078*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*07c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*080*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*084*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*088*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*08c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*090*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*094*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*098*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*09c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0a0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0a4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0a8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0ac*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0b0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0b4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0b8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0bc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0c0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0c4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0c8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0cc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0d0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0d4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0d8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0dc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0e0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0e4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0e8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0ec*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0f0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0f4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0f8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*0fc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*100*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*104*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*108*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*10c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*110*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*114*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*118*/
|
||||
{ {0x57, -1}, {0xd7, -1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*11c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*120*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*124*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*128*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*12c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*130*/
|
||||
{ {-1}, {-1} }, { {0x35, -1}, {0xb5, -1} },
|
||||
{ {-1}, {-1} }, { {0x37, -1}, {0xb7, -1} }, /*134*/
|
||||
{ {0x38, -1}, {0xb8, -1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*138*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*13c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*140*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {0x46, -1}, {0xc6, -1} }, { {0x47, -1}, {0xc7, -1} }, /*144*/
|
||||
{ {0x48, -1}, {0xc8, -1} }, { {0x49, -1}, {0xc9, -1} },
|
||||
{ {-1}, {-1} }, { {0x4b, -1}, {0xcb, -1} }, /*148*/
|
||||
{ {-1}, {-1} }, { {0x4d, -1}, {0xcd, -1} },
|
||||
{ {-1}, {-1} }, { {0x4f, -1}, {0xcf, -1} }, /*14c*/
|
||||
{ {0x50, -1}, {0xd0, -1} }, { {0x51, -1}, {0xd1, -1} },
|
||||
{ {0x52, -1}, {0xd2, -1} }, { {0x53, -1}, {0xd3, -1} }, /*150*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*154*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*158*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*15c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*160*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*164*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*168*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*16c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*170*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*174*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*148*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*17c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*180*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*184*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*88*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*18c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*190*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*194*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*198*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*19c*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1a0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1a4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1a8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1ac*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1b0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1b4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1b8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1bc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1c0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1c4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1c8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1cc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1d0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1d4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1d8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1dc*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1e0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1e4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1e8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1ec*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1f0*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1f4*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} }, /*1f8*/
|
||||
{ {-1}, {-1} }, { {-1}, {-1} },
|
||||
{ {-1}, {-1} }, { {-1}, {-1} } /*1fc*/
|
||||
};
|
||||
static uint8_t crtcmask[32] = {
|
||||
0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x7f, 0x7f,
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
*
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016,2018 Miran Grca.
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2018 Fred N. van Kempen.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
|
||||
Reference in New Issue
Block a user