element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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
element14 presents
  • Challenges & Projects
  • More
element14 presents
element14 presents Forum RESET! for the Apple ][. (pronounced "reset dammit")
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join element14 presents to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 2 replies
  • Subscribers 109 subscribers
  • Views 771 views
  • Users 0 members are here
  • reset reboot apple 2 // //e ][ arduino esp32
Related

RESET! for the Apple ][. (pronounced "reset dammit")

barryhills
barryhills over 1 year ago

James/All

I was blown away by the mega ][ project but more importantly of the brilliance on display navigating both Apple ][ HW & SW.  Permit me to pick your brain.  My Apple ][ lab boasts 5 fully functional Apple ][ machines.  Something I have always wanted on the Apple ][ is an ABSOLUTE reset button .... not a 2 or 3 finger keyboard salute that works most of the time .... a physical button that when pressed is as effective as powering up the machine after being off for a month.  It was probably the "Wildcard ][" that first got me thinking about it ... it occupied a slot and had a button on a dangling wire ... when you pushed the button it would take over the 6502 and present a menu.  One of the menu items was "clear memory and boot".  This method of rebooting turns out to be very useful for the Apple ][ who's boot process includes checking memory for remnants of I forget what to determine if its doing its hard or soft boot.  I have never been impressed, never found it helpful, and always found it to be a pain in the ass.  So why don't I just power cycle the machine?  The switcher in the Apple ][ is fairly marginal & fragile in my experience.  I reboot my machines a lot in the work I do and the last thing I want to do is put more strain on the power supply by frequent power cycles ... the squeal of the power supply ramping up and down is concerning.  Sorry for the long intro.   What I want is a RESET! that will ALWAYS reset the Apple ][ ("reset dammit" ... I loath the inaccurate distinction of Hard vs Soft reset in the case of the Apple ][).  The feature probably requires a slot to have access to memory and be home for some TTL drivers etc.  Such an approach might also use a micro like esp32 or arduino to fiddle with memory ..... but putting a memory chip on a small mezzanine card to access the bus is not beneath me if its reliable.  No menus are needed, no UI, just a single button that "no kidding" boots the machine every time ("dammit").   Am I nuts?   Am I missing something more obvious (other than my OCD regarding frequent power cycling of the PS)?  Does it sound interesting to anyone else?

  • Sign in to reply
  • Cancel
Parents
  • baldengineer
    baldengineer over 1 year ago

    Hi There! Weclome and what an interesting idea!

    As you probably know, the fundamental issue with getting a "proper" reset on the Apple II is the reset checksum at $3F4 (1012). Without modifying the ROM, you need to trash that value to get a full reset. The IIe (and later) ROMs check the state of the OPAL key to determine if it should do a warm or cold boot.

    I feel your pain. There are two keyboard macros on the Mega IIe's keyboard that help automate trashing the vector either in BASIC or the machine monitor. But those require the machine to be in a known state.

    In the case of the Apple II and II+, one approach would be to patch the ROM to always hard reset. Although, I think there are times the "almost" RESET is nice, so that's not a great idea. But you might be able to find a place in ROM to patch in a check for a key like TAB or something being held down during the first second or two of boot.

    Off-hand and thinking out loud, I think doing it from a card would be possible if you're okay with an external switch. The card could assert DMA, modify $3F4, and then yank down the RESET line.

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

    My current leaning is the same as your 'thinking out loud" approach because of the need to clear the checksum and the current popularity of using a modern micro to drive the bus such as the esp32 VGA card for Apple ][.  I know it is possible.  I actually prefer an external mechanical button.  But this approach requires esp32 programming skills beyond my current comfort zone which is why I am reaching out to the community in hope of finding someone who says "thats easy and sounds like fun".  Modifying the ROMs  puts me into more tooling and managing custom ROM inventory.  My latest "thinking out loud idea" is brute force mezzanine board for one of the 4116 memory chips.  It would need to assert proper RAS/CAS to the checksum and write zeros to $3F4. The mezzanine would need a jumper to RESET and maybe OPAL.  The benefit if its possible at all would be that it could be mostly done with just basic TTL parts to clear the checksum.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • barryhills
    barryhills over 1 year ago in reply to baldengineer

    My current leaning is the same as your 'thinking out loud" approach because of the need to clear the checksum and the current popularity of using a modern micro to drive the bus such as the esp32 VGA card for Apple ][.  I know it is possible.  I actually prefer an external mechanical button.  But this approach requires esp32 programming skills beyond my current comfort zone which is why I am reaching out to the community in hope of finding someone who says "thats easy and sounds like fun".  Modifying the ROMs  puts me into more tooling and managing custom ROM inventory.  My latest "thinking out loud idea" is brute force mezzanine board for one of the 4116 memory chips.  It would need to assert proper RAS/CAS to the checksum and write zeros to $3F4. The mezzanine would need a jumper to RESET and maybe OPAL.  The benefit if its possible at all would be that it could be mostly done with just basic TTL parts to clear the checksum.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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