From b35ba0b04a98a501c9308931fe25ba08ca4cd60b Mon Sep 17 00:00:00 2001 From: tomcw Date: Tue, 7 Jul 2020 20:54:46 +0100 Subject: [PATCH] RESET: reset annunciators for //e and Base64A --- help/acknowledgements.html | 6 +++++- help/cfg-advanced.html | 4 +++- source/Frame.cpp | 7 +++++++ source/Memory.cpp | 13 +++++++++++++ source/Memory.h | 1 + 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/help/acknowledgements.html b/help/acknowledgements.html index 2442e2df..8010a61e 100644 --- a/help/acknowledgements.html +++ b/help/acknowledgements.html @@ -8,7 +8,7 @@ link="#008000" vlink="#008000">

Acknowledgements


-

The team would like to thank the following people for their contributions:

+

The team would like to thank the following people for their contributions:

Brian Broker: This HTML / CHM help file

Thomas Stahl: TV emulation mode (up to v1.25.0.4)

Greg Hedger: SSI263 phoneme samples

@@ -21,5 +21,9 @@

Bob Sander-Cederlof: Applesoft Symbols (http://www.txbobsc.com/scsc/scdocumentor/ S-C DocuMentor: Applesoft)

David Schmidt: Updates to this help file

Mike Harvey, Founder & Editor of Nibble Magazine: For providing us Apple fans the pleasure of eagerly awaiting each next month's issue to learn about the Apple! (http://www.nibblemagazine.com/)

+

Andrea Odetti: numerous pull-requests

+

Iván Izaguirre: Taiwanese Copam Base64A Apple II clone

+

Arnaud C: debugger suggestions and help with 6502/6522/video timing issues

+

Cyril Lambin: debugger improvements

diff --git a/help/cfg-advanced.html b/help/cfg-advanced.html index 822ed238..336fd73f 100644 --- a/help/cfg-advanced.html +++ b/help/cfg-advanced.html @@ -22,7 +22,9 @@ emulation by pressing the F12 key.

Clone:
If you have specified Computer as 'Clone' on the main Configuration page, then this drop-down menu can be used to specify the clone type.
-NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones.
+NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones; +TK3000 is a Brazilian //e clone; +Base 64A is a Taiwanese Apple II clone.

Printer settings (Printer is emulated in slot 1)

diff --git a/source/Frame.cpp b/source/Frame.cpp index c8529e02..d31aa298 100644 --- a/source/Frame.cpp +++ b/source/Frame.cpp @@ -2344,6 +2344,13 @@ void CtrlReset() VideoResetState(); // Switch Alternate char set off } + if (IsAppleIIeOrAbove(GetApple2Type()) || IsCopamBase64A(GetApple2Type())) + { + // For A][ & A][+, reset doesn't reset the annunciators (UTAIIe:I-5) + // Base 64A: on RESET does reset to ROM page 0 (GH#807) + MemAnnunciatorReset(); + } + PravetsReset(); g_CardMgr.GetDisk2CardMgr().Reset(); HD_Reset(); diff --git a/source/Memory.cpp b/source/Memory.cpp index f3e89d42..a1e9a263 100644 --- a/source/Memory.cpp +++ b/source/Memory.cpp @@ -1957,6 +1957,7 @@ void MemReset() // INITIALIZE PAGING, FILLING IN THE 64K MEMORY IMAGE ResetPaging(TRUE); // Initialize=1, init memmode + MemAnnunciatorReset(); // INITIALIZE & RESET THE CPU // . Do this after ROM has been copied back to mem[], so that PC is correctly init'ed from 6502's reset vector @@ -2157,6 +2158,18 @@ LPVOID MemGetSlotParameters(UINT uSlot) //=========================================================================== +void MemAnnunciatorReset(void) +{ + for (UINT i=0; i