1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255
|
Version 5.2.0 (2023/12/29)
==========================
New features:
-------------
* possibility of renaming the host device "letter" from previously hardcoded
H: to any letter but C: (cassette), E:, K: and S:
So if you have e.g. a program with hardcoded "D:" (as for diskette) you
can now use it on a host device as well by renaming the host device to D:
either via the Emulation configuration -> Host device settings menu
or using command line option
-Hdevicename <X>
* little thing but useful (for me at least): tooltip in the settings
menu that reminds users there are virtual host devices with
automatic ATASCII<->ASCII conversions (mainly end-of-line character).
Extremely useful for all text files including ATARI BASIC source code
that can be stored using LIST "H6:PROGRAM.LST" and read back using
ENTER "H6:PROGRAM.LST" (H6 = H1 with ASCII conversion, etc.).
Version 5.1.0 (2023/12/28) - released at SILK
==========================
Thanks to all the contributors (see git log for each commit author)
New features:
-------------
* New command line options:
-playbacknoexit = don't exit the emulator after playback finishes
-joy-distinct
Allows larger number of joysticks by not combining multiple physical
devices into a single emulated joystick. For example this allows using
keyboard to emulate one or two joysticks, and to use these in conjunction
with physical SDL joysticks / controllers in order to play with more people
than there are SDL joysticks. The same logic gets applied to LPT joysticks,
these come after joysticks from keyboard emulation.
Furthermore, the logic also gets applied to put SDL joysticks after LPT
joystics even when the command line flag isn't set. Since LPT joysticks
take precedence over SDL joysticks on the same emulated device, this takes
a device that was completely ignored before and makes it useful now.
The assignments are fixed at program start-up, after config file and command
line flags have been taken into account. If the UI is used to enable or
disable a keyboard-emulated joystick, this can cause an emulated joystick
to be controlled by multiple physical devices, or by none.
* Swap also SDL joysticks on AltL+J
This swaps all physical devices connected to the first two emulated
joysticks: the keyboard keys, the SDL devices, and the LPT devices.
After the swap the real joystick / hat setting in the UI will appear swapped
as well, but the keyboard setting won't (fixes #156).
* Show all input events on a single line during recording
This way the recording file alternates between two forms of lines: input
lines which contain all keyboard and joystick events in one line, and output
lines with the screen content digest. By filtering out the former, the
latter can be aggregated nicely, e.g. using a command like this:
zcat ${file:?} | grep -vE '^[0-9A-F]{8} *$' | uniq -c
Consecutive frames of equal input state will be represented as a single row,
with a repeat count giving an idea for how long the state was maintained.
* RAM cartridges implementation (#184)
- Many RAMCART and one SiDiCar cartridges
- Support for writeable cartridges
- CART monitor command
- Make blank cartridge UI option
- Reserved CART file ids for additional cartridge types currently unemulated by Atari800,
added also the description of the types
* added XEX reading in monitor (useful for patches)
* Added H: device rename; save it in setup file (#204)
Changes:
--------
* Altirra OS updated to v3.41
* Altirra BASIC updated to v1.58
* Fix buffer over-read in generate_partial_pmpl_colls (#165)
* Atari ST/TT/Falcon optimizations
* Fixed keystrokes for inserting/deleting of line/character (#179)
* SIO now resets BRKKEY (fixes Arsantica 3 demo)
* Fix for issue #199 (BBSB warp doesn't work)
* Fixes CTRL and CAPS keys when using SDL12-compat library.
* DOC/README.RPI explains clearly support for various RaspberryPis
Version 5.0.0 (2022/05/28) - released at Atariada.cz (yay!)
==========================
Big thanks to all contributors (see git log for each commit author)
New features:
-------------
* AVI video recording (Alt+V hotkey) by Rob McMullen
-vcodec command line arg can select video codec
-aname and -vname CL args set patterns for sound and video recording
-horiz-area & -vert-area command line args for controlling the image area
-showstats (and -no-showstats) CL args and related config file param
-compression-level for configuring PNG and ZMBV compression
* MP3 audio and other audio codecs for audio recording (Alt+W hotkey)
-acodec can select audio codec
* New cartridge types supported:
- 71: Super Cart 64 KB 5200 cartridge (32K banks)
- 72: Super Cart 128 KB 5200 cartridge (32K banks)
- 73: Super Cart 256 KB 5200 cartridge (32K banks)
- 74: Super Cart 512 KB 5200 cartridge (32K banks)
- 75: Atarimax 1 MB Flash cartridge (new)
- 94: Ram-Cart 64 KB cartridge
- 95: Ram-Cart 128 KB cartridge
- 96: Double Ram-Cart 2x128/256 KB cartridge
- 97: Ram-Cart 1 MB cartridge
- 98: Ram-Cart 2 MB cartridge
- 99: Ram-Cart 4 MB cartridge
- 100: Ram-Cart 8 MB cartridge
- 101: Ram-Cart 16 MB cartridge
- 102: Ram-Cart 32 MB cartridge
- 103: SiDiCar 32 KB cartridge
See DOC/cart.txt for details.
* support for remapping of all function keys (START, SELECT, OPTION etc)
* support for comments in config file
* tool for creating cart files from ROM files
* support for 64-512K Atari 5200 bank-switchable carts with Bryan's design
* support for the alternate variant of MaxFlash 1 MB.
* support for single RaspberryPi OS package with HW specific binaries
Changes:
--------
* video triple buffering changed to double buffering
* fixed #74 by using proper getcwd()
* gamma values in NTSC filter presets updated
* MacOS build enables R: by default
* fixed saving of config file
* using zlib-provided crc32 if HAVE_LIBZ is defined (#72)
* Altirra OS updated to v3.28
* renamed "Switchable 5200" cartridges to "Super Cart"
* fixed segfault when a 5200 Super Cart cartridge is removed
* avoided unnecessary memory copying of 5200 Super Carts
* fixed #88 issue in opening a cartridge
* BUILD instructions and new README for Android
* fixed segfault when exiting monitor
* fixed BBSB's lift not working
* avoided unnecessary memory copying in Bounty Bob cartridges
* allow configuring --with-audio=win in non-DirectX targets
* allow configuring --with-audio=sdl and --with-video <> sdl
* atari_x11.c: don't auto-repeat the 'screenshot' key
* build compatible with dash
Version 4.2.0 (2019/12/28) - released at SILK
==========================
New Features:
-------------
* raw Pokey registers recording by Ivo van Poorten
* new platform supported: FireBee
* optional hiding of hidden files/folders in the UI file selector
* libatari800 (Atari800 as a library) by Rob McMullen
* R: device (many years old feature) enabled by default
Fixes:
------
* proper check if SDL joysticks are found (fixes #58)
* Portrait mode for Android (related to #41)
* RMW for Pokey
* ROM OS path changes handled better
* improved "Find ROM images" - now Atari800 reboots if necessary
* fixed an old bug which caused freezing in the UI on Falcon
New command line options:
-------------------------
* -pokeyrec and its children
* -atari_files
* -saved_files
* -kbdjoy0 -kbdjoy1 -nokbdjoy0 -nokbdjoy1
Plus many Atari Falcon specific fixes and improvements by Mikro.
Version 4.1.0 (2019/04/13) - release cooked at Atariada.cz (again :-)
==========================
New Features:
-------------
* Atari800 now includes Altirra BIOS-es for all emulated systems: 400/800,
XL/XE, and 5200; as well as Altirra BASIC. It is now possible to use the
emulator without providing any ROM images.
* The Altirra OS-es and Altirra BASIC can now be selected by users in the
"System settings", if they want to use them. Previously Altirra OS was used
automatically only when no other OS ROMs were found.
* joyhat support for all four real joysticks, configurable in CLI/cfg/TUI
Notable changes:
----------------
* All documentation specific to building Atari800 on Windows has been moved
from DOC/INSTALL to a new file, DOC/BUILD.windows. This document
has also been expanded with a new chapter covering building Atari800 using
MSYS2.
* Ability to use the built-in EmuOS firmware has been removed. Users wishing
to run Atari800 without providing OS ROMs now have an option of using the
built-in Altirra OS-es, which are compatible with much more Atari software
than EmuOS.
At the same time, it is still possible to compile a version of Atari800
without any OS ROMs built in, by means of the --disable-altirra_bios
configure option.
Port specific improvements:
---------------------------
== Atari Falcon ==
* More Videl/screen handling fixes
* Ability to run Atari800 in an AES-less environment
* Replaced C2P with MMU friendly and faster code
* Atari800 should run on all TOS clones with XBIOS Sound API
== Android ==
* Fixed building of the Android target, broken in the previous release.
* Fixed labels on console keys (unreadable on hi-res displays)
* Fixed console keys press detection
* Fixed "right-handed joystick" trigger press
== Raspberry Pi ==
* updated build documentation
* find proper Broadcom GLes libraries
* fixed bug in GRAPHICS 9 (shifted colors)
== MS Windows ==
* updated build documentation
General Fixes:
--------------
* updated build documentation
* it is possible to build atari800 out of source tree
* unconnected host joysticks initialized properly, fixes the MULE game
Version 4.0.0 (2018/04/21) - release cooked at Atariada.cz
==========================
This release brings four years of hard work of fellow Atari800 developers
on improvements and bugfixes of our favorite Atari emulator.
Ports to Atari ST/TT/Falcon, Android, Raspberry Pi and Sega Dreamcast
have been improved (some of them greatly).
CPU, SIO, ANTIC, GTIA, POKEY and PIA emulation has been corrected.
Atari800 now includes Altirra BIOS so it is now possible to run *some*
programs even without installing the original ROM files.
The total number of changes is so huge that major version bump was necessary.
Contrary to usual NEWS entries here follows a very incomplete list. It might
be updated in later releases. In the meantime please read DOC/ChangeLog
and the commit history in git for complete list of changes.
This release contains breaking changes in color handling. Users updating from
an earlier version should reset their color settings, or else the display
might be unreadable. To reset the color settings, do one of these:
* Select one of the presets available in the menu option "Display settings"->
"Color preset"; or
* Run atari800 with the -color-preset command-line option, e.g.:
atari800 -colors-preset standard; or
* Delete the emulator's config file (.atari800.cfg). Caution: you'll lose
all Atari800 settings!
New features:
-------------
* Support for loading of CAS images with "fsk" chunks - images of
copy-protected tapes can now be loaded, with SIO patch being disabled.
* Bit3 Full View 80 Column card emulation.
* New cartridge type 68: "Atrax 128 KB cartridge".
Previously existing cartridge type 17: "Atrax 128 KB cartridge" was based
on a misconception - real Atrax cartridges have their address and data
lines intermixed, so type 17 could not be used with actual ROM dumps. So,
type 17 has been renamed to "Decoded Atrax 128 KB cartridge", and new type
68 has been added, whcih now can be used for Atrax ROM chip dumps.
* New cartridge types supported:
- aDawliah 32 KB cartridge
- aDawliah 64 KB cartridge
* new command line switch "-volume" (for 16bit sound output) that can set
the output volume of the Atari 800 emulator with value from 0 to 100.
Notable Changes:
----------------
* The Sound Settings option "Fragment size" has been renamed to less cryptic
"Hardware buffer size".
* Total emulator volume is lower now because the output has been shifted
in order to fix a possible annoying humming sound in silence on some
receivers (TV sets).
Port specific improvements:
---------------------------
== Atari ST/TT/Falcon ==
* CPU emulation fixes for the assembly target (now synchronised with the
mainline code, incl. the cycle exact mode)
* Stereo POKEY support
* Video enhancements: flicker-less rendering & RGB monitors support
* SuperVidel support (that means much faster direct rendering using its
8-bit chunky mode)
* Many small fixes and optimisations
== Android ==
* Built-in Planetary Defense 2012 by Tom Hudson, an enhanced version of
the classic game with emulated touchscreen controls.
* New feature: Native sound playback for post 2.3 devices, automatically
enabled. Eliminates stuttering and inconsistent timing of previous
implementation.
General Fixes:
--------------
* Fixed computation of gamma adjustment - now it is applied to each of the
three RGB channels separately.
* On systems that support synchronized sound: Fixed the emulator crashing
when Dual POKEY was enabled while High Fidelity POKEY was turned off.
* Improve screen update routines in the Dreamcast port. They don't use
DIRTYRECT anymore but are faster than the old routines when the whole
screen is dirty.
Version 3.1.0 (2014/04/12) - release cooked at Atariada.cz
==========================
Highlight of this release: Raspberry Pi port by Andrey Dj
Hidden easter egg: on-screen keyboard in SDL by Christian Groessler
All the following work has been done by Tomasz Krasuski:
General new features:
---------------------
* More accurate emulation of PAL colours (based on analysis of oscillograms
of real PAL GTIA output)
* Improved PAL blending, working on all grayscale pixels and is accurate now
(can be enabled/disabled in "TV effect" display settings)
* common sound layer implemented (SDL, JavaNVM, OSS, DOS) with synchro sound.
* synchronized sound is now supported by both POKEY sound engines.
* turbo mode (F12) is considerably faster
* Added cartridge mapping used by "Turbo Hit"/"Atari Blizzard Hit".
* Added MegaMax 2 MB cartridge mapping.
* Added read-only support for the 4 MB Flash MegaCart mapping.
* Added minimal support for The!Cart.
General Fixes:
--------------
* fixed possible unnecessary cartridge bank switching
* fixes and clean up in Java port
* fixed diagnostic cartridge cold start (doesn't send Start+Option)
* fixed two old bugs in DOS sound (pitch being wrong and sound missing)
* fixed keyboard not working for ncurses video and OSS sound
Version 3.0.0 (2013/03/03)
==========================
New features:
-------------
* Option to automatically save configuration on exit
* More settings saved in configuration:
- currently attached tape file
- cartridge settings, including currently attached cartridges
- state of R-Time 8
- system settings, including Mosaic/Axlon RAM size
* New Tape Management menu - can now create blank tape images, switch tape
to read/write in order to save additional data at the end of the current
tape image, rewind/fast forward the tape, and mark it as read-only. See
DOC/USAGE for details.
* Displaying tape position when "Show sector/block counter" is enabled.
* Reworked Cartridge Management menu - now displays filename of the
attached cartridge.
* Option to disable restarting of the machine after cartridge change.
* When attaching a cartridge from the command line, cartridge type can now
be specified using the new -cart-type and -cart2-type options.
* New cartridge types supported:
- OSS 8 KB cartridge
- OSS two chip 16 KB cartridge (043M)
- Blizzard 4 KB cartridge
- AST 32 KB cartridge
- Atrax SDX 64 KB cartridge
- Atrax SDX 128 KB cartridge
- Turbosoft 64 KB cartridge
- Turbosoft 128 KB cartridge
- Ultracart 32 KB cartridge
- Low bank 8 KB cartridge
- SIC! 128 KB cartridge
- SIC! 256 KB cartridge
- SIC! 512 KB cartridge
- Standard 2 KB cartridge
- Standard 4 KB cartridge
- Right slot 4 KB cartridge
* The configure script can now auto-detect some of the available display and
sound interfaces before compiling.
* Option to enable XEP80 added to The Emulator Settings menu.
* Emulation of the 1200XL, including console LEDs, no built-in BASIC, the
F1-F4 keys (mapped to arrow keys in the SDL version) and the on-board
J1 jumper.
* Emulation of the XE Game System, including the built-in game and
detachable keyboard.
* Revamped the Select System menu (now called System Settings). Can now
select many system settings, including RAM expansions, OS and BASIC
revision, and more.
* System ROM settings moved to a separate menu. Now it stores paths to all
known official revisions of the Atari OS, the 5200 BIOS, all BASIC
revisions, and the XEGS built-in game. The OS revision to use is chosen
automatically when selecting a machine type (for example, the 400/800 OS
PAL or NTSC version is chosen depending on the selected TV system).
* 400/800: Emulation of all RAM sizes achievable with different combinations
of the CX852 and CX853 modules - from 8 to 48 KB.
* Emulation of 32/48KB memory sizes in the XL/XE mode, compatible
with memory expansions for the 600XL manufactured by RC Systems.
* Emulation of the MapRAM hardware hack.
* Display settings: "Hue" renamed to "Tint". Tint now configurable also in
PAL mode.
New Android port features:
--------------------------
* Renamed Atari800 Android port to "Colleen"
* Implemented extended key remapping
* Implemented the B: device (8-bit games can reach the web now)
* Support for Xperia play keycodes added
* Remapped dpad enter to break
* Added paddle emulation
* Optimized file selector, allow roaming outside of ext. storage dir
* Added an exclusion border for paddle mode
* Implemented state saving
* Implemented Planetary Defense mode, a Koala Pad click-where-I-point mode
* Natively supported UI on post-Honeycomb devices
* Fixes for Jelly Bean (audio stuttering, keypad dialogs, soft keyboard)
* Added new dialog for cartridge type selection
* UI fine tuning
General Fixes:
--------------
* Bugfixes in cassette emulation - works reliably even for tape images with
long (> 4096 B) blocks.
* Fixes in save states - loading of save states works correctly even with an
attached bank-switched cartridge or with an Axlon/Mosaic RAM expansion.
Note 1: Format of the state files has changed. Old save states can still
be opened, but newly-created ones cannot be opened in older versions of
Atari800.
Note 2: Tape position is not restored on loading of save states. Do not
save state during tape loading/saving - it won't work as expected.
* "Disable BASIC when booting Atari" no longer emulates pressing of the
Option key when in the 400/800 mode.
* Fixed a bug with BASIC sometimes disabling itself when switching system
type to 400/800
* Minor bugfixes in file selector
* Fixed emulation of SpartaDOS X piggyback cartridge functionality
* "Save Screenshot" fixed - it saved an interlaced screenshot instead of a
normal one.
* SDL version: Swapped mapping of right and middle mouse buttons, to make it
identical to the X11 and Win32 ports.
* Monitor: fixed displaying/disassembling of memory area $D000-$D7FF - with
the new supported cartridge types, code may reside on page $D5, and now it
can be debugged.
* SDL version: fixed a blue border when in OpenGL BGRA32 mode.
* Minor fixes in parsing of command-line options.
* Rewritten XEP80 emulation - now more accurate and supports switching
between NTSC/PAL modes with correct aspect ratio. XEP80 emulation now
requires a charset ROM image, path to which should be set in the
XEP80_CHARSET line in the config file.
* Fixed operating system patches not working with all official revisions of
the OS.
* Fixed emulation of separate ANTIC/CPU access to XE RAM when Self-Test is
enabled.
* Fixed the emulator menu sometimes being displayed incorrectly (missing
font) when running without an OS ROM image.
* Improved accuracy of generated colours in PAL mode.
* Fixed emulation of the H: read operation - Turbo Basic's BLOAD now works
on H: devices.
Version 2.2.1 (2011/04/28)
==========================
Quick update fixing some annoying bugs from the previous release
and adding some new host screen optimizations and improvements:
* X11 target can be compiled again
* SDL sound on *BSD should work
* older compilers (DOS/BeOS) should compile again
* many SDL/OpenGL workarounds for Microsoft Windows libSDL bugs
* IDE fix and CF emulation
* some small Android fixes and new arrow key derotation workaround
* UI sliders used for more settings (video area/shift options)
* several command line options renamed to be more intuitive (see the USAGE)
* automatic detection of host screen aspect ratio
* added option for disabling OpenGL Pixel Buffer Objects
* added option for enabling video synchronization with vertical retrace
* added option for selecting pixel format in OpenGL
* now saves the Show Speed/Disk Activity/Sector Counter in the settings
Version 2.2.0 (2011/04/02)
==========================
Another update after two long years. A lot of changes and major improvements:
New features:
-------------
* SDL features synchronized sound (GTIA+POKEY digisounds play properly now)
* SDL display enhancements (hardware accelerated using OpenGL)
* DirectX display enhancements (also hardware accelerated)
* Improved NTSC and PAL colours (presets: Standard/Deep Black/Vibrant)
* Austin Franklin 80 Column card
* Emulate the Alien Group Voice Box I and II
* Added support for F12 turbo mode.
* IDE emulation (compatible with MyIDE)
* New Android port by Kostas Nakos (available in the App Market already)
* Auto frame skip for slower devices (currently enabled for Android only)
Fixes:
------
* trak-ball (cx22) emulation fixed
* SDL: leftmost column missing in 16/32bpp fixed
* DirectX default for Win32 SDL
SDL Display enhancements:
-------------------------
1. Fullscreen resolution - this gives a list of all available resolutions from
which a user chooses one. The default resolution is the next-bigger-than
336x240.
2. Fullscreen: yes/no - obvious. Window size is independent from the chosen
fullscreen resolution and can be changed by resizing the window.
3. Rotate sideways: yes/no - rotates the screen by 90 deg. Works as earlier,
ie. only for "standard" display (no NTSC filter, no 80 column card).
4. Stretch - this option controls how display stretching (scaling) is
performed. We can select one of:
a) none - no stretching at all
b) integer multiples (default) - width and height will be resized by 1x, 2x,
3x etc.
c) full - stretching is unrestricted, display will cover the entire screen.
5. Keep aspect ratio - this option controls how the display's aspect ratio is
corrected. 3 options available:
a) disabled - no aspect ratio correction, display will fill entire
screen/window,
b) 1:1 (default) - width and height will be multipled by the same value
c) like real TV - display will be resized to reflect pixel aspect ratio of a
real Atari connected to a TV. Atari pixels are not square; pixel width-to-
height ratio is about 0.857 for NTSC and 1.039 for PAL. This option reflects
that.
6. Host display aspect ratio - here the user enters aspect ratio of his
monitor. This value is used to properly compute display aspect ratio when
"Keep aspect ratio" is set to "like real TV". Set it to 4:3 (default), 16:9,
1.78:1 etc.
7. Horizontal view area - this option sets the size of Atari screen area
visible horizontally. Choose one of:
a) narrow - 320 columns wide,
b) normal (default) - 336 columns wide,
c) full - 384 columns
d) custom - lets the user enter any value between 160 and 384.
8. Vertical view area - similar to above:
a) short - 200 lines high
b) normal (default) - this setting is TV-system-dependent. In PAL this makes
all 240 lines visible, while in NTSC top and bottom 8 lines are hidden, which
leaves 224 lines visible. I've made this as such because apparently on NTSC
TVs not all 240 lines are visible. The value of 224 was taken by taking full
NTSC height (480, divided by 2) and cutting top and bottom 3.5% (different
sources say 3.5% is the "action-safe" overscan area).
c) full - 240 lines high
d) custom - any value between 100 and 240.
9. Horizontal offset - when amount of columns displayed is less than 384, this
option "shifts" the visible screen area. Setting to higher than 0 shows more
of the right side, and lower than 0 shows more of the left side.
10. Vertical offset - similar to above.
Additionally, the Alt+Shift+X shortcut that switches beetween standard<->80
column display is now also available as "Display settings->80 column display
if available: yes/no".
The Alt+B switch however has been removed - since setting black/white colours
can be done in Display settings anyway.
All new options are also available from command line and are saveable in
configuration.
New Android port features:
-------------------------
- Efficient performance
- Uses Opengl ES to handle scaling of the graphics
- Runs on Android 1.6+
- Novel on screen touch joystick control for less hand cramps & intuitive
control
- Supports multi touch input
- Supports hardware keyboard with key remapping for joystick input
- Supports the Wii Controller for joystick input
- Supports the "move to SD" feature
- Sound emulation very good but not perfect yet
- Bypasses the emulator UI menu completely - goes 'the android way' about it
- Available in the App Market: market://details?id=name.nick.jubanka.atari800
Version 2.1.0 (2009/03/27)
The promised completely new next-gen Atari800 was postponed so this
is another incremental update of the good old Atari800. Let's see
what we have added and improved in the last 20 months:
New features:
-------------
* added Axlon and Mosaic RAM expansions for Atari 400/800
* added emulation of 1400XL, 1450XLD, MIO and Black Box
* added support of .PRO copy-protected disk images
* implemented tape loading with variable bitrates
* implemented cassette writing via hardware registers
* added switching between NTSC and PAL color palettes
* added emulation of XEP80 and a prototype 80 column card
for the Atari 1090 (SDL only currently)
* added emulation of CX85 numeric keyboard (Java and SDL only)
* event recording added (-record, -playback): save your game walkthrough
using the "-record mygame.dat" and later impress your friends by
your game skills or highest score using the "-playback mygame.dat"
* NTSC Filter option added to UI
* -directmouse added to SDL and X11 (used for -mouse pad or koala)
* monitor supports arrow keys - e.g. up-arrow for history
* SDL: interpolated scanlines (use -scanlinesnoint to disable)
* SDL: added -mouse, -mousespeed, -grabmouse (also Alt+M)
* SDL: visual configuration of keyboard joysticks layout in the UI
(F1 -> Controller Configuration -> Define layout)
default mapping changed to 4,8,6,5 (joy0) and A,W,D,S (joy1)
* R: device can be serial-only, network-only or both (selectable)
* R: device now supported on MS Windows and Dreamcast as well
* a completely new port to Java using NestedVM, running also as an applet
* Falcon/TT: removed Devpac dependency in asm files (now gcc friendly)
Fixes:
------
* fix for "Ilusia" demo
* better GTIA bug mode emulation
* POKEY sound: nonlinear mixing (not enabled by default), two-tone filter
* fixed POKEY registers: ALLPOT, IRQEN and STIMER
* various Atari5200 fixes
* fixed Atrax cartridge bank switching
* fixed sound recording to WAV
* -showspeed fixed, now shows speed <= 100% correctly
* major source code cleanup, compiles with -pedantic etc.
* Save State: added support for Axlon and Mosaic (version increased to 5),
fixed PBIM12 restoring, fixed PAGED_MEM error with POKEY,
color palette restoring fixed
* SDL: using DirectX driver on MS Windows (much faster),
fixed stdout.txt on MS Windows,
fixed broken Caps Lock key handling,
-audio16 fixed
* Dreamcast recognizes the TAB key
* MS-Windows: Shift+Control fixes
* dropped SVGAlib target - use SDL instead
Thanks to Perry McFarlane and other developers for their contributions
to this release. Enjoy Atari800!
Version 2.0.3 (2007/07/11)
This is probably the last release that is based on the source code
written by David Firth back in previous century.
A completely new Atari800, written from scratch, with even better
portability and maintainability is being planned so stay tuned!
Changes:
--------
* new style of artifacting
* corrected PMG in bizarre ANTIC/GTIA modes
* added 128 KB SpartaDOS X cartridge type
* added support for QVGA landscape smartphones, added the virtual keyboard
* new command-line option "-win32keys" for keyboard layouts different from US
* MS-Win: run the emulator in a window ("-windowed" on the command line)
* middle button support for ST and Amiga mice in X11 and MS-Win targets
Version 2.0.2 (2006/04/08)
There is a new NTSC emulator available thanks to Blargg (Shay Green)
(http://www.slack.net/~ant) and NewRisingSun who made the original algorithm.
You can access it with -ntscemu in the SDL port only.
Only 640x480x16 is supported and will be invoked automatically.
You will need a fast processor (~700 MHz or so).
This code should be considered experimental but I hope you
will try it and report any problems. Please experiment with the
many settings and compare them with a real NTSC Atari if you have one.
If you come up with better settings than the current defaults please provide
feedback. Try -ntsc_burst 0.70 in Drol, Choplifter and Ultima.
Please read DOC/USAGE and check -help.
Changes:
--------
* Blargg's NTSC composite video emulator, based on NewRisingSun's Algorithm.
* small fixes in ANTIC/GTIA emulation
* fixed DCM image handling (broken in 2.0.0)
* added emulation of Atari XL/XE with 192 KB RAM
* integrated SEGA Dreamcast port
* Atari Inverse key mapped also to "`" (backquote) in SDL port (MS Win users)
* some minor improvements
* much more DOC/TODO
Version 2.0.1 (2006/01/02)
Just a quick UI bugfixes release.
Version 2.0.0 (2005/12/31) - celebrating decade of Atari800 development!
This release brings major source code clean up, numerous bug fixes and
many great new features and important improvements. 98% of changes since
last release have been made by Piotr Fusik - admire his dedication
to Atari800 project while you will be browsing through the impressive list
of changes below.
Run-time configuration (via the .atari800.cfg file) has been improved.
All configuration options are now available in the User Interface.
Remember to use "Save configuration file" when necessary.
If you are new to Atari800, press F1 and select "Emulator Configuration"
to configure the ROM images. This can be easily done with
"Find ROM images in a directory".
DISK_DIR, ROM_DIR, EXE_DIR and STATE_DIR configuration options are no longer
supported in this version. You need to re-select your directories
using "Emulator Configuration" -> "Configure directories".
Changes:
--------
* auto-starting any file supported by the emulator
via the command line, User Interface or Alt+R
* direct loading of Atari Basic programs:
- SAVEd (*.BAS) programs
- LISTed (*.LST) programs with auto-detected Atari, LF, CR/LF or CR
line terminators
* numerous fixes and improvements in H: device emulation
* fixed a bug in DMACTL emulation
* cycle-exact Read-Modify-Write instructions for all GTIA registers
* Atarimax cartridges
* correct emulation of the RESET key in 400/800 (it generates RNMI)
* improved DCM format support
* improved PERCOM emulation (helps non-standard disk images)
* removed questions that appeared in the console window when no configuration
file was found; now a default configuration is written and you can
modify it using User Interface; the easiest way to configure ROMs is
"Find ROM images in a directory" which looks for common names of ROM images
* DISK_DIR, ROM_DIR, EXE_DIR and STATE_DIR configuration options replaced
with ATARI_FILES_DIR and SAVED_FILES_DIR
* sound recording now works (was completely broken)
* new in User Interface: "Emulator Configuration", "Controller
Configuration", "Save Interlaced Screenshot", "Uncompress Disk Image"
* improved "open file" selector:
- sorts case-insensitively
- sorts directories whose name begins with a dot
- starts on the previously selected file
- you can move to a file by pressing its first letter (works in menus, too)
- path of the listed directory is shown at the top of the screen
* improved "save file" filename selection:
- no longer limited to 32 characters
- directory appears in the edit box
- Tab invokes directory browser
* "Make Blank ATR Disk" creates standard Single Density disk image
* shortcut keys (Alt+letter, F9, ...) work in User Interface
* new "-screenshots <pattern>" command-line option
* replaced "-rtime <onoff>" with "-rtime" / "-nortime"
* replaced "-hdreadonly <onoff>" with "-hreadonly" / "-hreadwrite"
* new monitor commands: "LABELS", "LOOP"
* "C", "M" and "S" monitor commands support hardware registers
* improved "SHOW", "DLIST", "D" and "A" monitor commands
* fixed memory leaks, buffer overflows, Y2K and Y2100 bugs
* fixed GCC 4 compilation error and warnings
* fixed sound in X11 version (feedback is welcome)
* much faster display in the X11 version
* MOTIF and XVIEW versions are now compilable
* standard key mappings for F6-F10 in DirectX, SDL, SVGALIB and X11 versions
* implemented Atari 5200 keys in DirectX, SDL, SVGALIB and X11 versions
* WinCE version ported to Smartphones
* DirectX version can be compiled with MSVC 6
* stereo now works in DOS ports
* fixed "-rotate90" and Alt+B in SDL version
* greatly improved BASIC version:
- supports sound
- supports all interrupts
- timing much closer to real Atari
- Clear Screen, Backspace, Tab and Bell converted from ATASCII to ASCII
- improved "K:" input
- much smaller executable (does not include unused code)
* greatly improved CURSES version:
- support for PDCurses
- small fix for NCurses
- generates screen basing on the Display List
- fixed Tab, Backspace, Insert, Delete, Home, F2, F3, F4, F8 and Ctrl+letter
- fixed "-wide2" mode
- Alt+letter shortcuts work on PDCurses
- bitmap graphics emulation is now disabled by default
(smaller and faster executable), but can be enabled with "configure"
* new experimental PlayStation 2 port
* improved "configure" script
* SDL keyboard joysticks can be enabled/disabled in the UI (Controller Config)
* many small fixes and major source code clean up
Version 1.3.6 (2005/04/30)
Changes:
--------
* different color palette used by default
* PNG screenshots added
* added sector counter and speedometer
* F6 is Atari HELP key on Curses, Falcon and in X11
* added missing combinations of ANTIC modes with GTIA modes
* keyboard joystick works in more games (doesn't pause the game) in SDL
* mouse joystick emulation works in X11
* cassette loading by hardware registers (Ninja and Elektraglide
are examples of games that load correctly now)
* blank boot ATR disk image can be created in the Disk Management menu
* many small fixes and major source code clean up
Version 1.3.5 (2004/12/30)
Changes:
--------
* keyboard handling improved in SDL (working on non-US layouts, more
keys recognized)
* keyboard handling improved in X11 (crash fixed, auto-repeat working)
Version 1.3.4 (2004/12/27)
Changes:
--------
* security fixes (buffer overflows) and compilation errors (GCC 3.4)
* ANTIC timing fix for Timeslip game
* fix in UI fileselector (crashed if there were no files)
* Amiga port updated
Version 1.3.3 (2004/08/08)
Changes:
--------
* ANTIC mode 2 + GTIA mode 10 - half pixel shift fix
* Amiga port updated
* OS/2 port updated
* DOSVGA port updated - joystick definition read again
* X11 port has improved keyboard support (Ctrl+Pause, left Ctrl for joy button)
* SDL port updated: joysticks emulated on keyboard can be freely edited
now with SDL_JOY_0_<direction> and SDL_TRIG_0 (same for JOY_1/TRIG_1)
config file parameters that expect values from SDL keySyms.
Version 1.3.2 (2003/12/20)
Highlights since previous release:
----------------------------------
* R: can now be hooked to a real serial port (no runtime config yet)
* various ANTIC and POKEY fixes for perfect software compatibility
* disk and cartridge info saved in the state files
* casette handling greatly improved
* even more cartridges supported (40 now!)
* some rare buffer overflows fixed
Version 1.3.1 (2003/09/04)
Highlights since last 1.3.0 release:
------------------------------------
* rewritten and much improved configure script
* new cartridge types supported (38 types now!) - see DOC/cart.txt
* Disk Sets - loading and saving of D1-D8 set is possible in the UI
* R: as the Atari850 serial port emulation added - see DOC/r_device.txt
* updated and improved m68k assembler emulation of the CPU
* XF551 HighSpeed transfer emulation added
Version 1.3.0 (2003/02/10)
Highlights since last 1.2.5 release:
------------------------------------
* new HiFi sound (you may en/disable it in the UI)
* new cycle-exact Antic emulation
* "H:" emulation complete (including subfolders)
* Paged memory implementation (fast XE bank-switching)
* new configuration file name and location ($HOME/.atari800.cfg)
Detailed list of changes follows:
* configuration file ("atari800.cfg") related changes:
1) configuration file is renamed to ".atari800.cfg" by default (note
the leading dot in the name, similarly to most other configuration
files of programs on Unix platforms). On DOS/TOS (FS 8+3 limitation)
the old "atari800.cfg" will be supported.
2) RT-Config (the module in Atari800) tries to search the configuration
file in user's home folder first (environment variable HOME should
point there). If it's found then it's used. If it's not there then
RT-Config tries to open system wide configuration file (by default
it's "/etc/atari800.cfg"). Please note that the system wide file is
not updated by Save function of RT-Config because it's expected
that this file is read-only for regular user.
3) RT-Config can also be told where your configuration file is by
using the "-config <filepath>" command line parameter. If the file
is not there yet it's created. So it's quite easy to let Atari800
create a test config file and compare it with your current config
or to have several config files for various game/demo/application
uses of the Atari800 emulator.
4) Some config file options were renamed or otherwise changed some
time ago already but they were still recognized. This is no longer
true so better create a new config file from scratch.
5) There are two new important switches - "ENABLE_NEW_POKEY" and
"STEREO_POKEY" so better create new config file so you get these
options configured properly.
* new Sound:
The new MZ POKEY emulation is now enabled by default on all ports.
Also the STEREO sound (Dual POKEY) is compiled in by default
but is not enabled (so there's a single POKEY by default but you
can enable the second one very easily in the User Interface (press F1).
Both can be en/disabled in the configuration file (call atari800 with
the "-configure" parameter to reconfigure these and other options).
Win32 and SDL ports also recognize a new cmdline switch "-audio16"
that switches to 16-bit sound.
Unreleased version 1.2.10 (2003/02/09)
* autoconf 2.5x required for building the source fetched from CVS.
However, released source code comes with prebuilt configure script
so you shouldn't even notice this change.
* SDL version contains the same keyboard IRQ fix that was recently
done in the general input core. In human language: Super Pacman 5200
will not crash after SHIFT and * keypress.
* On-the-fly change of POKEY emulation core (old Ron Fries' or new
Michael Borisov's). Compare the new HiFi sound with the previous one.
Unreleased version 1.2.9 (2003/01/27)
* New cycle-exact ANTIC/GTIA emulation. Enabled by default, disable by
./configure --disable-cycleexact
Unreleased version 1.2.8 (2003/01/27)
* Paged memory implementation finished. Disabled by default, enable by
./configure --enable-paged
Unreleased version 1.2.7 (2003/01/27)
* Harddisk emulation now complete including support for subdirectories.
Unreleased version 1.2.6 (2003/01/27)
* New sound core and 16 bit sound support -- high sound quality but slower.
Use -audio16 option to enable 16 bit sound and -quality <level> to set sound
quality (level > 0 enables new sound core) on the win32 port.
Consult port specific doc for command line details.
Version 1.2.5 (2002/12/02)
* UI - the SpaceBar in disk management switches between the RW and RO flags
(this didn't work for a long time, now fixed). Please note that this RW/RO
switch is just temporary and does not change the writeprotect flag of ATR
images. Besides, it cannot override this flag so you actually can't mount
a writeprotected ATR image read/write using this Space Bar toggle.
* Atari800 compilable under OS/2
* MultiJoy4 interface and Amiga/AtariST right mouse button supported
* 13 new cartridge types supported
* ANTIC mode E + GTIA mode 9 added (used in "Unconventional 2k", "Ass Kisiel")
Version 1.2.4 (2002/08/07)
* 576 and 1088 kB RAM supported (selection available in the UI)
* separate Antic access to extended memory for 130 XE and 320 Compy Shop
* 256K and 512K XEGS carts
* SDL version now
- cleans up after unsuccessful initialization
- supports "-nosound" and "-dsprate"
- continues to run even if sound initialization failed
* command line options "-help" and "-v" ("-version") now work better
in most supported ports.
Version 1.2.3 (2002/07/08)
* 16 kB RAM machines (Atari 400/600XL) emulated
* LPTjoy support added to the SDL port
* SDL port is generally much improved. To get list of SDL specific options
start the SDL version of Atari800 with -help.
* casette image loading accessible from UI
* -palette option (for loading an alternate ACT color palette file) fixed.
* channel 1 in stereo mode fixed
* antic: NMIST bit 5 fixed (is always zero)
* input: second button in 5200 joystick generates "Break key" IRQ
(you can now jump in "Moon Patrol" - use Shift)
* monitor: "DLIST" now accepts address as an argument
* antic: Dirty update scheme that allows slower machines to run Atari800
at full speed now! See DOC/HOWTO-DIRTYRECT for more information.
* pokey: allow high-speed disk i/o (Alpha-Load works, thanks to Paul Irvine)
Version 1.2.2 (2001/12/31)
* Falcon .s files had to be renamed to .asm, otherwise the vga
port could not be built.
Version 1.2.1 (2001/12/31)
* serious memory overflow bug fixed (caused crashing of X11 port
and probably also other unexpected bugs or problems)
* joysticks in SDL port fixed and improved.
* RPM's .spec file fixed.
Version 1.2.1pre0 (2001/12/17)
* Falcon port configurable and buildable again
* SDL support for 32-bit display, screen width switching (LALT+g)
* documentation updated (still can be much improved :)
* util/ folder contains new sethdr and act2html utilities
* configure process is non-interactive (doesn't ask any questions)
* RPM .spec file for easy building of Atari800 from source .tar.gz
Version 1.2.0 (2001/11/29)
* completely new SDL port (use ./configure --target=sdl) that should run
on most/all platforms/OSes SDL supports (http://www.libsdl.org/)
* completely new WinCE port
*** New features:
* support for Express, Diamond, SpartaDOS X, XEGS, Action!, BASIC XL
and other cartridge types (see cart.txt for complete list).
The "-cart" option runs CART files and all types of raw images.
"-rtime 0" disables emulation of R-Time 8.
Thanks to:
- Jindroush, who described most of the cartridge types
- Nir Dary, for information on 8*8 KB D50x and OSS 'M091' cartridges
* mouse can emulate following devices
(in parentheses the option that enables emulation):
- paddles (-mouse pad)
- Atari Touch Tablet (-mouse touch)
- Koala Pad (-mouse koala)
- Light Pen (-mouse pen)
- Light Gun (-mouse gun)
- Amiga mouse (-mouse amiga)
- Atari ST mouse (-mouse st)
- Atari Trak-Ball (-mouse trak)
- joystick (-mouse joy)
For Atari 5200 you can use "-mouse pad" (good for Gorf and Kaboom)
or "-mouse joy" (good for Missile Command and Super Breakout).
Use "-mouseport <1-4>" to select the Atari port.
Use "-mousespeed <1-9>" to select speed (default is 3).
* cassette recorder emulation! (experimental)
Currently only reading works and only with SIO patch.
Supported are:
- CAS files - the digital cassette image format by Ernest Schreurs.
The format handles different lengths of blocks, gaps, non-standard blocks,
baud rates and more. See http://home.planet.nl/~ernest/home.html
for the excellent WAV2CAS converter, which includes detailed description
of the format. Atari800 supports the format only partially at the moment.
- raw files - any file can be attached, as if it has been written
to the C: device (standard Atari OS format).
No UI available yet. Attach a file with "-tape filename"
or "-boottape filename" (emulator presses Start and Space to boot the tape).
* SIO, H: and P: patches are now independent and can be toggled at run-time
* the H: device no longer replaces C:.
The H: device is now added to HATABS in RAM, and the escape codes
are put in 0xd100-0xd1ff, so H: doesn't modify Atari OS at all.
* "-basic" and "-nobasic" work for Atari 800 (Atari BASIC is attached
as a cartridge in Atari 800)
* devices: added open mode 9 (append) for H: device
* input: the illegal joystick positions (e.g. left+right) are not passed
to the emulated Atari (good for "Mario Bros.")
* monitor:
- "C 600 ABCD" does the same as "C 600 CD AB"
- 1 KB boundary is respected by "DLIST"
- "POKEY" command
- "S" without parameters repeats last search
* ui: added Atari Settings (enable/disable BASIC, R-Time 8, SIO patch, H:, P:)
*** Compatibility improvements:
* antic,gtia: the background color can be changed inside a scanline.
Currently implemented only for blank lines without PMG.
Try the "Partyland" part of the "Bitter Reality" demo.
* antic: corrected timing of DLISTL/H ("Spelunker" works)
* binload: 0x31 stored at 0x300 ("Studio Dream" loads now)
* cpu: Read-Modify-Write (RMW) instructions (ASL, INC, etc.) store
the unmodified value of $D01A before they store the modified value.
Now you can see the white dots made with INC $D01A.
* cpu: on reset, the I flag is set (now reset works if stuck in interrupts)
* devices: replaced "dGetByte(0x2e)" with "regX" in H: handler routines
(fixes problems with Atari BASIC's GET/PUT/INPUT/PRINT)
* pia: & 0x3f on read PACTL and PBCTL
* pokey: potentiometers emulation improved: POTGO and ALLPOT registers
and bit 2 of SKCTLS implemented, "Tree Surgeon" no longer hangs
* pokey: true RANDOM emulation (both 9- and 17-bit poly) !
Not using rand() anymore. Try the "Bank Bang!" game.
* pokey: fixed STIMER (speech in "Mirax Force" is better, but still
not perfect)
* pokey: a few fixes for stereo detection routines (helps "Sheol",
"Total Daze", "Crockett's Theme"...)
* pokey: fixed SERIN ("Timeless Announcement" loads now)
* pokeysnd: added exact poly9_lookup and poly17_lookup, removed bit17
(which was initialised with rand()) saving ca. 100 KB of memory.
Do you hear any difference?
* sio: made double density ATR images compatible with SIO2PC
*** Bug fixes:
* cpu: fixed wrong extern
* devices: fixed Device_isvalid (problems with trailing 0x9b)
* rtime: added "byte &= 0x0f" to prevent out of bounds accesses
to regset[]
* sio: corrected and added checks if drive number is in range 1-8
* sio: Format Disk rewritten. Now it can resize both ATR and XFD images.
The ATR header is being updated. Double density format works.
*** Optimizations:
* antic: optimized ANTIC_Load and character modes
* atari_vga: no unnecessary Atari_DisplayScreen() calls if "-refresh" is used
* cpu: slight optimization of ROL and ROR
* gtia: optimized players in new_pm_scanline
*** Clean-ups in sources (for programmers):
* created cartridge.[ch] and rtime.[ch], removed supercart.[ch]
* created input.[ch] to handle keyboard, joysticks and mouse
* removed enable_rom_patches, added enable_h_patch and enable_p_patch.
Original OS is saved in atari_os. Removed SetSIOEsc() and RestoreSIO().
After changing enable_*_patch call Atari800_UpdatePatches().
* replaced following variables: machine, mach_xlxe, Ram256, os,
default_system and enable_c000_ram with only two: machine_type and ram_size
(ram_size is in kilobytes, and there're #define's for 320 Rambo/Compy).
There are no more Initialise_Atari... routines. Instead, set machine_type
and ram_size and call Atari800_InitialiseMachine().
* moved main() to platform-dependent code,
created Atari800_Initialise and Atari800_Frame
* removed i386 asm tricks
* diskled: rewritten to be cleaner and more flexible
* pokey: SKSTAT variable renamed to SKCTLS to avoid confusions
(it's the write-only, not the read-only Pokey register)
* pokeysnd: removed duplicates of Pokey constant definitions
and AUDC/AUDF/AUDCTL variables, included pokey.h
Previous changes (pre 1.2.0) are in the CHANGES.OLD file.
|