element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experts, Learning and Guidance
  • Technologies
  • More
Experts, Learning and Guidance
Ask an Expert Forum Any interest in collaborating on a REBOOT for the Apple II?
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experts, Learning and Guidance to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 41 replies
  • Answers 1 answer
  • Subscribers 295 subscribers
  • Views 5540 views
  • Users 0 members are here
  • esp32
  • io
  • apple
  • arduino
Related
See a helpful answer?

Be sure to click 'more' and select 'suggest as answer'!

If you're the thread creator, be sure to click 'more' then 'Verify as Answer'!

Any interest in collaborating on a REBOOT for the Apple II?

barryhills
barryhills over 1 year ago

I am seeking a solution for a single pushbutton reset/reboot for the Apple II. In my volunteer work with young children (8-10 yrs old) using the Apple II they frequently want or need to reset the Apple II (we use both //e and II+). There are several obsticals to doing a clean hard reset on the Apple. The primary issues are the reset vectors in dynamic ram, the nuanced multi-finger reset options, and the fragility of the Apple II switching power supply. The kids need a one button reset for the Apple without hitting the power supply with another power-on surge in the hope they left it off long enough for the dynamic ram to "clear" and without needing to learn a multi-finger keyboard sequence.

I understand this project is a little silly, but I prefer to think of it as a small interesting technical challenges for the right person.

Here are some of the rabbit holes I have wandered....

a) I want to keep the base machine clean and thus want to avoid custom ROMs.

b) It would be "nice" to use the existing reset button on the keyboard but a tethered reset button is perfectly ok and what I anticipate will be needed.

c) I've always assumed the solution must clear memory prior to doing the clean reboot.

d) Mostly, I've assumed a small (minimal) I/O card would be the best way to cause an interrupt and pass 6502 control over to an alternate code path to clear memory and reboot. A plug-in card would also provide an electrical home for a tethered reboot button.

e) Traditional I/O cards use a small PROM or EPROM which is ok; but the current trend of using a SOC would also be ok if it makes programming and/or hardware for the new REBOOT code easier.

f) As a side note, there was a card called the "Wildcard" that had a tethered button that presented a menu when pressed. One of the menu options was "clear memory and reboot". It seems to be exactly the functionality I want but don't want a menu and don't want to hunt down a Wildcard for all of the Apples we have in our little lab.

Ideally, I would find someone who thinks a small project like this could be fun. My hope is there are lots of I/O cards, past and modern that can be borrowed from to make such a project trivial for someone comfortable with Apple II hardware. Software is my primary domain and while I am generally comfortable with hardware, getting into memory bus timing phases is beyond my skills.

Anybody think this could be fun? Any other clever considerations to accomplish my objective?

TIA

Barry

UPDATE:

A long time later this project is done.  Check out the story here...... https://csguy.org/technotes/white-whale-reboot-project/

image

  • Sign in to reply
  • Cancel

Top Replies

  • barryhills
    barryhills over 1 year ago in reply to Fred27 +4
    These kids grow up thinking knowing little more than icons on a phone. You are correct that the Apple is "my" passion and I am sharing it with them. But I would also say the simple nature of the machine…
  • Andrew J
    Andrew J over 1 year ago in reply to Fred27 +4
    Then you'd be amazed Fred. The STEM work at The National Museum of Computing involves lots of old computers - a lot is done with BBC Micros for example - as well as newer types of technology, e.g. VR,…
  • barryhills
    barryhills over 1 year ago +4
    A long time later this project is done. Check out the story here...... https://csguy.org/technotes/white-whale-reboot-project/
