Apple II+ hard reset

32 posts / 0 new
Last post
tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
Apple II+ hard reset

Hi all,

I'm trying to find out if there is a way to perform a hard reset on an Apple II+ without having to power cycle the machine.

The background is: the machine is on display in a local no-profit computing museum and it would be great if there was an easier way to start another program than reaching at the back for the power switch.

Is there a way to wire something onto the motherboard so when triggered it performs a full reset as if the computer was power cycled? Thank you!

Offline
Last seen: 3 months 12 hours ago
Joined: Dec 17 2019 - 15:42
Posts: 6
Another vote for hard reset

I've wanted this for a long time.   WILDCARD has the capability but requires scrolling through the menu to select "clear memory and reboot".  Because of the reset vector in ram I believe all Apple resets are soft so a "RESET!" is what's required.   Tell me I am wrong.   This means we actually need to clear a few bytes of memory before initiating a "hardware" reset.   I'm thinking this is a good candidate for an esp32 softcard project.   But yes I also would like to have a push button RESET!

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
Every Apple II already has

Every Apple II already has the "hardware switch" you're looking for - it's called the Reset switch. While you may need to also hold down the ctrl key, hitting Reset always causes the CPU to execute the reset routine in ROM. Just like powering on the machine.

 

The culprit preventing you from doing what you want is the Autostart Monitor. This was an improvement to the original F8 Monitor ROM and one of these improvements was the addition of a "soft reset" vector in RAM. This allowed for a warm start function that treated Reset differently after the machine was first powered on. It also allowed programmers to disable the normal action of hitting Reset. Very enticing to commercial (i.e. game) publishers to help prevent copying.

 

The solution for you would be to create a modified Monitor ROM that always performs a cold reset. You could burm this into an EPROM but then would need an adapter socket to use in an Apple II. A better option might be the ROMX which makes it very easy to modify the ROM while giving options to quickly switch to alternate images. You'll probably also want to use "kiosk" mode by changing the BootDelay to 0 on the ROMX.

Offline
Last seen: 5 months 3 weeks ago
Joined: Feb 6 2021 - 03:34
Posts: 55
Jeff, it might be a good idea

Jeff, it might be a good idea to add a little blurb when you plug the ROMX to the effect of "I designed the ROMX, and receive a cut of every unit sold".

 

Your ROMX-related posts come off as a bit disingenuous otherwise; you're not a random happy end-user of the ROMX, but rather someone who stands to profit when someone takes your advice.

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
cryu wrote:Your ROMX-related
cryu wrote:

Your ROMX-related posts come off as a bit disingenuous otherwise; you're not a random happy end-user of the ROMX, but rather someone who stands to profit when someone takes your advice.

 

While the ROMX was conceived and developed right here on Applefritter, I must admit that not everyone would be aware of my collaboration with Dean Claxton on this project. Nevertheless, my posts are not necessarily disingenuous. I'm just pointing out what I truly believe would be a good solution for the OP.  

At less than $50 for the ROMX, I can assure you that neither Dean, myself, or ReActive micro are getting wealthy off this endeavor. You are correct however that while not "random," I am a happy end-user as well. But your point is well taken. 

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
Well, I went for a different

Well, I went for a different solution for a ROM replacement so I am already using a 27C256 for the Apple ROM (one of the originals was bad)

However, I am not able to write a custom ROM I'm afraid. I think we would rather have RESET to have the "power cycle" effect than what it does now. It would make the machine a little bit less "original" but much more useful for the average user.

If someone feels like amending the ROM so the RESET key has that effect, it would have my eternal gratitude :)

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
tony359 wrote:If someone
tony359 wrote:

If someone feels like amending the ROM so the RESET key has that effect, it would have my eternal gratitude :)

 

 Hi Tony,

Sorry I didn't recognize you from your earlier thread on the Europlus. Since you already have a writable ROM replacement, here is a one byte patch that should answer your need:

 

Change the byte at $FA89 from $A5 to $00. That will defeat the "warmstart" function and every ctrl-reset will now do a cold boot!

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
No worries! Thank you! I

No worries!

 

Thank you! I found it and I'll let you know how it goes!

mmphosis's picture
Offline
Last seen: 2 days 9 hours ago
Joined: Aug 18 2005 - 16:26
Posts: 433
reboot and reset

It sounds like you want a "kiosk" where people can easily REBOOT by pressing the Reset key. But, would you still want to be able to do a normal RESET?

On the Apple //e, it's Control+OpenApple+Reset to REBOOT, and Ctrl+Reset to RESET.

I was thinking that if it's an Apple II+, and you have the shift-key modification, it wouldn't be too difficult to make Shift+Reset (or Ctrl+Shift+Reset) do a reboot and still have the Reset (or Ctrl-Reset) do a RESET, or vice versa.

