Jump to content
IGNORED

Atari 800 XL Remake


reifsnyderb

Recommended Posts

That's not what I see in the last posted schematic from mytek... am I confused, is there some sort of mix up? I took the image and enlarged it as well. Can you put all of you diagram/schema  with just this section into a post for comparison... did a quick skim and didn't see each.

Edited by _The Doctor__
Link to comment
Share on other sites

11 minutes ago, _The Doctor__ said:

That's not what I see in the last posted schematic from mytek... am I confused, is there some sort of mix up? I took the image and enlarged it as well. Can you put all of you diagram/schema  with just this section into a post for comparison... did a quick skim and didn't see each.

This is how it's implemented on my board.  Keep in mind the W65C02 pinout will be slightly different as I am using the 44 pin square package....

715828361_W65C02implementation.thumb.jpg.743c5ce66e5f22ee1d073a95bedec406.jpg

Link to comment
Share on other sites

9 hours ago, _The Doctor__ said:

do your mean MMU changes? You may need to alter both the MMU and EMMU

The MMU code is "stock" + that extra chip (74LS138) and the simulation shows it working.  The EMMU handles just the SRAM chip and should be able to handle the banking.  I have banking disabled and just basic functions until I can get the rest working.

 

(Edit to add 74LS138)

Edited by reifsnyderb
Link to comment
Share on other sites

okay giving this some thought while quickly skimming the data sheet, the chip needs to detect a transition to low for SOB... that means it had to be high at least once during startup, the datasheet suggest that it might be prudent to hold the sob high if it is not to be used. This may be why he connected it the way he did rather than just tying it to ground... so it transitions to low, if it stays low that's fine... if it's not to be used it gets held high according to the sheet...

 

some slight differences in the chip over the years... but that's what I have as a thought. Give the sheet a once over and you see some notes added as well for the current differences for the differing forms.

Edited by _The Doctor__
Link to comment
Share on other sites

22 minutes ago, _The Doctor__ said:

okay giving this some thought while quickly skimming the data sheet, the chip needs to detect a transition to low for SOB... that means it had to be high at least once during startup, the datasheet suggest that it might be prudent to hold the sob high if it is not to be used. This may be why he connected it the way he did rather than just tying it to ground... so it transitions to low, if it stays low that's fine... if it's not to be used it gets held high according to the sheet...

 

some slight differences in the chip over the years... but that's what I have as a thought. Give the sheet a once over and you see some notes added as well for the current differences for the differing forms.

You may be onto something about the SOB line. 

 

Some thoughts:

 

1.  The tranceiver, however, is hard-wired to only one direction.  So it will always be grounded.  Maybe by a fluke it has enough instability in his circuit, at start-up, to not be a problem?  Maybe the schematic is wrong?  I don't know.

 

2.  The timing diagram on page 26 shows it going low at a certain point.  Maybe it should just float? 

 

3.  On the other hand, looking at page 11 it looks like by wiring it to ground the overflow bit would always be set.  That certainly would screw things up. 

 

4.  SOB is clearly an input as per page 7.  Page 30 does suggest that SOB should be tied to VDD as opposed to ground.

 

I took the socket and supporting circuitry off the board so as to wire up a SALLY in a breadboard.  If this works it will prove the W65C02S and/or it's supporting circuitry is the problem.  If the W65C02S and it's supporting circuitry is the problem it makes sense to do something about that SOB line.

  • Like 2
Link to comment
Share on other sites

Update....

 

<sigh>

 

Ok.  So here's what I know.

 

