Commit Graph

74 Commits

Author SHA1 Message Date
waltje
f5c934d57e More layering cleanups.
Phase 1 of re-working the configuration system. All variables are now in a single structure (well, will be) and code will be updated in phases.  Left are FDD, DISK, CDROM, ZIP and Joystick.
2019-05-04 15:26:32 -05:00
waltje
f56cb9eec8 Updated travis-build script to display build options (for clarity.)
Fixed a buffer overflow in vid_voodoo.c (thanks DS)
Fixed the BIOS-loading error that caused the PS/2 M50 to not boot.
Small changes here and there.
Disabled writing keyboard to the host (for now.)
2019-04-30 21:18:35 -05:00
waltje
bbab8fecd7 Updates to no longer have the selected machine's data as a global variable.
Fixed the 'crash on unknown machine name in config' bug.
Fixed some issues with the ROM loader, PS/2 M50 still doesnt work.
Made the error message from dynld.c a DEBUG message.
Fixed some stuff in the VNC driver (pending changes in the VNC DLL.)
Cleaned up the MinGW Makefile, VC will follow.
Added screenshots code to the D2D renderer.
2019-04-29 21:03:48 -05:00
waltje
212d7aea98 Updates to fix (and improve) the UI handling of the emulated keyboard state.
Updatd mem.c with new readmem386l and writemem386l functions from 86Box.
Several cleanups to the keyboard layer to remove some weirdness.
Updated the NVR code and nvr_at.c to just use a speed_changed member for the AT devices.
2019-04-26 22:03:41 -05:00
waltje
9377948f42 Updates to implement a (proper) Bull Micral 45 machine.
Updated mouse_bus.c to allow for post-init setting of IRQ.
Updated scsi_ncr5380.c to allow for post-init setting of base/IRQ.
Updates to allow for a SCSI controller to be on-board (internal.)
2019-04-23 23:12:47 -05:00
waltje
30b903c744 Many small fixes here and there.
Devices now have a 'path' member, which usually points to a ROM file, or loader script.
No more 'available' functions unless one is needed for special cases.
Machines now can be 'configured' for mainboard settings etc.
Machines are now devices as well (root devices).
Regular devices now get a pointer to a 'parent' device.
The machines table has been reduced to just a lookup table, machine info is now inside the machine file.
Machine-specific CPU lists are now inside the machine file.
Chipset implementations are now devices, and were moved to devices/chipsets/
Much work on individual machines done.
All COMPAQ machines moved to dev-branch.
Zenith SupersPORT moved to dev-branch.
The i686-based machines (Tyan) released from dev-branch and cleaned up.
Several new MFM and RLL disk controllers for XT, in dev-branch for now.
2019-04-21 16:09:56 -05:00
waltje
b59bd2881f Small fixes here and there.
First phase of cleaning up the PIC code block.
2019-03-01 03:02:20 -05:00
waltje
eb3a082cfa Re-added PIT changes, and re-worked the code. Works now. 2019-02-15 19:24:44 -05:00
waltje
b2d7b102c8 Went back to #330 tree, and manually applied patches to #331 until it breaks.
Fixed several issues with the code.
Fixed Hercules to be detected again - still no graphics.
Fixed several issues in the PC/XT keyboard driver to be correct.
.. and while at that, added support for the IBM-PC Cassette Interface!
(eat THAT, Sarah!)
2019-02-13 01:44:05 -05:00
waltje
b325a5174a Applied relevent upstream patches.
Cleaned up and fixed small things.
2019-02-11 23:53:00 -05:00
waltje
32e034d5fa Several small, ongoing changes and fixes.
Updated the 808x CPU block from the 86Box one- good work, OBattler!
Small changes to GUS and PAS-16 cards.
Added the Zenith SupersPort machine from PCem.
Fixed the cursor blinking rate in CGA - thanks, OBattler!
2019-02-10 16:56:24 -05:00
waltje
1d1aa927d5 Fixed building for new GUS MAX.
Updated copyright dates etc.
2019-01-13 16:38:56 -05:00
waltje
5742718111 Changes to clean up CPU codegen (dynarec) to allow compiling without it again.
Change to fix compile error if RELEASE=y.
2018-11-13 19:30:34 -05:00
waltje
d97c3a91e8 Several rounds of code cleanups.
Fixed the heap-trashing bug.
Applied some more upstream patches.
2018-10-26 14:30:34 -04:00
waltje
98eaa3bd34 Many small changes and fixes for building a 64-bit application.
Both GCC and VC builds seem to work OK for Windows, as does the Linux version.
2018-10-25 01:20:32 -04:00
waltje
22379f55ad Applied all relevant upstream patches.
Cleaned up the CD-ROM stuff a bit more, merging the drive and the image parts.
Updated disk, cdrom and zip structures to use the same bus_id union.
2018-10-16 19:53:01 -04:00
waltje
5d6b369df8 Various fixes, resulting from (more) Linux work.
Upstream commits applied.
2018-10-08 02:27:25 -04:00
waltje
2f69c95152 Full Upgrade to the 1.7 tree. 2018-10-06 18:31:10 -04:00
waltje
e659efd4ac Small fixes. 2018-09-28 14:47:00 -04:00
waltje
428528ff57 Bumped version to 0.1.6.5.
Added a workaround to handle possible NULL returns from malloc; we now call a wrapper function which will notify the user, clean up and then exit the application if that happens.
2018-09-23 16:35:45 -04:00
waltje
116a7f68af Minor upstream changes. 2018-09-22 19:15:04 -04:00
waltje
10efb6f0cd Small fixes, and language update for JP.
Release train 0.1.6(.4) is currently the <Stable-Release> path.
Release train 0.1.7(.0) is currently being tested.
2018-09-10 05:42:28 -04:00
waltje
dad6c07865 Various upstream changes applied. 2018-09-04 01:42:09 -04:00
waltje
e0252036e6 Added 8088-1 (10MHz) CPU support.
Added presetting a filename for NVR (so cards can use that.)
Updated some more translation files for STR_3480 and STR_3481.
Added a new card: ISA-based Clock/RTC cards for PC/XT systems.
Un-did previous change to XT ST506 driver.
2018-08-29 03:58:50 -04:00
waltje
15d9edf697 Small changes to the ET4000 driver.
Updates to allow debug binaries in the same folder.
Changes to move the Language Packs into lang/ under ExePath.
Removed the GREENB machine, just another AMI486 machine.
2018-08-26 23:54:14 -04:00
waltje
f6eae8c658 Initial release of the ISA Memory Expansion Card driver. Not done yet, but works. 2018-08-25 14:52:56 -04:00
waltje
3bb15e1fe7 Added several small upstream patches for CPU module.
Added the D2D rendering module from 86Box, and updated it.
Fixed the Slovenian translation.
Added Norwegian (Bokmal) translation.
Several small fixes here and there.
2018-07-28 20:53:54 -04:00
waltje
7919fbdb93 Fixes for FDC and AT keyboard (showing when running AT&T System V/386 R3.2 UNIX.)
Added memory context dumping for debugging.
2018-06-27 15:04:21 -04:00
waltje
162afde8b8 More cleanups.
Added more languages.
Updated SCAT machines (for the Asian demo machines.)
Fixed VC project files.
Started integrating building of language DLL's into mainline.
Added the Award 8088 XT Clone machine.
2018-06-16 18:40:48 -04:00
waltje
d3039192e7 Adding multi-language support.
Cleanups.
2018-06-04 16:49:29 -04:00
waltje
d393e95f8f Fixed bug in XTA driver.
Fixed string-loading issue.
Fixes for handling file dialog, filters, etc.
Changed the return value of dlg_file so we can use its RO flag.
Removed the additional _WP statusbar menu items (no longer needed with new RO handling.)
2018-05-11 21:31:52 -04:00
waltje
bf676a9213 More warnings fixed (in cpu/ and mem.c)
More vidapi cleanups, synced with UNIX version now.
More fine-tuning of UI code here and there.
2018-05-10 03:58:47 -04:00
waltje
4d076d37e0 Re-did the VIDAPI stuff and moved to the common code. 2018-05-09 18:11:20 -04:00
waltje
6bc2044b73 Fixed the floppy-error bug on VC builds (was uninited variable in fdd_img.c)
Made the CD=ROM ioctl support code conditional, as per OBattler's concerns over that code.
2018-05-09 01:48:48 -04:00
waltje
c5b29c2a09 Cleaned up the VIDAPI interface - renderers now export only one symbol.
DirectDraw and Direct3D modules re-integrated as one single driver.
VNC is now enabled by default, it will be runtime-disabled if the DLL is not found.
The BUGGER device moved to devices/ ; will be an external device (DLL) soon.
2018-05-08 03:12:42 -04:00
waltje
393480c2f6 Final move of files into the new structure. 2018-05-06 22:51:54 -04:00
waltje
1d6dcdee7b More cleanups (mostly in cpu) and consting the CPU opcode tables.
Removed the crcspeed/ folder entirely - was no longer used.
2018-05-06 16:18:53 -04:00
waltje
12bbba12e6 More warning cleanups (shadowed variables.) 2018-05-05 15:47:17 -04:00
waltje
df05f2775c Updated VC14 files.
Small fixes (while testing with Code::Blocks)
2018-05-03 21:28:19 -04:00
darkstar
87421947fd Fix compilation for MSVC
This function breaks when none of the three #defines are defined. Just
declare the variable unconditionally and rely on the compiler to
optimize it out when it's not needed
2018-05-04 00:08:03 +02:00
waltje
de1818e661 Revamped the UI setup layer, which also fixes the VC builds. 2018-05-03 17:25:28 -04:00
waltje
2eb86d639b More UI cleanups and fixes. 95% of the UI code is now common.
Added missing "invert_display" config item.
Added some more local logging functions.
2018-04-30 17:44:11 -04:00
waltje
9f04d73b62 Major change to split UI functions into common and front-and parts.
Cleaned up more warnings.
2018-04-29 19:39:16 -04:00
waltje
b454a4260c Moved keyboard, mouse and joystick stuff to new input/ folder. 2018-04-26 18:15:32 -04:00
waltje
80093782ca Re-worked the Game Port and Joystick code. They are now separate.
Moved all "ports" (Game, Parallel, Serial) into new folder ports/.
2018-04-26 16:47:51 -04:00
waltje
e61e7ea47e Flush all changes from the last two weeks. Still several issues not done.
Cleaned up parallel ports.
Reworked serial ports as devices (still need to clean the chipsets..)
Fixed some issues in Makefile.local.
Prepared for the XTA driver.
Reworked the mouse code AGAIN, fixes crashes on some serial mice and the PS/2 mouse.c
Cleaned up win_devconf.c.
2018-04-20 04:19:29 -04:00
waltje
6b21c4c921 Big cleanup of the use of regular and const string pointers. Where possible, const is used to enfore R/O-ness of string arguments.
Important change to the NVR code to "fix" the PS/1 and PS/2 systems, plus a cleanup.
All device tables now end with a NULL, not an empty string.
Configuration code now deals better with this.
Machine and Video lookup now return -1 if not found/available, and pc_init() will throw the user into Setup if that is the case.
If for some reason the configured memory size exceeds machine limit, it is now adjusted.
2018-04-11 17:42:22 -04:00
waltje
23fcf833b4 Change to not allow configured memory size to go over machine's limit (fixes #25.)
Lots of cleanup changes all over to fix the constness of strings [again].
Some cleanups in config.c to remove old stuff.
2018-04-10 23:48:26 -04:00
waltje
4bdd17f440 You were late, Travis... already saw that! 2018-04-09 23:12:30 -04:00
waltje
8837593d86 Minor change - if defined, use 4-digit version, otherwise 3-digit. 2018-04-09 23:09:50 -04:00