I think having a ROMX to play around with this sort of stuff sounds more and more appealing.

 

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
I guess it would be great not

I guess it would be great not to lose the regular RESET - how do I get to Basic if hitting "RESET" reboots the whole thing every time?

 

For the average visitor, a cold reset is better than a warm one. They might want to try a different diskette (we don't have a FEMU or similar thing at the moment, also because I feel the Apple II's "knocking sound" is part of the experience!). 

What we found is that many visitors hit RESET to restart the program, but the Apple drops to Basic. Then they move on to a different machine, leaving the Apple II inoperable for the next visitor and someone from the staff has to reach to the power switch and reboot.

 

If all it took was hitting "reset" to restart everything, that would be great for now. Yes, the //e is much better on this subject! 

Offline
Last seen: 14 hours 19 min ago
Joined: Jun 6 2020 - 10:50
Posts: 415
If it drops to basic with

If it drops to basic with pressing reset, doesn't a PR#6<return> accomplish the same thing as powering it on and off? If so, perhaps a sign telling people to do that after hitting reset would solve the issue? I've never dealt with anything prior to IIe, so I could be completely wrong in my suggestion. I'm spoiled with my OA-ctrl-reset. 

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
tony359 wrote:how do I get to
tony359 wrote:

how do I get to Basic if hitting "RESET" reboots the whole thing every time?

 By having a disk that just boots to Applesoft.

 

Or you could add a switch that reverts back to the standard ROM (insert disingenuous plug for ROMX here :)

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
nick3092 wrote:If it drops to
nick3092 wrote:

If it drops to basic with pressing reset, doesn't a PR#6<return> accomplish the same thing ...

 That would work with the standard warmstart entry. But most commercial software change this to something else, either to restart their program or do ANYTHING BUT drop to Basic!

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
nick3092 wrote:If it drops to
nick3092 wrote:

If it drops to basic with pressing reset, doesn't a PR#6<return> accomplish the same thing as powering it on and off? If so, perhaps a sign telling people to do that after hitting reset would solve the issue? I've never dealt with anything prior to IIe, so I could be completely wrong in my suggestion. I'm spoiled with my OA-ctrl-reset. 

 

That is what we have now but you have to understand that most visitors might be kids or someone not entirely comfortable in doing that. Yes, I know it's a "computing museum" but making things easy to use helps making the visits more enjoyable. 

My ROM replacement is holding two ROM banks so that is a cool idea, having a switch at the back to switch back to the original ROM. In the end I feel I'm ok losing the Integer ROM for this purpose. 

Thanks for now!

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
jeffmazur wrote:tony359 wrote
jeffmazur wrote:
tony359 wrote:

If someone feels like amending the ROM so the RESET key has that effect, it would have my eternal gratitude :)

 

 Hi Tony,

Sorry I didn't recognize you from your earlier thread on the Europlus. Since you already have a writable ROM replacement, here is a one byte patch that should answer your need:

 <

Sorry for likely asking a silly question: where is $FA89 on the ROM?

I think I can see FA89 from the Monitor, but how do I match that bit on a ROM file? I thought I found it but the ROM stopped working altogether.

 

here is what I've done.

I loaded the F800 autostart in imhex, set f800 as a base address and indeed I found an A5 at location FA89.

So I searched for the same string in my completed ROM (which has 2K blank at the beginning), found it at 7A80 and changed it. 

However, that doesn't seem to be working. I tried twice.

 

Can you help me?

You can find the full ROMs (assembled as per instructions, 2K blank, first bank, 2K blank, 2nd bank) here: https://1drv.ms/f/s!AukePwK7XyEPhOxo4rSFR4PIFLYm_g?e=do4SEt

 

It contains both the working one and the modded one, which does not work.

Thanks for your help so far!

Tony

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
Looks like you have Applesoft

Looks like you have Applesoft + Autostart Monitor in the 2nd bank of your EPROM. So the offset to the byte that needs to be changed is $4000+$3A89 = $7A89.

 

Modified image file uploaded to your OneDrive link.

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
$7A89 is what I changed

$7A89 is what I changed before and did not work unfortunately. I mentioned 7A80 as the beginning of the pattern but A5 is on 7A89 as you say.

 

I tried your file as well (thank you!) and it produces the same result. 

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
I can't imagine why changing

I can't imagine why changing that single byte would cause it not to boot. Perhaps something in the way you loaded/burned the EPROM?

 

Here's a video of the exact file I sent you loaded into a ROMX card so you can see how it should work:

 

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
jeffmazur wrote:I can't
jeffmazur wrote:

I can't imagine why changing that single byte would cause it not to boot. Perhaps something in the way you loaded/burned the EPROM?

 