Parents
  • shabaz
    0 shabaz over 1 year ago

    I don't understand the requirement entirely and know nothing about Apple computers. (if the issue is RAM has contents it shouldn't have, can it not be erased by running a few lines of code after the soft-reset)?

    But, it seems to me, if the Apple power supply is fragile then it's going to break at some point anyway, regardless of if it's kids performing a hard reset or not. Maybe better to swap out the power supply (in a non-destructive way so you can put the old one back in if you ever want to).

    image

    Looks like the PSU is one big metal box, so there is plenty of room. I don't know what voltages it needs, but it doesn't sound like an insurmountable problem to simply replace that brick with a more modern smaller AC-DC supply, perhaps followed by additional converters if you need unusual voltages too. You could even switch on/off the output voltages, rather than having to perform a mains connection disconnect to reset.

    EDIT: Google reveals that there there are replacement supplies sold for about $80 USD.

    For a DIY solution, some info is at this site:

    image

    From that, one method would be to get a 12V AC-DC supply module, and generate the other three rails from it. Or, there may be supply modules with +12V and +5V rails, and then the negative rails can be generated from there.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • barryhills
    0 barryhills over 1 year ago in reply to shabaz

    Thank you for the PSU info but I have rebuilt many Apple II power supplies and am comfortable doing so.  When an Apple crashes it  drops  into the monitor rom (which is not a kind environment for a 9 year  old). I don't want to teach them about the pokes they need to do (in HEX) to perform a clean reboot from the keyboard.  Because dynamic ram decays so slowly, the reset vectors in RAM cannot be reliably trusted.  Again, asking a kid to wait 10 seconds is also a pain in the rear.  

    But above all, I just think it could be fun to create this simple little add-on function for an otherwise clunky feature of the Apple II.  

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • beacon_dave
    0 beacon_dave over 1 year ago in reply to barryhills
    barryhills said:
    I don't want to teach them about the pokes they need to do (in HEX) to perform a clean reboot from the keyboard.

    Could your add-on reset button perhaps automate these keystrokes via the keyboard connection ? 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • beacon_dave
    0 beacon_dave over 1 year ago in reply to barryhills
    barryhills said:
    I don't want to teach them about the pokes they need to do (in HEX) to perform a clean reboot from the keyboard.

    Could your add-on reset button perhaps automate these keystrokes via the keyboard connection ? 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • barryhills
    0 barryhills over 1 year ago in reply to beacon_dave

    This is an interesting idea.  I've done several Arduino projects that talk to a PC/Mac etc over usb.  The keyboard.h library pairs well with the Arduino Leonardo.  Building a macro keyboard from scratch was actually trivial using this approach.  I think the challenge would be integration with the Apple's keyboard interface both electrically and software.   If I recall correctly, the Apple keyboard works from a matrix map; rows vs columns with intersections being a single key that connects one row to one column.  then there is the  keyboard ROM where a signal might be able to be injected.  Electrical timing would become a lesser issue which is nice.  A mezzanine board with an Arduino and the keyboard ROM might just do the trick.  At most it may require an additional serial to parallel converter such as 74LS164.  It would be very clean and portable solution.  The biggest limitation I imagine would be that the Apple could be in several states 1) running a program 2) Apple Basic prompt or 3) Monitor ROM prompt.  To make this work, I would want to force it into a known state before taking over the keyboard.  This is why my gut went to the IO card because it can force a NMI and has access to the 6502 memory space for running a little program.  excellent reply....thank you 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • anniel747
    0 anniel747 over 1 year ago in reply to barryhills
    barryhills said:
    the Apple keyboard works from a matrix map; rows vs columns with intersections being a single key that connects one row to one column.

    Don't all keyboards work that way?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to barryhills

    Maybe you can combine two methods. From what you mentioned earlier, your shortcoming of the DC supply power-down was that you may have to wait 10 seconds. In that case, what if the DC supply was disconnected briefly (like for a second or less, since you don't wish to wait 10 seconds), does it then go into a known state then (i.e. either the BASIC, or Monitor prompt), where you can then apply the soft reset in the method that Dave mentions? That is technically not hard to do, the row/column matrix isn't a hurdle. You could also then develop all this quite easily, it wouldn't need any knowledge of the Apple II internals (which let's face it, not many people nowadays will know as well to help out, compared to power supplies and keyboard matrices).

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • barryhills
    0 barryhills over 1 year ago in reply to anniel747

    deep inside I suppose.  but when I look at a PS2 or USB keyboard I think more about the communication protocol over the wire.  in the case of PS2 the wire carries clock and data.  In the case of USB is carries a much more complicated differential signal.  In the case of the Apple 2 we have full access to all of the row and column signal lines due to the embedded nature of the keyboard.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • anniel747
    0 anniel747 over 1 year ago in reply to barryhills

    You also have full access to the matrix in PS2 or USB keyboards. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • barryhills
    0 barryhills over 1 year ago in reply to shabaz

    The nature of dynamic ram is very different from the static ram we use today.  Dynamic ram has an uncanny ability to hold its charge for a vey long time.   It is fairly common to power up an Apple II only to see it crash immediately because the reset vector in dram has some decayed content that sends the cpu into never never land.  Crazy but true.  This is why I want to clear memory before jumping to the reboot code in prom

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • barryhills
    0 barryhills over 1 year ago in reply to anniel747

    not for this project but for Arduino projects I am curious to learn more about raw access to a modern keyboard without using the ps2 or usb interface

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • anniel747
    0 anniel747 over 1 year ago in reply to barryhills

    Simple X Y matrix. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube