Jump to content
IGNORED

Happy 810 resources


ebiguy

Recommended Posts

I I think it takes removing the PAL/GAL's VCC line to be able to read out the entire eprom's 8K adress space (if it's a 2764).

 

Not sure we really want to dump the whole 2764. As we discussed in previous messages, we found out that this EPROM is legit and was modified. Whatever is present in the rest of the 8K, if there is something at all, it's not too interesting. We want to dump the whole 8K of the original masked ROM, not the legit 2764.

Link to comment
Share on other sites

  • 3 months later...

Been a bit of a break, but I figured I'd revive this thread with some new info....

 

I've been reversing the rev. 7 Happy 810 ROM and have found some interesting things. As expected, it adds many of the features from the Happy 1050, including Q (quiet), H (happy), and $70/72/77 (high speed put/read/write) commands, track write buffering, and fast/slow controller switch support. Strangely, it doesn't support setting Unhappy Mode via command $48 bit 7 like the Happy 1050 does; instead, the menu uploads custom code to replace the command dispatcher.

 

The track write buffering, though, was hacked in in a pretty ugly manner. The 3K Happy 810 ROM was based on a relocated 810 rev. C with patches into 1K of extension code; it seems that the 6K rev. 7 firmware was in turn patched on top of the 3K firmware. Most of the code in the original 1K extension is still in the same place, including some unused fragments, and it was simply patched with additional bank switched jumps to the new code. The silly part is that instead of just patching new logic into the existing code, the write buffering was implemented using an entire second idle loop and command dispatcher, which is jumped to after modified sectors are buffered, and which jumps back to the main loop when the track is flushed. While writes are buffered though, it is this second loop that handles commands, and it doesn't handle all of the same commands that the main loop does, or any custom commands. This is a pretty goofy way to add write buffering.

 

There are also three interesting commands, $36-38. $36 and $37 clear and read back a set of 24 flags, while $38 writes data into a 128 byte aligned block of memory and sets the corresponding flag. Nothing else in the firmware seems to use those flags, and these commands are also incompatible with write buffering since the second command dispatcher ignores them. However, they are used by the multi-drive copier module of the rev 7.10 software to broadcast sectors to all destination drives. In particular, command $38 doesn't send anything back, so it is used on the alternate device ID $3B to broadcast sector data to all drives, and $36/37 are used with one of the drives to verify that the data made it out of the computer correctly before triggering a track write on each drive. Only the Happy 810 v7 appears to implement these in firmware; on the Happy 1050 they seem to be implemented by uploaded code. I'm guessing this was probably necessary due to a shortage of RAM on the Happy 810.

 

  • Like 2
Link to comment
Share on other sites

  • 6 months later...

I picked up an 810 Happy board from B&C and it seems to work fine, but it didn't take me long to find some of my original disk's that only work in Unhappy mode. Has anyone found a way to install a fast/slow switch to start the drive in Unhappy mode so I can avoid having to boot the configuration disk to change modes?

Link to comment
Share on other sites

I picked up an 810 Happy board from B&C and it seems to work fine, but it didn't take me long to find some of my original disk's that only work in Unhappy mode. Has anyone found a way to install a fast/slow switch to start the drive in Unhappy mode so I can avoid having to boot the configuration disk to change modes?

 

When you make a copy using happy backup, you can set a flag so that the copied disk automatically 'triggers' the happy to boot that disk in unhappy mode. This is also an option if you use the happy compacter, selectable for each 'virtual disk' on the physical disk.

 

Does the 810 happy board from B&C have a 4-pin header like the original 1050 boards for Happy/Unhappy and Write protect switches?

 

Sidenote - I recently acquired a very customized 1050 with original 6K RAM happy board that the prior owner has modified, amongst other things, with a switch to select between powering the happy's ROM (HART) and an EPROM with Stock 1050 code in the original ROM socket. This is the 'best' unhappy mode, as it is literally functioning as a stock 1050 in that mode. (Unhappy SIO speed is still a little faster than stock 1050, and may react to protections slightly different than a stock 1050) The only downside is you need to power off the drive while switching it. I'm planning to post a thead about it soon with pics and details of that drive and the other mods in it.

Edited by Nezgar
Link to comment
Share on other sites

No header. I posted pictures here last year.

http://atariage.com/forums/topic/257578-happy-810-resources/page-4?do=findComment&comment=3621351

 

I read the note from phaeron and if I understand it correctly, it sounds like the configuration program uploads code for unhappy mode, which would mean there probably isn't a "toggle switch" hack to do this.

  • Like 1
Link to comment
Share on other sites

I picked up an 810 Happy board from B&C and it seems to work fine, but it didn't take me long to find some of my original disk's that only work in Unhappy mode. Has anyone found a way to install a fast/slow switch to start the drive in Unhappy mode so I can avoid having to boot the configuration disk to change modes?

 

Happy (AFAIK) never sold a switch, but the firmware supports a DIY mod documented in the rev 7 manual. See phaeron's implementation: http://atariage.com/forums/topic/256683-altirra-280-released/page-17?do=findComment&comment=3684109

 

... with a switch to select between powering the happy's ROM (HART) and an EPROM with Stock 1050 code in the original ROM socket. This is the 'best' unhappy mode, as it is literally functioning as a stock 1050 in that mode. (Unhappy SIO speed is still a little faster than stock 1050, and may react to protections slightly different than a stock 1050)

Yes, there are a few protections that break even with Unhappy mode. There is an old utility called "Dehappy", IIRC, that uploads a relocated 1050 ROM to Happy's RAM. Should be available online.

  • Like 1
Link to comment
Share on other sites

 

Happy (AFAIK) never sold a switch, but the firmware supports a DIY mod documented in the rev 7 manual. See phaeron's implementation: http://atariage.com/forums/topic/256683-altirra-280-released/page-17?do=findComment&comment=3684109

 

My Happy board came with a complete manual but I never did read it. Doh! It even came with a warranty card. It was supposed to be sent in within 15 days of purchase, so I'm a little late. :) Thanks for the help!

Link to comment
Share on other sites

There is an old utility called "Dehappy", IIRC, that uploads a relocated 1050 ROM to Happy's RAM. Should be available online.

Oh right, and there's that method too. :) Curious if you have a link to the one you are referring to. Here's one that I have used that does what you mention: (Choose option B - "Happy to 1050") unless it's the same one you're referring to:

https://archive.org/details/a8b_Happy_Utility_Menu_v1.0_1987_Pirate_Software

 

I guess this still doesn't help tep392 and his Happy 810 though. :?

 

Edit: ah I missed ijor's note about the DIY mod in the 810 manual. Good stuff.

Edited by Nezgar
Link to comment
Share on other sites

So now I have a working 810 Happy with Tandon drive mech and 810 Archiver with MPI mech. Is either drive mechanism, Tandon or MPI, better than the other in terms of read/write reliability? Durability? Both drives have the improved electronics, side/power/analog boards.

Link to comment
Share on other sites

From what I've read, the Tandon mechs were in the 'earlier' 810's, and their delicate drive latch hinges would break off in your hand, which has made them somewhat harder to come by since most of them affected would have been turfed with no easy repair options. But Brad@Best has the parts to repair this issue. Looks like they both use a belt from the motor to the spindle... Otherwise since you said they both have the upgraded electronics, so I would guess there would no difference in reliability?

Edited by Nezgar
Link to comment
Share on other sites

From http://www.atarimania.com/faq-atari-400-800-xl-xe-what-are-the-atari-810-815-1050-and-xf551-disk-drives_22.html

 

MPI was the earlier version.


==> Atari 810  ---  a 5.25" floppy disk drive
The least common denominator for the Atari.  One mode of operation:
1) Single-Sided, Single-Density--
  FM   40 tracks  x  18 sectors/track  x  128 byte/sector  =  90K capacity