Here's a video of the exact file I sent you loaded into a ROMX card so you can see how it should work:

 

I'm not sure myself. I'm using the T48 programmer with its software XgPro. All I do is load the BIN file with standard settings and burn it on a 27C256. The IC is of course erased via UV before that and I use the "check blank" feature to confirm it's blank.

I'm wondering whether my ROM replacement has anything to do with that? 

The base file I saved on OneDrive is actually an image of the working EPROM, just in case I messed up on my archive! So I am 100% sure that that is the working one. And it works on your ROMX so it looks like there are two variables here:

- The Rom replacement card

- The burning process.

 

I can try burning the original file back to an EPROM and confirm that that works. Oh, BTW - when the Apple fails to boot from Applesoft, the other bank - Integer - works fine.

 

Thanks so much for the time and the help. I watched the video and yes, that's exactly what I'm looking for!

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
I tested it again:- I burnt

I tested it again:

- I burnt the original BIN file with the standard Applesoft/Integer on it, to make sure my programmer likes the IC etc. It works as expected.

- I burnt the modded file, same issue as before. The IC verifies ok on the programmer. 

- I read the modded IC again, saved it as a BIN file, compared to the modded file on Onedrive using windows "comp", the files match. 

 

So I am not sure what's happening here. 

I am using slightly different flavours of 27C256, one was Atmel, another NMC, that shouldn't make any difference. Oh, and Integer works on all my tests, it's only the Applesoft bank which stops working. 

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
This is indeed strange. I've

This is indeed strange. I've uploaded another file which modifies your original image with a different byte. This should work normally except that when you power on it will say "ARPLE ][" instead of "APPLE ][" at the top of the screen. Let's see if this works.

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
jeffmazur wrote:This is
jeffmazur wrote:

This is indeed strange. I've uploaded another file which modifies your original image with a different byte. This should work normally except that when you power on it will say "ARPLE ][" instead of "APPLE ][" at the top of the screen. Let's see if this works.

 

working fine :)

 

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
 tony359 wrote:working fine :

 

tony359 wrote:
working fine :)

Ah OK. So I think the issue is that changing FA89 to 00 was a bad choice. Anything other than A5 should do what you want. But it turns out that the random power up values of RAM locations $3f3 and $3f4 are likely to be the same. And EOR'ing with 00 bsically leaves the original value the same.

 

So the solution is to use any other value EXCEPT 00! Change FA89 to, say 44 and it should work now.

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
it works :)Thanks so much for

it works :)

Thanks so much for your help!

One thing: I thought CTRL-RESET would initiate a cold-boot, but I see that even just RESET does that. 

 

