Commit message (Collapse)AuthorAgeFilesLines
* sdlscrn.c: unlikely() around error conditionvsyncH. Peter Anvin2018-09-251-1/+1
* Only call SDL_PollEvent() from the vsync interruptH. Peter Anvin2018-09-255-57/+100
| | | | | | SDL_PolLEvent() might be expensive on some platforms. We could either move it into a separate thread and use SDL_WaitEvent() instead, but for now at least, just poll it only in the vsync interrupt.
* Merge branch 'hwsurface' into vsyncH. Peter Anvin2018-09-251-30/+21
| * sdlscrn: limit the frequency of updateshwsurfaceH. Peter Anvin2018-09-231-4/+15
| | | | | | | | | | On some platforms, SDL_Flip might actually wait synchronously for a vertical retrace, so don't call it more than once every 10 ms.
* | Generate the screen redraw from the simulated vsync interruptH. Peter Anvin2018-09-234-21/+37
|/ | | | | Since we have a timer for the simulated vsync interrupt, we might as well use it to actually to a video sync.
* screenshot: handle RGBA images that get converted to indexedH. Peter Anvin2018-09-221-9/+28
| | | | | If we convert an RGBA image with a nontrivial alpha channel to indexed, then we need to emit a tRNS chunk in addition to PLTE.
* screenshot: an SDL indexed surface cannot have an alpha channelH. Peter Anvin2018-09-221-1/+2
* screenshot.c: allow dumping any format, including RGBAH. Peter Anvin2018-09-221-35/+75
| | | | Add support for dumping even a nontrivial alpha channel.
* screenshot: make screenshotting code genericH. Peter Anvin2018-09-221-41/+65
| | | | | Make the screenshot code generic including support for 8/16/24-bit surfaces. Not needed for this project but perhaps in the future.
* sdlscrn: make it possible to render into a surface other than rscreenH. Peter Anvin2018-09-221-73/+112
| | | | | | | | | rscreen is the real screen, of course; make it possible to render into another surface e.g. for screenshot. Fix an error wherein switching from 80- to 40-character mode could result in SDL_UpdateRects() outside the screen (which I think is harmless due to clipping, but nevertheless...
* sdlscrn: use SDL_HWSURFACE|SDL_DOUBLEBUFH. Peter Anvin2018-09-221-7/+12
| | | | | Try to improve performace on MacOS X (and hopefully other platforms) by using SDL_HWSURFACE|SDL_DOUBLEBUF.
* autogen.sh: create config/ directoryH. Peter Anvin2018-09-211-1/+1
| | | | The config/ directory may not exist before autogen runs.
* abc80sim 3.0-rc6abc80sim-3.0-rc6H. Peter Anvin2018-09-201-1/+1
* screenshot: set some compression parametersH. Peter Anvin2018-09-201-0/+4
| | | | | Set a few compression parameters which seem to result in at least somewhat better compression.
* hostfile: don't delete a file we failed to open!H. Peter Anvin2018-09-201-1/+1
| | | | | If we didn't open it, we don't delete it... that's part of why O_EXCL is being used...
* abc80sim 3.0-rc5abc80sim-3.0-rc5H. Peter Anvin2018-09-201-1/+1
* console: improve the Windows implementationH. Peter Anvin2018-09-201-12/+16
| | | | | | Improve the Windows implementation; it now seems to work correctly-ish (we still end up reattaching to a console which has already been abandoned; much like ending with an & in Unix.)
* abc80sim 3.0-rc4abc80sim-3.0-rc4H. Peter Anvin2018-09-201-1/+1
* Try to create universal behavior w.r.t. detach and attachH. Peter Anvin2018-09-207-13/+150
| | | | | | | If running from the Windows CLI, try to reattach to the console. Allow any operating system to detach from its console via the --detach option.
* mkwin: very simple script to make a Win64 binaryH. Peter Anvin2018-09-201-0/+22
* abc80sim 3.0-rc3abc80sim-3.0-rc3H. Peter Anvin2018-09-201-1/+1
* tag: simple script to create a new release tagH. Peter Anvin2018-09-201-0/+18
* Unbreak screenshots in the current directoryH. Peter Anvin2018-09-201-3/+0
* Support loading a file into the ABC802 MEM: areaH. Peter Anvin2018-09-208-35/+130
* tracing: allow trace output to be redirected to a fileH. Peter Anvin2018-09-206-58/+84
| | | | | This is convenient especially when running on Windows detached from a console, or some other environment where stdout can't be relied upon.
* More changes to make the autoconf creation more automatedH. Peter Anvin2018-09-193-7/+8
* hostfile: use the hostfile subsystem for disk and fileopH. Peter Anvin2018-09-195-195/+200
* sdlscrn: update commentH. Peter Anvin2018-09-191-1/+1
* hostfile: a unified subsystem for host files, replaces tempfileH. Peter Anvin2018-09-1912-281/+473
| | | | | Clean up a bunch of duplicated code by creating a unified framework for host system files.
* Updated autogen system, create aclocal.m4 as neededH. Peter Anvin2018-09-1914-185/+202
* HELP.txt: the output of abc80 --help for the benefit of Windows usersabc80sim-3.0-rc2H. Peter Anvin2018-09-181-0/+28
| | | | Sigh. Windows. Always "special".
* abc80: make both checksum 11273 and 9913 ROMs availableH. Peter Anvin2018-09-189-5/+21
| | | | | | | | Make both the 1.0 (checksum 11273, "classic") and 1.2 (checksum 9913, "modern") BASIC ROMs available. There was also a 1.1 (checksum 10042); it supposedly only differs from 9913 in exactly one byte(?!?) and thus are basically the same from a software perspective. 10042 seems kind of rare; if anyone finds one I can add that, too...
* abcmem: allow ABC80 memory size to be configurableH. Peter Anvin2018-09-183-3/+32
| | | | | Make it possible to run ABC80 with different memory sizes, up to 32K, or 64K (Mikrodatorn) with port 7 bank switching.
* patchlevel.h: bump versionH. Peter Anvin2018-09-181-1/+1
* Need to add <direct.h> on Windowsabc80sim-3.0-rc1H. Peter Anvin2018-09-181-0/+3
* screenshot: actually handle the default null prefixH. Peter Anvin2018-09-181-2/+5
* A few more productization hacks, add Alt-r and Alt-nH. Peter Anvin2018-09-182-15/+42
* autogen.sh: delete config/config.hH. Peter Anvin2018-09-181-1/+1
* screenshot: allow screenshots to be sent to a directoryabc802H. Peter Anvin2018-09-184-38/+49
* Actual working implementation of abc80 and 802, with user stuff...H. Peter Anvin2018-09-1810-100/+228
* abc802: make MEM: and the CTC timer interrupt workH. Peter Anvin2018-09-186-27/+118
| | | | | We now can open the MEM: area correctly, and the CTC timer interrupt works, although with hard-coded time constants.
* abc802: enough of a DART CH-B model to support keyboard and WIDTHH. Peter Anvin2018-09-184-7/+131
| | | | | | Implement enough of a DART channel B model to support entering stuff on the keyboard and also support the WIDTH command and vertical retrace.
* print: drop stdin redirection & environment variablesH. Peter Anvin2018-09-183-65/+34
| | | | | | On "some other operating systems" it is just too painful. Simply substitute a * character in the command with the path of the temporary file.
* print: push_env: don't copy duplicate variables (if any)H. Peter Anvin2018-09-181-3/+11
* print: fix Windows command lineH. Peter Anvin2018-09-181-1/+1
* tempfile.c: remove debugging #if 0H. Peter Anvin2018-09-181-1/+1
* mysdl.h: delete unused header fileH. Peter Anvin2018-09-181-11/+0
* Avoid name clashes on Windows, fix incorrect errno handlingH. Peter Anvin2018-09-182-14/+16
* New, hopefully more portable printing implementationH. Peter Anvin2018-09-184-155/+196
* tempfile: handle binary/text mode flag a *little* bit saner...H. Peter Anvin2018-09-172-9/+29