Commit Graph

104 Commits

Author SHA1 Message Date
Jasmine Iwanek
197e817ea3 Remove several unused variables 2023-10-08 13:32:43 -04:00
OBattler
8f21db5527 Interim 808x fixes - just enough to fix the two most outstanding problems (Prehistorik 2 and Snatch-It! being broken). 2023-08-26 16:40:29 +02:00
OBattler
6a23499051 Some clean-ups in cpu/808x.c. 2023-08-23 01:15:45 +02:00
OBattler
e387a6c2f5 The AAM instruction on NEC V20/V30 does in fact support bases other than 10, fixes #2939. 2023-08-18 19:14:50 +02:00
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04:00
Jasmine Iwanek
5cd18f3fbb Clang-formatting in src/cpu 2023-08-11 19:11:37 -04:00
Jasmine Iwanek
be79ea78c7 sonarlinting and formatting in src/cpu 2023-08-11 19:11:32 -04:00
OBattler
2cd790cf7c Current state of the 808x code. 2023-07-12 20:43:06 +02:00
OBattler
32116fdd8f Reimplemented the 808x IN and OUT instructions, fixes the PIT test on the IBM PC and XT BIOS'es. 2023-07-07 19:33:44 +02:00
OBattler
979bd75acb Merge branch 'master' of https://github.com/86Box/86Box 2023-07-06 19:59:54 +02:00
Jasmine Iwanek
927c26f496 Fix some variant type comparisons 2023-05-02 02:18:17 -04:00
TC1995
7a53e1de45 Initial softfloat port from Bochs to 86box, currently selectable only on QT. 2023-04-29 18:56:57 +02:00
OBattler
333e9377ff Some minor CPU bugfixes - one for 808x and one for the new dynarec. 2023-04-20 02:24:03 +02:00
Jasmine Iwanek
83b220cb03 clang format in cpu 2022-11-19 11:53:09 -05:00
OBattler
27ebb27db7 Makefile.mingw corrections and made the code pass much stricter checks (now mandated by Makefile.mignw) to ensure GCC 14 readiness. 2022-11-17 22:44:06 +01:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
OBattler
2a2276dbee On the NEC V20/V30, REP string instructions with segment override move IP back one further byte on a hardware interrupt, fixes V20 detection on HWiNFO16. 2022-11-03 01:04:21 +01:00
OBattler
19d6fcec24 808x flags fixes - fixes HWiNFO v2.2 hanging. 2022-11-03 00:14:31 +01:00
OBattler
605929fcba Fixed V20 / V30 MUL flags - OpenXT now correctly detects the V20. 2022-10-26 17:02:52 +02:00
OBattler
e6321d952a More V20/V30 fixes. 2022-10-26 16:45:17 +02:00
OBattler
a2d0ed214e Some NEC V20 fixes. 2022-10-26 02:46:40 +02:00
OBattler
787a6b81f7 Fixed warnings in cpu/808x.c. 2022-10-24 02:03:04 +02:00
Jasmine Iwanek
51f84ce0be Merge remote-tracking branch 'upstream/master' into nec-v20 2022-10-19 16:24:10 -04:00
Jasmine Iwanek
b4673117fd Some clang-formatting in src/cpu 2022-09-20 01:00:45 -04:00
Jasmine Iwanek
8904fd675f Use MD_FLAG 2022-09-13 08:10:24 -04:00
Cacodemon345
54bc9dc58c 808x: Make sure all 8018x opcodes are marked as handled (#19) 2022-09-10 05:39:39 -04:00
Cacodemon345
2cdc63e83a 808x: Switch to __builtin_parity for parity flag setting 2022-09-10 14:53:00 +06:00
Cacodemon345
fc2fac4c73 More i8080 + NEC changes (#18)
* More i8080 changes

* Fix compilation

* More foundational i8080 work

* Switch to __builtin_parity for parity flag setting

Fix some incorrectly implemented instructions
2022-09-10 04:50:50 -04:00
Cacodemon345
c2cc656103 Fix NEC BCD instructions (#15) 2022-09-08 14:26:05 -04:00
Cacodemon345
25b2e16a27 NEC INM/OUTM instructions (#14) 2022-09-07 15:58:42 -04:00
Cacodemon345
7b29c30819 Implement immediate IMUL operands (#13)
* Implement immediate IMUL operands

Implement PUSH segment underflow behaviour on SP = 1 values for 8018x

* Limit bit-shifts and rotates to 31 on Intel 8018x

* NEC/8018x ENTER/LEAVE instructions

* NEC/8018x bound checking instruction
2022-09-07 08:50:30 -04:00
Cacodemon345
2b0dff2ec6 Implement immediate versions of PUSH operations (#12)
Implement immediate versions of bit-shifting operations

Make word read/write operations not overflow when offset is 0xFFFF on 8018x
2022-09-06 16:59:39 -04:00
Cacodemon345
3dbfcf1fd3 NEC SUB4S and CMP4S instructions (#11)
* NEC SUB4S and CMP4S instructions

* Return to original IP properly in case of POP PS

* NEC REPC/REPNC instructions

* Make NEC BRKEM instruction a fatal for now

* Fix wrong segment addresses in some NEC instructions
2022-09-06 12:29:54 -04:00
Cacodemon345
e93cd46c78 NEC ADD4S instruction (#10) 2022-09-05 16:27:09 -04:00
Cacodemon345
323f7e7a62 NEC INS/EXT instructions (#9) 2022-09-05 06:18:10 -04:00
Cacodemon345
199bbed5ee NEC CLR1 instructions (#8)
Wraps up the fixed bitfield manipulation instructions
2022-09-04 16:00:29 -04:00
Cacodemon345
2280685526 NEC SET1 instructions (#7)
Mask the bit argument properly
2022-09-04 15:50:38 -04:00
Cacodemon345
db6eac6e2f Mark recently-added instructions as handled (#6) 2022-09-04 15:38:42 -04:00
Cacodemon345
6b55fa3d2e NEC NOT1 instruction (#5)
Fix bit value usage of TEST1 instruction
2022-09-04 15:25:08 -04:00
Cacodemon345
474ab60c97 NEC TEST1 instruction (#4) 2022-09-04 15:11:04 -04:00
Cacodemon345
71dde8658b Implement more NEC V20/V30 and 8018x instructions (#3)
* Implement more NEC V20/V30 and 8018x instructions

* PUSHA/PUSH R
* POPA/POP R
* RO(L/R)4 r/m (NEC only)

* Fix critical mistake
2022-09-04 12:30:21 -04:00
Cacodemon345
18d15758f5 Don't set ZF on MUL/MULU operations on NEC V20/V30 (#2) 2022-09-03 14:27:05 -04:00
Jasmine Iwanek
8ef1d28b2c Merge branch '86Box:master' into nec-v20 2022-03-18 15:05:25 -04:00
RichardG867
f57cbe36b1 GDB Stub: More progress 2022-03-16 00:33:01 -03:00
RichardG867
94be8cdfc6 GDB Stub: Initial commit 2022-03-12 20:20:25 -03:00
Jasmine Iwanek
6bccf983e5 Merge branch '86Box:master' into nec-v20 2022-02-20 21:08:06 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
Jasmine Iwanek
b4e5fec867 Merge branch '86Box:master' into nec-v20 2022-02-02 22:14:22 -05:00
OBattler
b3a8d0aaed And more. 2022-02-02 02:51:18 +01:00
OBattler
25e8801ede And more. 2022-02-02 02:46:11 +01:00