Deweloperska wersja emulatora małego Atari [sdl] z poprawkami p. Tomasza 'krOtki' Krasuskiego.
2011-06-13 Tomasz Krasuski <kr0tki@poczta.onet.pl>
- cartridge.[ch]: Major rewrite, required to fix bugs in piggyback cartridge emulation and with writing/reading savestates with banked cartridges.
- SDX piggyback emulation was broken and apparently written without knowing the cartridge's specs - the SDX cart only reacts to access to address $D5Ex (also $D5Fx in case of the 128K version).
- A piggyback cartridge reacts to access to page $D5 even if it is disabled by the SDX cart. So when processing a read/write to page $D5 both mounted cartridges must be bank-switched.
- A cartridge reacts to page $D5 even if there's an R-Time or IDE hardware installed in savestates the bankswitched cartridge's current state was not stored, and in some cases such savestates didn't work properly when loaded.
- Overall code cleanup - introduced the CARTRIDGE_image_t structure for clarity.
- gtia.[ch], statesav.c, cartridge.[ch] (CARTRIDGE_StateRead) (CARTRIDGE_StateSave): GTIA needs to store its trigger latches in the savestate in order to properly restore after loading a savestate wit a banked cartridge. Banked cartridge's current state must also be stored in a savestate. Both changes require bumping up the savestate version number.
- atari.c, ui.c: Apply the new API of cartridge.h.
- DOC/cart.txt: Update the SpartaDOS X sections with info about piggyback cartridges.
- atari.c, cartridge.[ch] (CARTRIDGE_Initialise): Move code for processing cartridge-related commandline optins to cartridge.c.
- cartridge.c, atari800.man, DOC/USAGE: Add -cart-type and -cart2-type options, that allow to choose cartridge type from commandline.
- cartridge.c (CARTRIDGE_ReadConfig, CARTRIDGE_WriteConfig), cfg.c: Support loading and saving of the cartridge settings in the config file.
- cartridge.[ch], ui.c, atari800.man, DOC/cart.txt DOC/USAGE: Add support for the OSS The Writer's Tool cartridge mapping.
2011-06-08 Tomasz Krasuski <kr0tki@poczta.onet.pl>
- ui_basic.c: Allow opening up the file selector when the given PATH is invalid. When a diskette image is mounted, its path is cached in the emulator. If, in the meantime, the path to that file have become invalid (e.g. the directory in which the file resided have been deleted), then reopening the file selector for that particular diskette would have failed.
- cartridge.c: Unify duplicate code in CARTRIDGE_Insert and CARTRIDGE_Insert_Second.
2011-05-22 Tomasz Krasuski <kr0tki@poczta.onet.pl>
- DOC/USAGE, atari800.man, cassette.[ch], ui.c: Add an option for making the attached cassette image read-only.
- cassette.[ch]: Cleanup - rearrange function order to place the function related to the SIO patch together at the bottom of the files.
- cartridge.[ch], ui.c: Merge "Insert Cartridge"/"Remove Cartridge" menu options into one, to make it consistent with other file-selectors in the menu (ie. display filename, Enter=Insert, BkSp=Remove). Ditto for the "Insert|Remove SDX Piggyback Cartridge" options.
- * ui.c: Don't leave the "Cartridge Management" menu after inserting/removing a cartridge. The behaviour was inconsistent with other menus.
- * screen.c: Minor fix - missing "else" in Screen_Initialise().