19.2Kbps transfer rate.  288RPM.  
The 810 includes a 6507 microprocessor.
Shipped with DOS I (very early) or DOS 2.0S
earlier MPI version- push button door opening for disk access
later Tandon version- lift door, like a garage door disk access
two SIO ports.

I've never had a problem with my Tandon 810's Latches since I bought them in 1983. Maybe some users were just a bit tough on handling these?

Edited by AtariGeezer
  • Like 1
Link to comment
Share on other sites

Another bit of info from Kevin's Pod Cast with Michael Phillips:

https://computingpioneers.com/index.php/Michael_Phillips

 there were two variants of the 810 disk drive; one with an MPI-brand drive mechanism
 (which contained the head and stepper motor), the other was made by Tandon.
 As you probably know, MPI had the pop-up, spring loaded door while the Tandon had the less exciting open slot
 and lever/latch system. The Tandon, being the later variant, needed fewer mods than the MPI.
 Now I know head alignment problems were common on the MPI, and I think the Tandon was prone as well,
 but can't remember exactly. Anyway, once the head loosened and moved enough from tolerance, 
the read and write errors began until the drive became unusable. I can’t recall exactly the root cause
 or what we did after realigning to make it more robust, but I don’t recall them coming back repeatedly for that one. 
The early MPI drives had two voltage regulators on a heat sink that connected to the rear board via little 3-pin sockets.
 The socket connections would oxidize over time, causing the drive motor speed to vary substantially from the spec. 
