Atari800 SVN Changelog:
2011-08-05 Tomasz Krasuski * DOS/cart.txt, DOC/USAGE, cartridge.[ch], ui.c: Added support for the Blizzard-type 4KB cartridge (which contains a 2732 EPROM inside). 2011-07-23 Kostas Nakos * atari.c: Use FPS defines in autoframeskip * android/*: Fix a nasty bug, when orientation was changed during the preferences activity, added shadow rectangle around console keys overlay 2011-07-02 Tomasz Krasuski * cartridge.[ch], ui.c, atari800.man, DOC/cart.txt, DOC/USAGE: Added support for the OSS 043M cartridge format. The old 034M format is marked as obsolete but still supported. Renamed the OSS cartridge formats to include information on number of ROM chips (043M/034M - two chip, M091 - one chip). 2011-06-27 Tomasz Krasuski * cassette.c: Fixed a bug with eof_of_tape not always being set to 1 when it should be, f.e. after a call to CASSETTE_Seek(). When the SIO patch was enabled and the tape was Seek'ed past the last block, this could result in a call to CASSETTE_IOLineStatus() while CASSETTE_current_block was higher than CASSETTE_max_block. This in turn would cause division by 0 (due to reading an uninitialilsed value from cassette_baudblock). Now eof_of_tape is set properly after every change of either CASSETTE_current_block or CASSETTE_max_block, so a dangerous call to CASSETTE_IOLineStatus doesn't happen anymore. * cartridge.c: Fixed a bug introduced in rev. 1.48: CARTRIDGE_StateRead would try to read the cartridge's bank state even if the cartridge was not present; thus the whole state reading would fail. * afile.c: Support selecting cartridge type when loading a cartridge by Alt+R. 2011-06-21 Tomasz Krasuski * ui.c: Fixed a segfault when opening the "Fullscreen resolution" submenu. This was caused by the change in ui.h on 06-20. (reported by Krzysztof Karkosza) 2011-06-20 Tomasz Krasuski * sdl/input.c: Fixed a bug with F10 creating interlaced screenshots instead of non-interlaced. * cartridge.[ch], ui.c, atari800.man, DOC/USAGE: Ported from Atari800WinPLus - an option for enabling/disabling automatic reboot when the cartridge is inserted or removed. (Only applies to the main cartridge. After inserting or removing a piggyback cartridge, it works as earlier - ie. the system will not reboot automatically.) * ui.h, ui_basic.c: Reworked detection of menu end (UI_MENU_END). The previous solution stopped working correctly since in the CartManagement menu there are hidden menuitems with the "item" field set to NULL which would be incorrectly detected as end of menu. 2011-06-17 Tomasz Krasuski * cartridge.c, DOC/cart.txt: Reverted the last change in the 034M mapping regarding switched banks 1 and 2 - on second thought, applying such change to a years-old specification without proper discussion is not a good idea. 2011-06-16 Tomasz Krasuski *cartridge.c, DOC/cart.txt: Fixed an ages-old bug in the OSS 034M cartridge banking scheme. Banks 1 and 2 were switched, which caused all known OSS 034M dumps to fail. (There actually are only 3 known images of 034M cartridges: Action! 3.5: http://ftp.pigwa.net/stuff/collections/atari_forever/ROM/ACTION.OSS/ACTION.OSS BASIC XL 1.02: http://ftp.pigwa.net/stuff/collections/atari_forever/ROM/BASICXL.OSS/BXL102.OSS MAC/65 1.0: http://ftp.pigwa.net/stuff/collections/atari_forever/ROM/MAC65.OSS/MAC65.OSS All failed to work before this fix.) Additionally the combinations $D5x1 and $D5x5 were incorrectly described as working - I've changed it to more closely reflect the reality (the combinations cause selection of 2 banks simultaneously - but it's still not emulated 100% exactly). * cartridge.[ch], atari.c, ui.c: Moved the logic that auto-switches machine type after insertion of a cartridge. Now it resides in cartridge.c, where it belongs. Introduced new function CARTRIDGE_SetType, that should be used to change the cartridge's type. CARTRIDGE_IsFor5200 and CARTRIDGE_Start are not used outside cartridge.c anymore, so I renamed them and made static. 2011-06-13 Tomasz Krasuski * cartridge.[ch]: Major rewrite, required to fix bugs in piggyback cartridge emulation and with writing/reading savestates with banked cartridges. 1. 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). 2. 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. 3. A cartridge reacts to page $D5 even if there's an R-Time or IDE hardware installed. 3. In savestates the bankswitched cartridge's current state was not stored, and in some cases such savestates didn't work properly when loaded. 4. 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 with 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 * 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-06-05 Kostas Nakos * android/*: Implement extended key remapping, Support Xperia play keycodes, Remap dpad enter to break, New NTSC/PAL tv mode preference 2011-05-22 Tomasz Krasuski * 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 functions 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(). 2011-05-21 Tomasz Krasuski * sio.c: Fixed a bug with SIO sounds remaining audible after saving to tape with SIO patch (reported by Krzysztof Karkosza). * atari.c: During coldstart, don't automatically hold Option on non-XL/XE machines. This fixes unwanted keystrokes when running cartridges on 400/800 with the "Disable Basic" option. Also, don't hold Start on booting the 5200. * memory.c: Bugfix: When "Selecting System" and choosing 800/48KB RAM twice in a row, BASIC would get disabled even if the "Disable BASIC" option was set to "No". This was caused by missing initialisation of cartridge memory in MEMORY_InitialiseMachine(). 2011-05-18 Tomasz Krasuski * cassette.c: Fixed a bug with CASSETTE_description not being properly ended with '\0' when tape is inserted (reported by Achim Haertel). 2011-05-15 Tomasz Krasuski * cassette.[ch], pokey.c, sio.c: Improve cassette emulation, to allow loading some non-standard tapes (e.g. Feud/Turbo 2600, Miecze Valdgira II, Operation Blood). Emulation of SERIN was inaccurate - new byte appeared in SERIN only if the serial input IRQ was enabled, and it happened 2 scanlines after the byte's transmission has _started_. On a real machine, a byte appears in SERIN at the same time the serial input IRQ is generated, that is, when the byte's transmission _ends_; and it happens even when the IRQ is disabled. The bug caused issues with tapes of _certain_ baudrates (e.g. 577 baud). Changed the way cassette IRQ is invoked - there is no notion of "cassette IRQ delay" anymore. Instead, CASSETTE_AddScanLine returns TRUE on SERIN update. Added partial emulation of SKCTL reset bits - due to improved SERIN accuracy proper emulation of serial IO resetting is now needed to load tapes correctly. 2011-05-09 Tomasz Krasuski * pia.c: Fixed a bug with PIA's tape motor state and COMMAND line state not being restored on loading of a savestate. * screen.c: Display SIO activity for tapes only when a tape image is attached. * cassette.[ch], sio.c: Fixed a segfault when reading tape blocks longer than 4096 bytes, by dynamically allocationg memory when needed. Blocks loaded with SIO patch are now copied to Atari memory even when they are too short or the checksum is wrong - this duplicates the behaviour of the unpatched system. CASSETTE_buffer no longer used outside cassette.c, so it's made static. 2011-05-08 Tomasz Krasuski * atari.c, cassette.[ch], cfg.c, screen.c, sio.c, ui.c: Added support for switching bettween tape loading/saving without need to re-attach a tape image. Added a "Tape management" menu with new options for tape rewinding and creating a blank CAS image. Added loading/saving of the currently attached tape image in the config file. Without the SIO patch, a user now must manually switch tape recording on/off if needed. Fixed some bugs and cleaned the code a bit. * DOC/directx.txt, atari_curses.c, atari_falcon.c, atari_ps2.c, dos/atari_vga.c, javanvm/atari_javanvm.c, sdl/input.c, win32/atari_win32.c: Added the Alt+T shortcut to the new Tape Management menu. The "tilt screen" in the Win32 port has been remapped to Alt+Shift+Z to avoid conflict. * DOC/USAGE: Updated the "Cassette operation" section with the new features. * screen.c: Added displaying of current tape position when sector counter is enabled. Display a "Dn" symbol instead of "n" during disk operations. * ui.c: Renamed the "Show disk activity" and "Show sector counter" options to reflect the fact that they also affect tape operations. |
Download: Atari800 SVN r2083
Source: Here
0 Comments
Post a Comment