Commit Graph

94 Commits

Author SHA1 Message Date
TomCh
4bc75093b8
Support (read-only) WOZ1/WOZ2 images (#544) (PR #653)
Supports:
- all "woz test images" v1.3 (WOZ1, WOZ2) are working, except 3.5"
- additionally: Frogger (spiradisc), Choplifter (not Enhanced //e!), Lode Runner, Marble Madness, Skyfox.
- woz images can be .gz or .zip compressed (ie. same as other supported images)
- save-state

Limitations:
- read-only, so WOZ images are forced to be write-protected
  . as a result, games that need r/w images won't work (Stickybear Town Builder, Wizardry)
- 5.25" only (not 3.5")
2019-07-05 23:01:19 +01:00
TomCh
bd86088c59
Support 50Hz(PAL) (#648) (PR #658)
- Added Configuration GUI to include checkbox for "50Hz"
- Implicitly use PAL or NTSC base 6502 clocks depending on video refresh rate
- Added new -50hz and -60hz command line switches
- Updated save-state for video refresh rate

1.28.8.0: Updated version & history.txt
2019-06-28 21:34:34 +01:00
tomcw
65a87c8e11 Change struct FloppyDrive, FloppyDisk into classes 2019-04-16 20:19:35 +01:00
tomcw
d6f8d4edd8 Rename sg_DiskIICard to sg_Disk2Card 2019-04-14 17:01:49 +01:00
tomcw
97ded90a1c Rename DiskIIInterfaceCard to Disk2InterfaceCard 2019-04-14 17:00:15 +01:00
tomcw
971eff7875 Added info about enhanceDisk 2019-04-11 22:34:40 +01:00
tomcw
249b15b02d Get rid of duplicate func 2019-04-09 19:29:58 +01:00
tomcw
e7d6eac04d Class-ify disk.cpp into DiskIIInterfaceCard 2019-04-07 14:22:05 +01:00
tomcw
4db23c10dc Fixed typo & inconsistency in $C070 write statement 2019-04-06 18:56:00 +01:00
tomcw
adcfb9ef3d Fix reads to $C07X to return floating bus (broke at 7c95c0f6c4) 2019-04-06 18:24:37 +01:00
tomcw
2463aae545 Updates for DHGR MIX and detection (#633):
. Support DHGR MIX mode and AN2 off to invert bit7 (undocumented)
. Improve the video-mode precondition to check for 80COL access occurring before $C05F
2019-04-06 15:17:18 +01:00
tomcw
7c95c0f6c4 Fix read so that trigger paddles 555 timers reset (before was just ) 2019-04-06 11:26:33 +01:00
tomcw
7096a0a05a Support Enhanced //e soft switches (fixes #636)
. IOUDIS, RDIOUDIS, RDDHIRES

Also:
. Persist annunciators to save-state
. Fix so that $C07X trigger paddles 555 timers reset (before was just $C070)
2019-04-06 11:18:48 +01:00
tomcw
f998c7ddb2 Save-state: Explicitly init MB SoundcardType when loading state. (Fixes #609) 2019-02-23 10:22:52 +00:00
TomCh
dd53812132
Support for AppleColor / Video7 DHGR mixed mode (#523) (PR #620)
Supported modes selected via toggling AN3 and clocking in 80COL:
- 140 color mode (Apple calls this mode 2, Video7 calls this mode 0).
- mixed mode (Apple calls this mode 3, Video7 calls this mode 2).
- 560 mono mode (Apple calls this mode 1, Video7 calls this mode 3).

Save-state is also persists the extra state.

And there's a few corrections to APPLE2E.SYM for the 80STORE and 80COL I/O addresses.
2019-02-02 15:51:27 +00:00
tomcw
eea8cb3cdf Deprecated and removed support for v1 save-state. (Fixes #603) 2019-01-05 22:20:51 +00:00
tomcw
6fb5b3b0e8 Refactor: consolidate 'modechanging' optimisations into a single function 2018-11-10 10:30:19 +00:00
TomCh
42c58f54e7
Refactor Language Card (#593)
* Refactor Language Card:
. MemSetPaging() now not used for $C080-C08F accesses.
  - Instead LC registers its own I/O handler like all other slot 1-7 cards.
. Saturn uses base LC's 16K for bank0

* Move all 'modechanging = 0' to UpdatePaging()
2018-11-09 20:51:51 +00:00
tomcw
f9b7d9326e Fixed Coverity 'High Impact Outstanding' issues:
CIDs in main code:
1446691
1446688 (false positive)
1446672 (false positive)
1446643
1446642
1446641
1446635 (false positive)

CIDs in debugger:
1472410
1446728 (false positive)
1446684
1446673
1472409
1446693
1446692
1446726
1446687
1446685
1446683
2018-11-06 19:13:28 +00:00
tomcw
3bf94eca9d Fix for save-state v1: original Apple II needs a LC 2018-11-04 20:04:38 +00:00
tomcw
325bc23d08 Fix for LC when //e (broken 13c3936) 2018-11-04 17:29:22 +00:00
tomcw
155547f847 1.27.10: Bump version & update History.txt 2018-11-04 16:35:25 +00:00
TomCh
13c393624b
Apple II original: default to 48K (ie. no Language Card) (PR #592)
Added support for #590:
* Changed Apple II original to default to no LC
* Added new cmd-line switch: -s0 <languagecard|lc>
* Changed so when LC is in slot-0, it now use Apple II+'s F8 (auto-start) ROM
2018-11-04 15:07:46 +00:00
tomcw
9e1170ca9e LC: Added more comments when loading save-state memory v1 for II or II+ 2018-10-27 18:16:32 +01:00
TomCh
46274d4d1c
Apple II: Language Card and Saturn support for slot-0 (PR #589)
Support for #408:
* added slot-0 LC and Saturn 128K for Apple II and II+
* added save-state support
  - for slot-0 LC/Saturn, save the LC state in the slot-0 card, not the //e MMU; and switch to a new Apple2 unit ver2
* added g_Slot0, g_SlotAux
* added new LanguageCard.cpp/h to project and moved Saturn code into these new files.
* updated VS2013,2015,2017 projects
2018-10-26 11:23:30 -07:00
tomcw
a2d05ca386 mem(cache): provide more details about how the mem(cache) and associated variables work, eg. when reading/writing to the same or different memory banks 2018-09-16 22:02:35 +01:00
tomcw
a15e5a47f6 MemGetAuxPtr(): Refactor & added comment about video scanner fetching aux from the 1st 64K aux bank (#520) 2018-09-10 21:28:08 +01:00
tomcw
5e02eaee53 Use VideoGetScannerAddress() to generate the NTSC video lookup tables 2018-08-02 22:37:20 +01:00
tomcw
881e51874b Fix for other apps having sluggish key response - fixes #569 2018-06-30 18:21:28 +01:00
tomcw
9cacf8d90d Small refactor for reading $C01x soft switch status flags
Prevent Apple II from reading $C01x/$C07F soft switch status flags
2018-06-30 14:30:30 +01:00
tomcw
598b20fb52 Refactor: Use INTCXROM instead of SLOTCXROM to be consistent with UTAIIe (fixes #419) 2018-04-06 22:36:54 +01:00
tomcw
d7de4908cd Add comment for the reason that reset doesn't affect memmode & videomode for II and II+ models.
Add accessor for memmode, make static and replace extern refs with GetMemMode().
2018-03-19 18:49:08 -07:00
tomcw
d9accc82c5 Refactor codebase by renaming nCyclesLeft to uExecutedCycles (#540) 2018-03-03 21:27:50 +00:00
Andrea
6051bc55d0 Changes to ease code compilation in gcc. (#541)
Changes to ease code compilation in GCC.

Disk_t and HDD contain a std::string and for this reason they need a proper constructor, ZeroMemory is not guaranteed to work.
2018-02-24 15:12:40 +00:00
tomcw
2c8f5ce864 Support floating-bus in full-speed mode (#508, #519, #532) 2018-02-02 20:19:48 +00:00
tomcw
b324f43a15 Added more logging when Apple2 Tyoe changes 2018-01-26 11:03:44 +00:00
tomcw
1cb5c6868d UpdatePaging(): Clear memdirty flag for $Cx pages (#495)
. STA $CFFF will set memdirty[0xCF] flag
. The loop at the end of UpdatePaging() would copy a page of zeros over pCxRomInternal[0xF00] (ie. $CF00-CFFF)
2017-10-17 14:46:55 -07:00
tomcw
6fd125de31 Add more comments about INTC8ROM 2017-09-23 19:29:59 +01:00
tomcw
3a5bf012f1 Save-state: Fix for when SSC's expansion ROM is active and PC is running in this space (GH#486) 2017-09-22 22:23:13 +01:00
tomcw
1d73611fcc Fix comment about / INTCXROM OFF to account for INTC8ROM 2017-05-22 21:52:15 +01:00
tomcw
64dd4c22c2 Refactor: Rename IORead_Cxxx() to IO_Cxxx(), and use for writes too. Re-enable support for writes to NSC (which was accidently removed at 5470feb). 2017-05-21 22:06:37 +01:00
tomcw
12eed08bea Support INTC8ROM: extend logic for IO_SELECT_InternalROM and rename to INTC8ROM. (Fixes #422, #423) 2017-05-21 17:35:35 +01:00
tomcw
04e9f6bdb9 Fix operator precedence bug 2017-05-14 12:06:41 +01:00
tomcw
52450aa7f7 These 2 combined fix #418:
1) Uthernet card now returns floating bus for slot ROM at $Cs00-CsFF (where s=3).
2) Fixed IoHandlerCardsIn() to not map in the card in slot3's slot ROM when SLOTC3ROM=0.

Also:
. moved the typedef 'iofunction' from common.h to memory.h
2017-05-13 22:07:53 +01:00
tomcw
e3a99ecf9f RamWorks: Fixed flickery 80-col for ProDrive (fixes #297) and AppleWorks (fixes #409) 2017-05-06 18:34:11 +01:00
tomcw
220050bec3 Save-state: Bug when saving more than 9x RAMWorksIII 64K banks - fixes #413 2017-05-04 13:32:07 -07:00
michaelangel007
ab945bbbe0 Cleanup warning about unused label if not SATURN 2017-05-01 06:15:47 -07:00
michaelangel007
248c141655 Piggyback Saturn IO onto standard 16K LC io switches 2017-04-27 15:14:51 -07:00
michaelangel007
c75ed14c32 Cleanup warning unsigned int 2017-04-27 15:14:18 -07:00
michaelangel007
b3b39e19f4 Separate out Saturn 128K IO access from 16K LC access 2017-04-27 15:01:44 -07:00