* Update vid_et4000.c
Re-enables byte panning and cursor skew emulation on ET4000 based Korean VGA that was disabled from commit 55e84c338b. This emulation is required for Korean mode emulation.
TODO : Byte panning and cursor show emulation should be work on all VGA cards so it should be re-enabled sooner or later.
* Update video.c
Add break case for machines with built-in VGA cards. No more crashes AMA-932J, Samsung SPC-4620P, Samsung SPC-6033P machines when using built-in VGA cards.
* Add files via upload
Remove C99 declarations in for loops. Solve compile problem on CentOS 7.x
* Update wx-config_sel.c
Remove C99 declarations in for loops. Solve compile problem on CentOS 7.x
* Update vid_ati28800.c
ATI28800 doesn't use packed chain4. Fixes 8bpp hi-resolution mode display.
* Update vid_et4000.c
Re-enables byte panning and cursor skew emulation on ET4000 based Korean VGA that was disabled from commit 55e84c338b. This emulation is required for Korean mode emulation.
TODO : Byte panning and cursor show emulation should be work on all VGA cards so it should be re-enabled sooner or later.
* Update video.c
Add break case for machines with built-in VGA cards. No more crashes AMA-932J, Samsung SPC-4620P, Samsung SPC-6033P machines when using built-in VGA cards.
Since we don't flush the messages to file immediately to avoid slowdowns, sometimes the application is closed before all the messages are written to the log.
This includes flushing the log when stopping the emulation, and tries to close the log file when closing the application. (It might need some more work to close it in all cases).
Also, some redundancy in logging.c and x86seg.c has been removed.
On Windows, the emulator window has a menu bar. This menu is hidden and shown when closing the emulation and when toggling fullscreen.
It was found that doing so before getting the window position gave an incorrect value so when restoring the window, the top position was shifted up.
Also, all the code about substracting the window borders seem unneeded for current SDL, or at least it also implied an unneeded offset.
Also fixed the option to open the emulation window centered on screen. It needs to know the window size before telling it to center it on screen.
Also found that, at least with SVGA, window_resize was called each render call. This means that the win_doresize was also being called, if using the "original" resize mode or the fullscreen mode.
This has been prevented if the size hasn't changed, and only forced when changing scaling.
* Add mac compilation flags
I added several definitions and to be able to be compiled in macOS Monterey.
- Define HAVE_UNISTD_H for SLIRP to be able to compile.
- Add sys/stat.h (standard POSIX header).
- Redefine fseeko64 ftello64 off64_t to normal fseek ftell and off_t as recent macs only supports 64-bit platforms.
- Re-include cdrom/cdrom-ioctl-osx.c on macOS
- Define PCEM_RENDER_WITH_TIMER PCEM_RENDER_TIMER_LOOP because macos cannot render outside main thread on SDL.
* Fix logging file handling
When you open `pcem.log` for writing. The error is not handled correctly.
This commit is to handle such error blocking the launch of the program.