Commit Graph

205 Commits

Author SHA1 Message Date
OBattler
4d6facb259 Fix a typo in the NSC PC87306 code. 2025-08-23 20:51:07 +02:00
OBattler
96f7806992 Winbond W83877: Actually update the FDC DMA channel on writes to register 26h. 2025-08-23 18:57:01 +02:00
OBattler
d333ea8b4f Final round of clean-ups - AT / PS/2 KBC devices reduced to a single kbc_at_device added with parameters. 2025-08-23 16:12:48 +02:00
OBattler
467b6b8f77 Round 2 of the clean-ups - AT vs. PS/2 KBC is now decided based on machine flags, reduces the chances of mismatch to zero. 2025-08-23 15:05:08 +02:00
OBattler
b7a9fed690 Winbond W83977 and KBC clean-ups. 2025-08-23 02:39:10 +02:00
OBattler
e34dc90cd4 The Super I/O chip keyboard controllers and a compile fix to the PS/55 machines. 2025-08-23 02:22:08 +02:00
OBattler
4a975fd85f Added the Amstrad PC5286 and PC7286. 2025-08-16 17:48:32 +02:00
OBattler
d2c8dab342 Finished the great internal machine reorganization and added the FIC PO-6000. 2025-08-13 23:43:51 +02:00
OBattler
59e221c4cb FIC 486 VIP-IO2: Give it the correct Flash chip and fix a bug at W837x7 reset. 2025-08-12 21:52:50 +02:00
OBattler
a4bdac000f Vendor-specific ECP configuration register B readout, assorted Super I/O chip fixes, and gave the IBM ValuePointer 433/DXi its Super I/O chip. 2025-08-12 17:59:59 +02:00
Cacodemon345
eedbccd974 Several Clang warning fixes 2025-08-12 01:09:24 +06:00
OBattler
dbd748636e Hook up Bidirectional LPT, EPP, and ECP to all Super I/O chips (missing is vendor-specific Configuration Register B behavior but that's next on my list), fixed Super I/O chip mistakes for a number of machines, split 286/386SX/M6117D machines into three separate files and reordered them as well. 2025-08-11 16:36:30 +02:00
OBattler
6e3e951860 Merged the PC87306 #define's with the PC87307/9 ones. 2025-08-03 18:32:52 +02:00
OBattler
ead6a8f8d0 Some SM(S)C fixes and the PC87306 now handles its own keyboard controller. 2025-08-03 18:26:20 +02:00
OBattler
b36f75df5e Some PC5086-related fixes - fixes hard disk and mouse initialization, fixes #5882. 2025-08-03 16:59:46 +02:00
OBattler
4ce365c8f0 FDC37c6xx: Remove excess logging. 2025-08-03 16:24:15 +02:00
OBattler
633308be28 Hook up FDC37C6xx to ECP+EPP. 2025-08-03 13:59:06 +02:00
OBattler
e415e23404 Fixed a compile-breaking mistake in sio/sio_fdc37c6xx.c. 2025-08-03 07:23:55 +02:00
OBattler
442c029fac Fixed some stray pre-device_t left-overs from Super I/O chip LPT initialization, fixes #5880. 2025-08-03 07:22:42 +02:00
OBattler
711e09e08b FDC37c67x rewrite, c93x and m60x fixes, and hooked up ECP+EPP to all three. 2025-08-02 21:14:43 +02:00
OBattler
c0d9d6aef9 More FDC37c93x fixes and FDC37m60x rewrite based on FDC37c93x. 2025-08-02 18:04:56 +02:00
OBattler
87c3765071 SM(S)C FDC73c93x and NSC PC87309 fixes. 2025-08-02 17:44:16 +02:00
OBattler
b9e294b781 Trned the LPT ports into device_t's. 2025-08-02 14:51:28 +02:00
OBattler
e2b31c2142 Merge branch 'master' of https://github.com/86Box/86Box 2025-08-02 14:03:20 +02:00
OBattler
0da985dd93 Cleaned up excess logging and finished the WD XTA fixing work. 2025-08-02 13:57:09 +02:00
OBattler
0637b316ad Added keyboard type selection. 2025-07-27 15:23:43 +02:00
OBattler
2717f38627 Split off the F82C606 from the F82C710, rewritten the F82C710, implemented the PS/2 QuickPort mouse interface and added it as standalone, added the Seagate XTA controller, and added the Amstrad PC5086. 2025-07-15 01:06:47 +02:00
OBattler
04ae339ba1 Parallel ports: Fix EPP-related ports handling, appears to fix a reported sound regression. 2025-07-07 03:07:22 +02:00
OBattler
ef977aec45 ALi M5123: Actually set the parallel port DMA channel. 2025-07-06 03:29:36 +02:00
OBattler
faf7cf9ce6 PC87310 / ALi M5105 - merge the three device_t's and use device_add_param(). 2025-06-28 01:05:24 +02:00
Jasmine Iwanek
58aa261273 LPT ECP/EPP support
Co-Authored-By: Miran Grča <oubattler@gmail.com>
2025-06-24 08:18:39 -04:00
OBattler
8482937f9f Added the Packard Bell Legend 300SX. 2025-06-13 19:42:59 +02:00
OBattler
d3f13cf82b Added the Ast! Advantage 40xxd. 2025-06-10 18:14:44 +02:00
OBattler
9ebcc44350 Add the Dell System 333s/L. 2025-05-28 19:41:27 +02:00
Miran Grča
e277fb894b PC87309: Swap keyboard and mouse to their correct logical devices. 2025-05-25 20:16:51 +02:00
OBattler
c8fbee1b62 Fixes to the two recently NSC Super I/O chips and the two boards that use the PC87309 (Tyan Tsunami ATX and the Freeway). 2025-05-22 06:20:04 +02:00
OBattler
455622492b All the required fixes - the Dell OptiPlex Gn+ now works correctly. 2025-05-21 20:49:54 +02:00
OBattler
a262a519cb PC87309: Actually fix relocation so it's implemented according to the PC87309 datasheet, not the PC87306 one. 2025-05-18 20:48:29 +02:00
OBattler
9441b6f2cf PC87309: Make the Super I/O chip relocatable. 2025-05-18 20:42:28 +02:00
OBattler
7b9b2bc10d Some FDC, SM(S)C FDC37C66x, and VLSI VL82C480 changes. 2025-05-18 08:14:46 +02:00
OBattler
e98424a8ae Added the ICS SB486PV. 2025-05-17 02:35:11 +02:00
OBattler
941766f2e8 Added the ZEOS Martin. 2025-05-16 05:04:48 +02:00
OBattler
93025cc115 SM(S)C FDC 37c6xx: Return 0xFF on out of bound register read, fixes segmentation fault on the DEC Venturis 4xx. 2025-05-06 19:29:30 +02:00
OBattler
018bbfae43 SM(S)C FDC37C93x Super I/O chip rewrite, add the Acer V62x, and un-dev-branch the V-Tech Laser XT machines. 2025-05-05 05:11:55 +02:00
Jasmine Iwanek
d00f80d3ce General changes from the obattler_202406 branch
Co-Authored-By: Miran Grča <oubattler@gmail.com>
2025-02-09 02:20:36 -05:00
Jasmine Iwanek
5f273265ae Assorted warning fixes 2025-02-02 03:24:50 -05:00
Jasmine Iwanek
4e6f29a7d5 malloc to calloc 2025-02-01 15:38:36 -05:00
Jasmine Iwanek
81b8038bc5 Clean up .available & .poll 2025-02-01 03:38:52 -05:00
Dmitry Borisov
8dc0beaeec pc87307: Fix GPIO base address configuration
Don't clobber the GPIO I/O Base value.

According to the PC87307 datasheet, port 0x60 bits [2:7] are read-only
for the Parallel Port (4) device and cannot be altered by software.
For others devices, the 0x60 port may be written with any value.

The SGI firmware emits the following PC87307 initialization sequence
after each reset:

/* Select the GPIO device (7) */
SIO IDX: 2E <-- 07
SIO DAT: 2F <-- 07

/* I/O Base MSB = 0x0F */
SIO IDX: 2E <-- 60
SIO DAT: 2F <-- 0F

/* I/O Base LSB = 0xC0 */
SIO IDX: 2E <-- 61
SIO DAT: 2F <-- C0

/* Enable address decoding (I/O Base = 0xFC0) */
SIO IDX: 2E <-- 30
SIO DAT: 2F <-- 01

The GPIO I/O Base is erroneously assigned to 0x7C0. Fix by removing the 0x07 mask.
2025-01-05 12:22:14 +06:00
Jasmine Iwanek
f4b63caf0b One line per file in CmakeLists.txt 2024-09-04 18:34:06 -04:00