Commit Graph

337 Commits

Author SHA1 Message Date
Maxim Poliakovski
c0078ce97d Refactor MachineBase and MachineFactory classes.
Adding new machines is much easier now.
A significant amount of duplicated code has been reduced.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
9971052a78 mesh: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
7db0a31cc5 nvram: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
5e6f3a51b5 soundserver: shut-down safely. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
c37893847a atimach64gx: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
1d37982d02 mace: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
41a314d6d6 bandit: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
2dfc160e30 sc53c94: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
5f8a927846 platinum: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
97b3b9a6f8 MPC106: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
cb68b70d52 hmc: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
66debbc730 viacuda: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
9056d53474 macio: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
ca51c34157 amic: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
7fc28baf96 escc: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
439029cafe swim3: self-registration with the device registry. 2022-07-18 20:27:34 +02:00
Maxim Poliakovski
dc5373ae27 Implement basic device registry. 2022-07-18 20:24:40 +02:00
Maxim Poliakovski
f9ec73cd05 Merge branch 'tnt' 2022-06-18 18:47:31 +02:00
Maxim Poliakovski
5668fc161f macio: fix SWIM3 register space accesses. 2022-06-13 23:15:48 +02:00
Maxim Poliakovski
1d6f296d10 chario: working Windows CharIo backend. 2022-06-12 17:55:34 +02:00
Maxim Poliakovski
913944c607 platinum: implement video controller registers. 2022-06-09 23:16:03 +02:00
dingusdev
fd3ff7b703 Initial attempt at terminal support for Windows 2022-05-22 17:46:40 -07:00
Maxim Poliakovski
06001a778f GCC compilation fixes. 2022-05-21 15:10:40 +02:00
Maxim Poliakovski
f93df3b5c3 GrandCentral: improve error logging. 2022-05-21 14:51:28 +02:00
Maxim Poliakovski
51e6ffb24f GrandCentral: properly connect Curio SCSI. 2022-05-21 14:51:28 +02:00
Maxim Poliakovski
d928d3ff55 CharIoStdin: disable SIGINT generation with Ctrl-C. 2022-05-21 14:51:28 +02:00
Maxim Poliakovski
4c9001901e ESCC: connect NULL and STDIO backends. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
da25e72668 Fix ESCC register addressing. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
0df1b2c408 ATI Mach64 GX controller emulation. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
226b51d8db displayid: constructor with parameters. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
cd7624feb5 videoctrl: add pixel_depth member. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
bd24b644c9 Move ATI Mach64 definitions to separate header. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
ed02a06bb8 pcidevice: loading of expansion ROMs from files. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
5b7e79b979 Bandit: implement I/O space transactions. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
bfd48eeeb2 Bandit: implement address mask register. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
4225f0aec2 ofnvram: implement changing of string variables. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
6b686e402e videoctrl: fix surface size. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
dd79ec38e4 ATIRage: hack to support OF output. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
a7e06f4e4b Utility class for viewing/changing OF NVRAM variables. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
4b2f3cedc7 Make NVRAM a full-fledged HW component. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
32891867f2 GrandCentral: basic device interrupt handling. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
0ab4f4a7f9 GrandCentral: external SCSI (Curio style). 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
934f794d20 GrandCentral: fix access to NVRAM subdevice. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
9317719814 GrandCentral: access to ESCC and board reg 1. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
4676cfeee2 Platinum: implement memory controller registers. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
8be44dad82 Heathrow: interrupt registers & mode 1 interrupts. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
617f75851b Initial emulation of the GrandCentral I/O controller. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
fc3901676b Heathrow: use common PCI configuration code. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
fcfb2372b9 MPC106: use common PCI configuration code. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
36098af5eb ATIRage: use common PCI configuration code. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
d863fa0c80 Bandit: use common PCI configuration code. 2022-05-21 14:51:27 +02:00
Maxim Poliakovski
1f67a57d7b Common code for handling PCI config space. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
9d7d9f3103 MACE: add MaceEnet namespace. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
8d9691cc6f MESH: add MeshScsi namespace. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
6c564cb720 amic: fix MACE register range. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
4b32e9bd30 Initial emulation of the Platinum Memory controller. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
23a046d889 Refine Bandit config address handling. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
cdb34032bc Initial emulation of the Bandit ARBus-to-PCI bridge. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
74f4dbd7e6 pcihost: pull common code from Grackle. 2022-05-21 14:51:26 +02:00
Maxim Poliakovski
8889759f33 GrandCentral: improve error logging. 2022-05-21 14:45:33 +02:00
Maxim Poliakovski
533edf6ef5 GrandCentral: properly connect Curio SCSI. 2022-05-17 13:27:58 +02:00
Maxim Poliakovski
b26baaaeff CharIoStdin: disable SIGINT generation with Ctrl-C. 2022-05-07 23:42:33 +02:00
Maxim Poliakovski
e0b94e0b47 ESCC: connect NULL and STDIO backends. 2022-05-07 21:47:22 +02:00
Maxim Poliakovski
d4c08bbe31 Fix ESCC register addressing. 2022-05-07 21:47:22 +02:00
Maxim Poliakovski
57b102dae2 ATI Mach64 GX controller emulation. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
0e09ecdfa4 displayid: constructor with parameters. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
8fcdc5298a videoctrl: add pixel_depth member. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
3a4f22f459 Move ATI Mach64 definitions to separate header. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
b78f17c161 pcidevice: loading of expansion ROMs from files. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
4bba61a920 Bandit: implement I/O space transactions. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
d64f901f85 Bandit: implement address mask register. 2022-04-13 23:31:44 +02:00
Maxim Poliakovski
883aac2d05 ofnvram: implement changing of string variables. 2022-04-13 23:27:53 +02:00
Maxim Poliakovski
f6e5d72e3c videoctrl: fix surface size. 2022-04-13 23:27:53 +02:00
Maxim Poliakovski
c967eb3c65 ATIRage: hack to support OF output. 2022-04-13 23:27:53 +02:00
Maxim Poliakovski
ba8e3b657c Utility class for viewing/changing OF NVRAM variables. 2022-03-29 01:55:11 +02:00
Maxim Poliakovski
4d87ed9b38 Make NVRAM a full-fledged HW component. 2022-03-29 01:55:11 +02:00
Maxim Poliakovski
d71a7b8694 GrandCentral: basic device interrupt handling. 2022-03-28 18:33:59 +02:00
Maxim Poliakovski
e01d0e3d59 GrandCentral: external SCSI (Curio style). 2022-03-28 18:26:47 +02:00
Maxim Poliakovski
4525fd50cc GrandCentral: fix access to NVRAM subdevice. 2022-03-28 18:26:47 +02:00
Maxim Poliakovski
29ce960dbf GrandCentral: access to ESCC and board reg 1. 2022-03-28 18:26:47 +02:00
Maxim Poliakovski
ac5078f133 Platinum: implement memory controller registers. 2022-03-28 18:26:47 +02:00
Maxim Poliakovski
276cd37cfe Heathrow: interrupt registers & mode 1 interrupts. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
1500c63e26 Initial emulation of the GrandCentral I/O controller. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
4c45b3dfa2 Heathrow: use common PCI configuration code. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
574677490f MPC106: use common PCI configuration code. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
e47b66e1af ATIRage: use common PCI configuration code. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
73aa68bc30 Bandit: use common PCI configuration code. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
3bce7bb1ea Common code for handling PCI config space. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
6d004f0bf8 MACE: add MaceEnet namespace. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
e913f39812 MESH: add MeshScsi namespace. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
3235018260 amic: fix MACE register range. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
a7e4dc9d83 Initial emulation of the Platinum Memory controller. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
13f18c416d Refine Bandit config address handling. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
400ce0b713 Initial emulation of the Bandit ARBus-to-PCI bridge. 2022-03-14 18:13:47 +01:00
Maxim Poliakovski
289df32817 pcihost: pull common code from Grackle. 2022-03-14 18:13:47 +01:00
dingusdev
36fa53e8c1 MSVC compilation fixes 2022-03-12 15:43:45 -07:00
Maxim Poliakovski
827d7f10dd pdmonboard: reduce logging messages. 2022-02-26 13:37:47 +01:00
Maxim Poliakovski
4de10898ea Improve ESCC stub to bypass LocalTalk. 2022-02-26 10:57:13 +01:00
Maxim Poliakovski
205b5a4956 escc: implement reset commands. 2022-02-26 10:57:13 +01:00
Maxim Poliakovski
c946693450 escc: unify compatible and MacRISC addressing. 2022-02-26 10:57:13 +01:00