Jump to content
IGNORED

Happy or Duplicator?


tuf

Recommended Posts

20 hours ago, kheller2 said:

 

 

219C538E-A36D-4257-8D99-6894FFAA3088.jpeg

The left switch is ROM, the right is write protect.

On the left switch you can see it toggles the blue to grey or yellow.

I'm not sure if Purple is +5 or GND and is used for the LEDs. Blue also ties into the LEDs in one position or the other. The left switch has a solder bridge across the middle two pins tying blue to both poles (one for the ROM selection, one to light the LED).

Hard to explain without a diagram :)  This thing is fragile and tiny to my eyes.

 

Just connecting blue to grey or yellow should work (I think).  See previous post about numbering.

 

 

Link to comment
Share on other sites

1 hour ago, kheller2 said:

 

Um, not like that.   And that might have been bad.

Starting from the RIGHT, let's call them 1-8.  So the second pin from the RIGHT is #2 (i'm just making this numbering up)

#2 should connect to #6 or #7 (which picks onboard vs expansion ROM)

 

 

 

i did try with no luck, the drive motor does not spin, only the LED Light

 

 

jumper2.jpg

Link to comment
Share on other sites

I noticed that a trace on the eBay boards had been cut, i measured it out on mine and it is also cut (but I just can't see it since its under these wonderful sockets).

Again, I'm leaning toward their being something wrong with your chips, the eprom, something at this point.  Does it require a 6502B?  All my chips are scrubbed.

 

54C2A066-68BE-4882-9EEE-01AA56360B9C.jpeg

C756A692-4B19-40A0-8C42-E258E3CB1E3C.jpeg

Link to comment
Share on other sites

  • 1 month later...

I've been working fixing one of these boards.  The green wire is used to enable or disable on the stock 1050 ROM when you jumper the proper pins off that header.  What is interesting about this is that with this board, and just the 6502 in its socket, and no modification to the 1050 board, you can use the 6502 as a 6507 replacement. However, I learned today that 6507 A12 must be wired to 6502 A15:  A0-A11 direct mapping, but A12 goes to A15.  I'm assuming there is a OS reason for that where the upper mirror of the memory map is important to the functioning of the stock OS.  I'm a bit tired tonight so can anyone tell me why mapping A0-A12 directly doesn't work?

  • Confused 1
Link to comment
Share on other sites

16 hours ago, kheller2 said:

I've been working fixing one of these boards.  The green wire is used to enable or disable on the stock 1050 ROM when you jumper the proper pins off that header.  What is interesting about this is that with this board, and just the 6502 in its socket, and no modification to the 1050 board, you can use the 6502 as a 6507 replacement. However, I learned today that 6507 A12 must be wired to 6502 A15:  A0-A11 direct mapping, but A12 goes to A15.  I'm assuming there is a OS reason for that where the upper mirror of the memory map is important to the functioning of the stock OS.  I'm a bit tired tonight so can anyone tell me why mapping A0-A12 directly doesn't work?

I don't see why it would matter with a stock Rom. ROM in a 1050 is referenced at the page $FXXX. Any access to ROM, including the reset vectors, activates all the address lines A15-A12. And normally, whenever ROM is not accessed, all the upper address lines are low. So it should be exactly the same if you connect the 6507 A12 signal to any of A15-A12 at the 6502.

 

It might make a difference if the firmware is attempting to access the ROM at a mirror address, such as $1XXX. But then it would actually work only the other way around, if you connect A12 to A12. Anyway, unless I miss something, I don't see the stock 1050 ROM referencing any mirror address. All ROM references seem to use the "canonical" address range at $FXXX, in which case it should not matter.

 

Are you connecting directly to the CPU pin? Because otherwise something at the board level might be relevant.

 

5 hours ago, E474 said:

It might be to ensure it reads the startup address correctly. https://www.pagetable.com/?p=410

It shouldn't. Reset vectors access asserts all the A15-A12 signals.

Link to comment
Share on other sites

I have a Happy 1050 with the original ROM still in it's motherboard socket, with a nifty mod where a toggle switch determines which ROM receives power on a bent-out pin 28... the one on the 1050 motherboard, or the one on the happy board. So the original 1050 ROM works just fine with the happy's 6502, at least with a genuine happy board...

Link to comment
Share on other sites

1 hour ago, ijor said:

I don't see why it would matter with a stock Rom. ROM in a 1050 is referenced at the page $FXXX. Any access to ROM, including the reset vectors, activates all the address lines A15-A12. And normally, whenever ROM is not accessed, all the upper address lines are low. So it should be exactly the same if you connect the 6507 A12 signal to any of A15-A12 at the 6502.

 

It might make a difference if the firmware is attempting to access the ROM at a mirror address, such as $1XXX. But then it would actually work only the other way around, if you connect A12 to A12. Anyway, unless I miss something, I don't see the stock 1050 ROM referencing any mirror address. All ROM references seem to use the "canonical" address range at $FXXX, in which case it should not matter.

 

Are you connecting directly to the CPU pin? Because otherwise something at the board level might be relevant.

 

It shouldn't. Reset vectors access asserts all the A15-A12 signals.

 

I agree with you and it's racking my brain.  Mind you this is a WST EPROM.   This upgrade board is empty of all chips but the 6502.  In fact, A12 was purposely cut trace wise on my working board to some LS chips and it wasn't until I probed it all out that somehow A12 is tied to A15 (and the only way that can happen is some magical tiny wire hidden under the full-blocking-can't-see-anything socket.  As soon as I jumped A12 to A15 on the non-working board, the CPU worked and the stock drive booted.  (mind you I still have other issues with this board -- like not working at all when trying to use the happy portion vs stock).

 

So yes, there could be some other gremlins showing up here.  I really need to create a 1050 rig where the CPU socket is broken out to another board via ribbon cable.  And I really should just draw this all up in some schematic tool.  But that's much harder than paper and pencil. :)

 

Comparing this memory map: https://www.atarimax.com/jindroush.atari.org/data/ahard/mmap_1050.txt to the one in the Altirra HW guide, the only differences I see are what is really at $0080 and if the OS rom is at $1000 or $F000

 

Link to comment
Share on other sites

3 hours ago, kheller2 said:

In fact, A12 was purposely cut trace wise on my working board to some LS chips and it wasn't until I probed it all out that somehow A12 is tied to A15 (and the only way that can happen is some magical tiny wire hidden under the full-blocking-can't-see-anything socket.  As soon as I jumped A12 to A15 on the non-working board, the CPU worked and the stock drive booted.

 

The enhancement boards, Happy and Duplicator, can't connect A12 directly between the 6502 and the 6507 socket. On the original 1050, A12 low means ROM is not accessed and it is used to activate the other chips (RAM,RIOT or FDC) depending on the lower address signals. But, for example in the Duplicator, ROM space is expanded to 8K, and then A12 might be low even when still accessing ROM at the $EXXX page. So A12 must be gated thought some extra logic to avoid this conflict.

 

3 hours ago, kheller2 said:

Comparing this memory map: https://www.atarimax.com/jindroush.atari.org/data/ahard/mmap_1050.txt to the one in the Altirra HW guide, the only differences I see are what is really at $0080 and if the OS rom is at $1000 or $F000

 

It is the same. As described in both references, the address space is mirrored every 8K because the 6507 lacks the higher address signals.

 

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

To the best of my ability, I have drawn out the clone board in KiCAD. I've also marked up pictures of the board with pinouts.

 

I'm hoping this will help with troubleshooting this Happy clone board.

 

I've built one up myself with the original board, and I get the same results as @ndary. Just a power light. Could it be because this EPROM is for a World Drive Mech, and not a Tandon Mech?

 

Could we request another dump of the EPROM? Just for safety sake?

 

-Marshall

IMG_20211213_0002_NEW.jpg

IMG_20211213_0003_NEW.jpg

1050 Happy Drive Clone PCB.zip

  • Like 1
Link to comment
Share on other sites

@SpicyChronos WST / Tandon roms fundamentally only have stepper timing and phase encoding differences - the code should run just fine with either drive otherwise for testing POST, but don't expect a tandon drive to keep up with the WST step speeds.

 

If you arent already - have you tested an EPROM in the 1050 mother board socket with the happy board in place with it's ROM socket empty and 6502 in place?  This may help narrow down if the issue is with ROM socket wiring.

 

Of course you'll need a 2732 type eprom to use in the motherboard socket...

Link to comment
Share on other sites

*smack* I just spent some time today learning kicad and trying to draw the schematics as well.  There are "hidden" differences between my working board and the bare board.  I even ordered a bare board off eBay to take a look and try to figure it out.  Note that the original board, at least the one I purchased still has traces intact that are cut on mine (as shown cut in the picture above).  

 

I'm very very new to kicad so its taking me a bit of time, but there are a few errors i noticed in your schematic, LS133 pin 9 goes to LS27 pin 13, for example.  Also, on my board, somehow the 6507 A12 is connected to 6502 A15 directly.  Making that connection and enabling the 1050 board ROM allows the 1050 to run stock.  I've yet to figure out how to make the happy portion work on the questionable board.  I suspect some additional hidden jumpers will be discovered.

 

  • Like 1
Link to comment
Share on other sites

@kheller2, thanks for looking over my work. I fixed the error you found, plus a few more I saw when reviewing. I've saved the changes and attached them again.

 

When viewing the schematic in KiCAD, do all the components show? I'm wondering if the CPU and memory components populate, as I created those.

 

I'll attach the library files I created for them, just to be safe.

 

@Nezgar, I'll try that shortly. It's too late now to reliably trust my work at this hour.

 

 

1050 Happy Drive Clone PCB.zip KiCAD Footprints.zip

Link to comment
Share on other sites

SC (SpicyChronos), I'll take a look at this later tonight.  I'm a bit under the weather today.  I don't want this thread to devolve into a kicad training session for myself (do we have an autocad like forum here)?   When I load up your original schematic my system complains about the libraries being to old, and none of the bus lines show up.  I too had to create the SRAM chip from scratch by cloning an EPROM.  I did find a MOS 650x library but the size of the chips all look the same on the schematic drawings -- I'm used to how Visio would allow you to rotate, move, autoroute etc.. which seems that kicad has some limitations with.  I just want to move this chip over here (Drag) but also rotate it (busted every bus link) and how do I resize this.. or how can I re-order the pinouts dynamically Address then Data, but later I might want just pin numbers in order (which is what typically use for blackbox style understanding ... pin 3 to pin 7 to pin 2 to R1 ... I'll figure out later what that is after I have all the lines drawn).

 

Anyhow...

Looking over the only public happy schematics out there it seems that, at least in part, this board tries to use the option ROM method for the 1050 ROM -- and leaves a lot of signals available for possible other Happy additions.

 

I 100% do not find this endeavor we are on practical --- if people want a Happy 1050, just buy one from AtariMax, however, this is fun trying to figure this thing out and once it is figured out, anyone can buy that $5 board off eBay and build their own.

 

Link to comment
Share on other sites

14 hours ago, SpicyChronos said:

I've built one up myself with the original board, and I get the same results as @ndary. Just a power light. Could it be because this EPROM is for a World Drive Mech, and not a Tandon Mech?

 

Could we request another dump of the EPROM? Just for safety sake?

 

-Marshall

IMG_20211213_0002_NEW.jpg

 

1050 Happy Drive Clone PCB.zip 358.6 kB · 3 downloads

 

The board I'm working on is ndary's.  The eprom he sent with the board works just fine in my board.  The first thing I did was pull all his chips, put them in my board and vice versa. All his chips worked in my board, none of mine worked in his.  And here were are! :)  I'm very tempted to remove the sockets on my board but worried I'll damage the mysterious hidden connections if I do, so I'm beeping it all out.

 

Also note one needs to properly jumper pin 2 to 7 or 3 to 7 on that bottom left header to use the happy EPROM or the 1050 ROM/EPROM.

 

Link to comment
Share on other sites

Okay, so I'm not proud of this diagram by any means.  It is what just a few minutes with a new to me tool can produce without going into painful pin re-arrangements and component scale.

 

A12 has a few names so I could keep it straight, OA12 (EPROM A12), CA12 (6502 CPU A12 and RAM A12), SA12 (Socket A12).

Components are close to where they are on the clone board.

Lifting pin 8 of the LS74, and jumping SA12 to A15 are the only things I've found different at the moment.

HCLONE.png

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...