So, we had to pull the sockets and manually solder them to the rear board. The side boards always had issues,
 but they were tough to troubleshoot in a timely manner. So, if it wasn’t one of the socketed ICs that failed,
 we usually just swapped out the whole board. 
Link to comment
Share on other sites

Wow I wouldn't think that this would come out of the camp of a software developer.

 

I don't believe they were actually in the same camp. :P

 

As far as I know - which might be wrong - they were both just early computer enthusiasts who got into different ends of the business, one software and one hardware, independent of one another.

Link to comment
Share on other sites

  • 4 months later...

Just for sake of completeness for this thread, in the ANTIC Podcast interview with Scott Adams, Scott jests about how he would even send his new games to his brother Richard, who would in turn make sure he could break the copy protection and come out with an update for his drives. :)

 

22 minute mark: https://ataripodcast.libsyn.com/antic-interview-25-the-atari-8-bit-podcast-scott-adams

Link to comment
Share on other sites

  • 1 month later...
  • 6 months later...

It's possible that whoever burned that EPROM got the firmware the same way we did, and might not have even been aware of the hidden message.

 

Took a look at the 2764 dump, and it does indeed look like the programmer tripped a bank switch. It read almost all of the first bank, except for the last six bytes which came from the second bank. That's right after the banking registers. If the programmer has the ability to read a user-specified range, it should be possible to trip the bank switch at $1FF9 and then read out the hidden $0000-03FF range on the second bank. It's not necessary for functionality since it's inaccessible to the drive, but I'm curious as to the message that may be in it, since the messages seemed to get more interesting with successive firmwares despite few people ever seeing them....

 

Did anyone ever manage to try this method to see if there was anything in the $0000-03FF range on the second bank? (of the Happy 810 v7 Mask ROM)

Link to comment
Share on other sites

actually, software developers had a love hate relationship with the happy drive, it could create some copy protection for disks, and by that same sword de protect disks. And you would need one to make sure no one could use one to copy your disks !

 

not to mention using it to help you rip the protection out of the work of someone else for study or out right theft of code after decomp...

 

okay they were the biggest pirates out there... :)

 

back on topic, stepper motor... isn't it amazing what a little thread lock in the threads and loctite on the outside screw head band area will do? Just align it and use the proper torque... let it dry and it will stay like that for what seems like eternity.... later drives were like that... but most were not... all of mine are thread locked and loctited... either from Atari, or a repair center, or me!

Edited by _The Doctor__
Link to comment
Share on other sites

  • 2 weeks later...

back on topic, stepper motor... isn't it amazing what a little thread lock in the threads and loctite on the outside screw head band area will do? Just align it and use the proper torque... let it dry and it will stay like that for what seems like eternity.... later drives were like that... but most were not... all of mine are thread locked and loctited... either from Atari, or a repair center, or me!

I had an 810 that was acting flaky. I tried aligning it with the calibration disk but it wouldn't hold. Turned out a lock screw was loose and letting the motor shaft slip. I had noticed that the loud noise it makes when finding track zero was much quieter on this drive. It just didn't occur to me that it was a symptom of the motor slipping.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...