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 306 subscribers
  • Views 5797 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 2 years 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 2 years 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 2 years 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/
  • jc2048
    0 jc2048 over 2 years ago in reply to barryhills

    I think you're right about the DRAM sequencing. I don't recall doing anything special when using them. I've got an old Intel design manual here which includes a datasheet for the 2107B and it says "The only requirement for the sequence of applying voltages to the device is that Vdd, Vcc, and Vss should never be 0.3V more negative than Vbb", so, as long as the -5V rail is always negative relative to 0V and the positive ones always remain positive, you shouldn't have any problems.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Fred27
    0 Fred27 over 2 years ago

    I was just wondering what led you to use the Apple II with young kids. I can understand your interest in retro computing and why you might enjoy using one. I can't see the fit when working with kids. I'm sure they won't have the same interest in retro devices that someone who grew up with them would. They'll probably just see them as old junk. Something more modern - whether it be a slightly out of date laptop or a Raspberry Pi - would seem like an easier way to go.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • barryhills
    0 barryhills over 2 years ago in reply to Fred27

    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 and the ability to really see the inner workings allows them to more easily grasp the core concepts of computing more readily.  There are simply less moving parts and it is more tactile than an emulator.  Honestly, I am just having fun and this project is a small and fun way to solve a really dumb thing in the Apple II design.  I know the project is a little silly but I want to do it regardless if for no other reason for the fun of it.  For the older kids we learn things like microbot if that helps

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • phoenixcomm
    0 phoenixcomm over 2 years ago in reply to barryhills

    imagebarryhills  Ok, I'm a little snarky, but your question centered around a manual reset of sorts, I got answers in 2 attempts from your friend Google. Your question is at best ambiguous. Yes, I have a long history with the 6800 family, but not much on the 6802, as I thought it was a bad joke, I owned the 6800 Micro Module. And I had it running in an S100 chassis, but obviously, It plugged into its own connector.  Here are two pages from the 6802 Technical Data. BTW I also have this book as well, So let me know If you want them. ~~Cris

    AFTER THOUGHT: you might also play with the NMI line. I also have to modify my previous answer about a switch, If you read the spec below they claim It must be held down for some number of Clock Cycles. without bounce. ~~ 

    imageimage

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • barryhills
    0 barryhills over 2 years ago in reply to phoenixcomm

    The following is a layman's explanation of the hardware problem from the perspective of the Apple II specific issues.  

    Yes, NMI from an IO card interrupts the 6502 and causes a JMP to the interrupt handler in system ROM.  The interrupt handler determines which slot caused the interrupt, and yes about this time HALT is asserted....  but I am vague on who and why HALT is asserted.  In my experiments it is quite possible I did not hold HALT long enough as you suggest.  The IO card has a small amount of rom which is mapped into the memory address space available to the 6502.   The interrupt handler jumps to the program in the IO card p/rom.  IO cards in the Apple II have full access to signals for address, data, reset, halt, nmi, as well as the 2 DMA clocks for managing memory, and more.  The timing of the DMA clocks is fairly tight.  A P/ROM can sit directly on the address bus and be fast enough to play well with the timing of the DMA phases.  IO cards that need to manage DMA have generally adopted 2 different approaches to control modern Apple II IO cards; they have either used an FPGA or a PiPico.  Arduino for example is not fast enough.   FPGA is way outside my skillset.  PiPico is interesting because it's fast enough to do DMA and can easily be reprogrammed. The ONLY thing I need to do is have the 6502 execute a small program from the IO card p/rom to clear memory and JMP.  An eprom (or PiPico emulating rom) is all need plus perhaps some glue logic.  The Wildcard is a good example of how simple this should be....but I want to do MUCH less than the Wildcard (see link in this thread).  I have done enough homework to be fairly certain the hardware is a somewhat pedestrian challenge for the right person (which I am not).  Thats it for the hardware (I think).  

    BUT it's what Apple did to the SOFTWARE logic (in system ROM) for reset/reboot that is the part that really annoys me and the motivation for the project.  There are several kinds of reset using different combinations of keys, not worth explaining except to say a hard reboot is not one of the options and certainly not with 1 finger.  The part that annoys me the most is that any programs is allowed to load their own reset vector into memory (DRAM) which is then used by the reset logic in system ROM.  The lore is Apple did this to prevent users from exiting a  program and to bolster copy protection.  As an aside the Wildcard works around this by taking full control of the 6502 and its memory.  This is why a simplified modern Wildcard is an appealing approach to me.  So back to hardware for a minute.  The reset vector in DRAM decays at an unpredictable (slow) rate and on PON the reset vector is frequently found to be in a corrupted state.  A subsequent attempt at one of the several reset sequences can easily send you off into never never land.  This is why one of the features of the Wildcard is EXACTLY what I want, they implemented a "clear memory and reboot" option that runs from the PROM in the Wildcard.

    I know of S100 but have never owned a system with an S100 bus.  My first computer was the Apple II in 1978.  Actually not true, my first computer was a Bendix G15 acquired in 1973.  It ran in my garage for 5 years till mice made a nest out of the hand wired backplane.  I was in school during the peak S100 days and focused more on software.  

    I appreciate your offer of documentation but I think I have all the documentation imaginable on the 6502 and the Apple II architecture.  But 50% of it is over my head and I certainly lack the tools to debug any significant hardware.  Especially the DMA stuff.   It may  be the case that I am making this harder than it needs to be since my proposed project ONLY is used to run a small program that clears the system DRAM then JMP to the reboot routine in system ROM.  

    As for snarky, forget it.  As for being ambiguous, the original post came from the perspective of an Apple II enthusiast and some assumptions about the Element14 community so perhaps that is why parts of it seems vague.

    cheers

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Fred27
    0 Fred27 over 2 years ago in reply to barryhills

    Those sound like great reasons to do this. If you can find the time to tech kids about computers and you can keep their interest, then that has to be a good thing.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Andrew J
    0 Andrew J over 2 years ago in reply to Fred27

    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, robotics and the like.  They have even had the kids program The Witch (Harwell Dekatron), a 1950s computer.  Our engineering day for the Bombe is often interrupted by school classes on a mission.  When I demonstrate it is often the kids who ask the most interesting questions and seem the most interested (not all of them of course) and they love the scale of old tech.  Kids are definitely interested.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • phoenixcomm
    0 phoenixcomm over 2 years ago in reply to barryhills

     barryhills again Google to the rescue.  https://www.applefritter.com/content/apple-ii-hard-reset topic #3 ~~ Cris H. 

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

    thank you.  yes, I am on that thread (twice).  The OP opted for a solution using the ROMX product.  The spirit is certainly aligned with mine but they have had issues getting the ROM code right and I believe this approach requires a different ROMX image for each different system ROM family. I think my IO card idea is a more universal solution that would drop into any Apple II.  I need to look at the ROMX based solution more deeply.  The advantage is of course the hardware is done but I would be turning a pretty nice product into a 1 trick pony in my environment.  I'd really like to ROM agnostic.  

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

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

    • Cancel
    • Vote Up +4 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