Not a big deal of course, wondering if there is a quick way (for you, I don't want to abuse of your help!) to have only CTRL-RESET do the cold boot and RESET a warm reset?

Thanks a bunch!

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
 tony359 wrote:One thing: I

 

tony359 wrote:

One thing: I thought CTRL-RESET would initiate a cold-boot, but I see that even just RESET does that. 

If RESET works by itself, then your keyboard encoder is set to do that. There is a switch (S1) on the board that determines whether you need to hold the CTRL key as well. Usually it is set to require that but yours might be in the other position (or possibly not even there) and thus allows RESET to work by itself. Unfortunately, there is only one RESET signal and it works in one of the two ways above. You cannot have RESET do one thing and CTRL-RESET do something else (at least not without wiring up the CTRL key to something like one of the game port switch inputs and modifying the ROM even further).

tony359's picture
Offline
Last seen: 4 months 1 week ago
Joined: Jun 16 2020 - 16:58
Posts: 275
found the switch! Amazing!

found the switch! Amazing!

 

Thank you a bunch, I'll give you credit in my video!

Offline
Last seen: 3 months 12 hours ago
Joined: Dec 17 2019 - 15:42
Posts: 6
Reasoning for a different approach to a proper reboot

I operate an Apple II lab for young kids with a mixture of models and ROM versions so the custom ROMX does not have a lot of apeal to me.  Dont get me wrong.... I think ROMX is great.  There was a card called the "wildcard" that did almost exactly what I need for the kids in my lab.  It had a momentary contact button that would activate the card, present a simple menu, and allow several options for how to preserve memory.  the primary use of the card was to bypass all the DRM on floppys and allow users to capture and reload all of memory.... so they could preserve (and yes, share illegally) games and such where the disk copy protections were very creative.  BUT one of the menu items on the card was "clear memory and reboot". This is the closest thing to a true hard reset I have seen for the Apple II.  Even power cycling failed due to the long time it takes for DRAM contents to decay and as we've been discussing in this thread, there is a reset vector in memory that plays a role in what path the reset logic takes when one of the several multikey options are pressed.  I know its kind of silly, but I want the kids to have a seperate mechanical button that clears memory and jumps to the reboot logic in system ROM.  No menus, not thinking, just a 'hard' reset.  After several rabbit holes I believe the Wildcard approach is my best bet but do not have the skills to build a modern version.  Using todays tech I believe the "easiest" way to do this would be with a PiPico on an IO card, it is fast enough to do DMA on the 6502 memory buss. I am willing to be wrong about the PiPico approach; eeprom and a couple bus transceivers may be all that is needed for this "one trick pony".   I'd be willing to pay someone to help make this happen..... I want to build 6 of these cards.  

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
The Wildcard and Snapshot

The Wildcard and Snapshot cards do come up once in a while but they can be pricy and finding 6 of the would take a while. I've seen a few attempts to clone these but never seen them become available. And to be honest, they are much more complicated for what you want to do. And designing one with a Pico, DMA, etc. is also way overkill.

 

Let's start with exactly what you need. Is it really necessary to completely clear all memory? Would something like the //e open-apple reset work?

Is the approach described above only lacking a simple way to perform soft reset vs. hard reset?

 

While the ROMX does eliminate the memory decay issue that you describe and can also be run without displaying a menu, it too might be overkill unless you have use for its other features. And while we do have a new board in the works that uses NMI to switch to a given image (e.g. Senior PROM), this would take a small tweak to have it clear memory and then do normal reset.

 

But I believe you can get what you want with nothing more than a custom F8 ROM image. This could go directly into the motherboard socket, perhaps on a Language card (with trivial modification), or on something like a MultiROM board. I could also help you design your own board if you really want. Just let me know exactly what machines you need this for (model, memory, 16K RAM card present and type, other slot cards, etc.)

 

 

 

 

 

Offline
Last seen: 11 hours 6 min ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
David Mutimer did a "reboot"

David Mutimer did a "reboot" of the Wildcard a few years ago.  Perhaps if there is demand maybe he could produce some more or at least PCBs that someone else could populate.  Or maybe someone else could replicate the Wildcard board.  It wasn't a particularly complicated one.

 

 

Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
 softwarejanitor wrote:David

 

softwarejanitor wrote:

David Mutimer did a "reboot" of the Wildcard a few years ago.

 

Yeah, there's a couple of these available here. It is much simpler than the Snapshot or the later Wildcard 2. But it still seems a bit overkill and more expensive for what the OP needs. Nevertheless, barryhills, you might want to grab one of these or contact David to see if you can get more. Or just clone it yourself!

S.Elliott's picture
Offline
Last seen: 8 hours 44 min ago
Joined: Jun 23 2022 - 16:26
Posts: 207
Language card revision

If you have an authentic Language Card from Apple, or a clone 16K card that includes a ROM socket (eg: UNITRON), then you really should go with the suggestion from @jeffmazur in comment 28.

 

Here's a diagram showing where to make the "trivial modification" he was suggesting.  The diagram adds a further option to use a 2732 EPROM so that you could switch between two banks of F8 firmware, one for "clear-on-reset" and the other for "standard".  (It's also easier to source 2732 EPROMs than 2716 EPROMs, another benefit!)

 

Although it sounds like an interesting experiment, the original Wildcard is loaded with hardware-compatibility issues that might make it unsuitable for your purpose:

  • Wildcard will just hang/crash if you activate any expansion card that uses the IOSTRB bus signal and leaves its firmware enabled.  This includes 80-column cards (eg: Videx VideoTerm), advanced printer cards (eg: Grappler+), and any Apple //e with a card installed in its AUX slot.
  • Wildcard requires a secret keypress to activate its menus -- otherwise it just hangs until the user presses the right key.
  • Wildcard adds a non-standard 6800 ohm pullup loads onto address bus signals A0, A7, A14, A15, which could affect the stability of the address bus.  This is a "dirty hack" that they got away with because other cards don't do it.  (If two cards used this hack, neither would work while the other was installed.)
Offline
Last seen: 3 hours 23 min ago
Joined: Jun 18 2010 - 13:54
Posts: 743
 S.Elliott wrote:Here's a

 

S.Elliott wrote:

Here's a diagram showing where to make the "trivial modification" he was suggesting. 

Thanks for the info on the Wildcard. I never had one and was not aware of what tricks they played like adding pullups to the address bus!

 

However, the trivial modification I was referring to was actually disabling the F8 (E)PROM on the card. They use  the INH line to override the motherboard ROM and that can conflict with other ROM replacements like the ROMX or MultiROM. See pages 14-17 of the ROMX Installation Guide. There are pros and cons to your modification that always switches to ROM on Reset. Some software might not like that!

Log in or register to post comments