Long story short I never found out if the SALLY chip would work or not.  My guess is that making boards that used it would eliminate a variable.  Maybe make it so that there would be a way to easily install a CPU board so that those without a SALLY could use a cheap conversion board.  (Yeah, I know, there are solutions that plug into a DIP 40 socket, too.  But there isn't much space in a 600XL for them.

 

Going back to W65C02S's.

 

For those that like sockets, the PLC44 sockets suck.  I swapped W65C02S's and went from a black screen to a white screen.  Weird.  After some troubleshooting, I noticed that the CPU had no power and the pin was pushed in.  A further examination showed that some other pins weren't right either.  Bending the pins back put me back on a black screen.  (Joy.)  I don't know how the pins got bent as they are fully protected and pushing the chip in place shouldn't do anything other than seat the chip.

 

After fixing the socket problem...both W65C02S's didn't work.  I noticed the meter showed the data lines were inconsistent.  After some troubleshooting I found out that both chips were not producing output on D6.  I have no idea why.  The one chip has an excuse as it was in the first board and wired wrong.  But the other chip???   I don't know.

 

While I did pull the socket and was able to re-route the SOB pin, I was not able to conduct an effective test because of the above problems.

 

More thoughts:

 

1.  The problem with the questionable routing on the SOB pin makes me question the entire W65C02S conversion circuitry.  If that isn't right, what else is wrong?  Why did it work or is the schematic wrong?  

2.  While troubleshooting, I verified the GTIA and ANTIC chips still work.  They do.

3.  Watch online pinouts of chips.  Specifically, I found pinout diagrams that swap the VCC and VSS for the GTIA chip.

 

...and, by the way, does anyone know what the current market price is for a SALLY chip and where I can get one without bidding for it on ebay?

 

 

 

 

 

Link to comment
Share on other sites

3 hours ago, reifsnyderb said:

...and, by the way, does anyone know what the current market price is for a SALLY chip and where I can get one without bidding for it on ebay?

 

 

You'd have to double-check with him to confirm stock and current pricing, but Brad shows them at Best Electronics for $8 apiece. Search for CO14806.

 

Marlin at The Brewing Academy may be another source.

 

Link to comment
Share on other sites

8 hours ago, reifsnyderb said:

Update....

 

For those that like sockets, the PLC44 sockets suck.  I swapped W65C02S's and went from a black screen to a white screen.  Weird.  After some troubleshooting, I noticed that the CPU had no power and the pin was pushed in.  A further examination showed that some other pins weren't right either.  Bending the pins back put me back on a black screen.  (Joy.)  I don't know how the pins got bent as they are fully protected and pushing the chip in place shouldn't do anything other than seat the chip.

 

After fixing the socket problem...both W65C02S's didn't work.  I noticed the meter showed the data lines were inconsistent.  After some troubleshooting I found out that both chips were not producing output on D6.  I have no idea why.  The one chip has an excuse as it was in the first board and wired wrong.  But the other chip???   I don't know.

 

 

 

What you are describing here is not a problem with the socket, but either a problem with the chip pins themselves and/or the connecting circuit.  I've misaligned the pins on a PLCC chip simply by extracting it from a socket using a chip puller.  I've also gotten chips with existing pin misalignments from shipping pressures.  I didn't notice it until I had to troubleshoot a previously working design.   I assumed that since they were 'new' chips that they wouldn't be physically buggered.  ?  Same thing happens on DIP sockets, particularly the round machined sockets.  If the pins aren't correctly aligned to begin with when you insert the chips into the socket, you can snap off pins or bend them completely back on themselves.  Especially on big chips and sockets. 

 

To beat a dead horse, I've also torqued a perfectly good SMT PLCC socket just enough in hand soldering it to the board that it is a bitch to insert/pull the chip.  It sometimes will cause chip pins to misalign when the chip is pulled.  It also had the tendency to not make good contact with the traces on the pcb.   Such is the problem with hand soldering what is supposed to be done by a machine.  ?

 

The premise to use sockets instead of soldering directly to the board is still sound, but sometimes the execution of the process is not without problems too.  ?

  • Like 1
Link to comment
Share on other sites

More troubleshooting today.  Fixed a weak data signal on d6, found a bad connection on a15, and verified CPLD's work.  One odd thing happening is the chip select line is not a square wave but, instead, the signal just spikes.  This could be the problem as to why the OS isn't loading.  The address lines are square waves.  

 

The CPLD's were tested by routing PHI2 through the data lines and they produced a proper wave form.

 

 

  • Like 2
Link to comment
Share on other sites

Update:

 

I think I know what is going on.  I was comparing wave forms from the ANTIC chip and the W65C02 chip on the address bus.  There are two square wave forms that show up.  One is about 4.5 volts and a "long" square wave.  The other is about 4 volts and a "short" square wave.  By hitting the run/stop button on the scope I can clearly see the wave forms.  My belief is that the short square waves are the W65C02 and the long square waves are the ANTIC wave forms.  (This is a guess as the ANTIC chips are using older technology and would run slower so probably have longer wave forms.)  I also noticed a "convergence" of sorts where there is a 3rd wave form that looks like a combination of the two.  Some are like a head and shoulders and others have a high and low part of the square wave with a clear vertical between the high and low.  So, it looks like the bus is not being shared like it should be.  I have checked the circuit multiple times and it is exactly like the Byte Attic schematic with the exception I now have the SOB line pulled high as per the W65C02 datasheet.  (Having it tied low as essentially per the schematic didn't work either and was not in accordance with the datasheet as per a previous discussion on this thread.)

 

A better analysis of the wave form from the MMU shows that the OS chip select is spiking most of the time and having a square wave from high to low every now and then.  (The square wave form on the chip select is what I would expect given the expected nature of the input.)  Given the nature and irregularity of the address bus input to the MMU I now believe the MMU is operating properly.  Simulations confirm the MMU is programmed correctly.

 

My painful conclusion is that either the Byte Attic schematic is wrong or there is another factor here that results in the circuit working on a normal Atari but not here for some reason.

 

I think the best short term solution is to return to the SALLY chip so as to ensure compatibility.  It will also be a lot cheaper to explore better SALLY replacement solutions with smaller, cheaper, plug-in boards that plug into the 40 pin DIP socket.

 

Unless another solution presents itself, I plan on continuing the component count reduction process then ordering what I hope to be working 600XLM boards.  (I am using MyTek's excellent schematics to assist with proven ways to reduce the number of components.)  Once the board's operation is confirmed, I'll follow up with 800XLM boards.

 

Thus far, the two batches of boards have confirmed component footprints, CPLD operation, CPLD programming, 600XLM fit into the case, and answered a bunch of other questions.  Assembly time has to be reduced as 8 hour assembly times are rather excessive...and that's with a hot-air soldering station.  Programming the Teensy's doesn't worry me as I've done that before.   ?   

 

 

  • Like 1
Link to comment
Share on other sites

Current state of the 600 XLM board....

 

1.  The W65C02S and it's circuitry has been replaced by the 6502C SALLY chip.

2.  The primary oscillator has been replaced with the oscillator from the 576 NUC+.

3.  The audio/mixer circuitry has been replaced with audio/mixer circuitry from the 1088 XEL & 576 NUC+.

4.  Two banks of resistors have been replaced with resistor arrays.

5.  The PAL oscillator will be an add-on board.  One option is a board that installs under the GTIA.  But I am considering adding a location for sockets for a special board as vertical space is very tight where the GTIA chip is located.

6.  The two CPLD's have been replaced with ATF1504's.  These are smaller and completely surface mount.  (Installing them shouldn't be a problem even with a normal soldering iron.  You just slop on the solder, with bridges being expected, then use a braid to remove the excess.)

 

I am still looking for a composite video solution to re-add 80 column capability but haven't found anything.  If anyone has any suggestions, I am all ears.   ?

 

I haven't counted but estimate that 40 to 50 components have been eliminated.  The beads and coils have also been eliminated as they aren't used on the 1088 XEL & 576 NUC+.  Installing them was no fun, either, as I couldn't get any that were surface mount but a more "reasonable" size.  Positioning them was like chasing a piece of dust around the board with a dental pick.

 

There are other places where resistor arrays could be used and I am considering them if for no reason other than to reduce the component count.  The last board took around 8 hours to assemble so the fewer components, the faster the assembly, the better.  

 

600xlm.thumb.png.b93525eb694a36b9d62afb70930b7ca9.png

 

 

 

  • Like 5
Link to comment
Share on other sites

1 hour ago, ivop said:

I like five out of six changes you made :) But why put PAL compatibility on an add-on board, and not on the main PCB like mytek did?

Many people don't need PAL compatibility, so that's 11 components removed that most won't use.  The NUC 576+ doesn't have PAL on the main board, either.  On the NUC 576+, PAL is an add-on board that gets installed between the GTIA chip and it's socket.  So not having PAL on-board is a modern adaptation of sorts.  A PAL add-on board can be made cheaply and, while I haven't checked, it's possible most components could be put on with pick-and-place machines for little additional cost.  It may even be possible to use a 2 layer add-on board for even more cost savings.  I'll look into it eventually.

 

The time-consuming part of installing many components isn't actually placing them, it's finding them.  i.e.  Where does that 56k ohm resistor go?  Installing components like the beads, on the other hand, is time consuming due to the size.

 

My biggest disappointment is with the 80 column display possibilities.  Programming it isn't a problem.  I read the composite video standards and had code within about 4 hours.  Ultimately, it's timing as a Teensy counter "only" goes down to microseconds.  I need something even smaller.  Using a resistor ladder would replace the idea of using PWM with working shades of grey.  So a 25 column display is perfectly feasible...but gets us nowhere.  I still want an 80 column display and may spend a little more time looking for options before ordering the boards.

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, reifsnyderb said:

Many people don't need PAL compatibility, so that's 11 components removed that most won't use.  The NUC 576+ doesn't have PAL on the main board, either.  On the NUC 576+, PAL is an add-on board that gets installed between the GTIA chip and it's socket.  So not having PAL on-board is a modern adaptation of sorts.  A PAL add-on board can be made cheaply and, while I haven't checked, it's possible most components could be put on with pick-and-place machines for little additional cost.  It may even be possible to use a 2 layer add-on board for even more cost savings.  I'll look into it eventually.

The NUC is an exercise in making everything as small as possible, but still THT. You have the whole area of a 600XL/800XL PCB, and SMD. I see no reason to not have the footprints for the PAL oscillator on the main PCB.

1 hour ago, reifsnyderb said:

The time-consuming part of installing many components isn't actually placing them, it's finding them.  i.e.  Where does that 56k ohm resistor go?  Installing components like the beads, on the other hand, is time consuming due to the size.

Dropping the beads was a good decision IMHO. Even more if your board is 4-layer with GND/Vcc inside.

Link to comment
Share on other sites

17 minutes ago, ivop said:

The NUC is an exercise in making everything as small as possible, but still THT. You have the whole area of a 600XL/800XL PCB, and SMD. I see no reason to not have the footprints for the PAL oscillator on the main PCB.

Dropping the beads was a good decision IMHO. Even more if your board is 4-layer with GND/Vcc inside.

Well, once MIDI, SIO2PC, and the Teensy were added space is getting tight on the 600XLM...especially on the left side of the board.  (Unfortunately, not all of the chips are currently available for MIDI and SIO2PC at this time.  ?   )

The 800XLM board does have more space and that is used for Teensy interfacing as well as I was able to find the space to add an "experimental" internal flash RAM cartridge.  (Experimental because while it should work it's an idea I want to try.  My idea is to load SpartaDOS X on it so an external cartridge wouldn't be needed.)

 

The board's layers are as follows:

 

1.  Components and mostly data lines.

2.  Ground

3.  +5vdc lines and additional data lines that could not be routed on layers 1 and 4.

4.  Data lines.

In some exceptional cases, +5vdc is ran for short runs on layers 1 and 4 if there are data lines that had to go on layer 3.

 

On the 80 column side of things I found this:

https://www.electronics-lab.com/pier-42-arduino-video-display-shield-with-4x-composite-video-outputs-and-integrated-framebuffers/

Which led to this:

http://www.vlsi.fi/en/products/vs23s040.html

https://webstore.vlsi.fi/epages/vlsi.sf/en_GB/?ObjectPath=/Shops/2015020901/Products/"VS23S010D-L. Integrated Circuit%2C Country of Origin%3A KR%2C Taric%3A 85423190"

http://www.vlsi.fi/fileadmin/datasheets/vs23s010.pdf

http://www.vlsi.fi/fileadmin/manuals_guides/vs23guide.pdf

 

This chip supports NTSC DVD and PAL DVD...both of which are widescreen formats and might be the solution.

My thought is to add the sockets for an add-on board to experiment with this.  If it works, great!  If not, then it's not going to cost much and could be deleted later.  Either way, it won't affect the motherboard.

 

 

 

  • Like 1
Link to comment
Share on other sites

49 minutes ago, BillC said:

That's called intSDX, there were 64kB(size of ICD ROM) and 128kB(minimum size for SpartaDOS X Upgrade Project releases).

http://trub.atari8.info/index.php?ref=intsdx_128kb_en

Perfect!  I had to spec out a 512k flash chip for it.

 

https://www.mouser.com/ProductDetail/Microchip-Technology/SST39SF040-70-4C-PHE?qs=YClUa%2B2dcx1pgizrqJ6nyQ%3D%3D&gclid=Cj0KCQiA_JWOBhDRARIsANymNOZBavSb-vrNi60-nb-gDSROK9ldJHM9uyVQLa7bC9Kn63g1r6rxFq4aArUwEALw_wcB

 

Here's the applicable part of the board.  I used the ATF1504 CPLD for the cartridge control.  -IC_CS and -IC_WM both go to the MMU.  The MMU CPLD would, of course, be programmed to handle the internal cartridge.  The MMU also has a jumper added to disable the internal cartridge.  

 

-IC_CS is the chip select

-IC_WM is for the write mode when flashing the chip.  The concept is that if the Write Enable is jumped the MMU would now map the internal cartridge to cartridge B.  Therefore, BASIC would be loaded first but the internal cartridge would still be accessible.  A simple BASIC program could then be used to flash the cartridge.

 

Edit to add:  There is only space for this on the 800XLM board.

 

180762211_InternalCartridge.thumb.jpg.42051797e5b6bbbbd6efce9105dbffc5.jpg

Edited by reifsnyderb
Link to comment
Share on other sites

best to stick with the larger SDX 512 or more... it's gotten much larger and you want as much or it in cart space as possible. So much easier to have it already to go than to pick and choose trying to get it have a workable base and splitting between disks and cart... I went the super spartados x route and larger, never looking back...

  • Like 2
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...