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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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 270 subscribers
  • Views 4375 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 11 months ago +4
    A long time later this project is done. Check out the story here...... https://csguy.org/technotes/white-whale-reboot-project/
  • phoenixcomm
    0 phoenixcomm over 1 year ago

     barryhills image Oh, well, some folks are blind, others are lazy, Google Image Search revealed this image (on the right). I would use a double-pole push-button. Now you have three connections:

    • Common is wired to the CPU's pin 40
    • ON is wired to a 10k resistor to p5v (this keeps the pin from flopping around
    • OFF is wired to ground.

    You will have to, do some investigation, and trace the wire on the PCB as there may be a pull-up on pin 40 already, If there is remove the resistor. 

    One word of warning.... NEVER SOLDER TO THE CPU!! I believe they were socketed. 

    ~~ Cris H. 

    Oh BTW I also have the Programers Reference & Application manuals

    let me know If you want copies there in pdf format I will have to hang them on my server. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 1 year ago in reply to phoenixcomm

    Would it clear the memory, as requested by OP?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 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 phoenixcomm

    I am familiar with the 6502 pin definitions. The challenge has little to do with the 6502 and everything to do with the reset and power-up logic (in ROM) for the APPLE II.  I tried to make this clear.  This is an idea specifically for the Apple II. The 6502 reset simply transfers control to a routine in ROM where a multi step ridiculous flow of logic triggers various forms of soft reset and is reliant on the contents of vectors in RAM.  Dynamic Ram does not fade quickly like static ram which is why I imagine the solution will require a routine to clear memory or at least the reset vectors.

    As an aside, I posted on Element 14 in search of thoughtful professionals, enthusiasts, and experts.  I never expected the very first reply to my very first post to include  snarky BS.  If I wanted snarky I would have posted on Reddit, Twitter, or Facebook.

    • Cancel
    • Vote Up 0 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
  • PPE_COOP
    0 PPE_COOP over 1 year ago in reply to barryhills

    Funny you should say "As an aside, I posted on Element 14 in search of thoughtful professionals, enthusiasts, and experts.  I never expected the very first reply to my very first post to include  snarky BS.  If I wanted snarky I would have posted on Reddit, Twitter, or Facebook." I recently had a similar experience. Eventually the real community began to respond but one of the first comments was meant to intimidate and shame me for posting. Sorry I can't help with your current project. I just thought I would help drive your other point home.

    • Cancel
    • Vote Up 0 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
  • 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
  • shabaz
    0 shabaz over 1 year ago in reply to barryhills

    Cris is being humorous, you'd recognize it after seeing more messages over time (You can see that Cris also offered to provide you with reference manuals, it's actually a friendly response, i.e. It's easy to accidentally misinterpret the tone from text alone basically, is what I'm trying to say.

    PPE_COOP's situation was actually different, people had comments on technical points solely in that case, and probably saved PPE_COOP effort and cost in patenting something (which is what they originally referred to) that wouldn't have helped them.

    • 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
>
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 © 2025 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