Jump to content
IGNORED

Bare 850 Printed Circuit Board.


DavidMil

Recommended Posts

Doing some reading of old threads, one of the ROM differences was the ability to automatically download the R: handler from the 850 more than once. Some units would require a power cycle for it to work again.

 

DavidMil, since my ROM is toast for now, can you test for this behaviour with your working ROM?

 

And then others can test for 850's that behave differently, meaning we have 1 easy behaviour to check for a different ROM without opening.

 

Can anyone remember any other functional 850 ROM differences?

 

Can do. I'll let you know.

 

PS. Enjoyed our chat the other night! It was a nice long walk down memory lane!

David

Link to comment
Share on other sites

Interesting find: In the ROM dump I noticed this text string at offset 0x8E9: "COPYRIGHT 1980 ATARI INC ZDYBEL/SCHEIMAN"

 

Reading the Atari 8-Bit FAQ, Last-modified: April 7, 2019, it mentions:

"The 850 was designed by R. Scott Scheiman at Atari, according to: http://www.atarimuseum.com/computers/8bits/400800/atari850.html "

But - the cited page no longer exists on atarimuseum.com. The current page ( http://www.atarimuseum.com/computers/8BITS/400800/peripherals/Communications/850/index.htm) no longer states this information.

 

Anyhow, I re-listened to ANTIC Interview 220 with Scott Scheiman today, and in it, Scott could not remember who he was working with developing the firmware & handler for the 850, but the work was divided between himself and one other -- Scott primarily working on the downloadable R: handler. He indicated regrets that it was missing a function to link to another handler loaded after - it had to be the last relocatable handler loaded.

 

"ZDYBEL" indicated in the ROM could only be Rob Zdybel, who must have been doing the internal firmware for the 850. He was involved in so many other things from 79-96, including Real Sports Football on the 2600 (Same CPU and RIOT as the 850!), 400/800 Missile Command, the 5200 BIOS, XEGS Bug Hunt, WarBirds on the Lynx, and Star Raiders on the ST, Hover Strike on the Jaguar.

 

According to MrFish's Serious Computerist website: http://seriouscomputerist.atariverse.com/media/htm/Atari%208-Bit%20OS%20-%20Read%20Me.htm

The "R" in his name is "Robert" Scott Scheiman, as mentioned in XL OS Source code. (Which in Scott's interview he indicates was because of the Character Set)

 

Further supporting that the downloadable R: handler portion of the 850 ROM is by Robert Scott Scheiman is that he is credited for the related "Handler Loader" in the 1200XL OS AA000000 Rev. 10 (1982-10-26) source code.

 

It's interesting that Rob Zdybel has not previously been linked with the 850, at least in what I've found so far.

  • Like 8
Link to comment
Share on other sites

Further research development. Rob himself confirmed his involvement with the 850, on the hardware firmware side as I suspected: :D
ANTIC Interview 184 - Rob Zdybel - http://ataripodcast.libsyn.com/antic-interview-184-rob-zdybel-star-trek-missile-command-bug-hunt

Here's some excirpts and paraphrases from the interview, starting at the 18m00 mark:

"I'm one of the principal architects of the 850 interface box. The real principal architect is Scott Scheiman. He was a good collaboration, he was pretty green, I was much more experienced, and he basically dropped out of Atari after that, I never saw him again, I'd love to know what happenned to Scott."

"We basically split that box into two parts, he did like the printer interface, and I did all the RS232 crap as far as I recall. It was largely his plan, and here execute on this is how it was for me."

"In building the 850 box, it was originally commissioned by Wade B. Tuma (Director of engineering) who was big into model railroading. The reason some of the RS232 ports are so freaking weird is because Wade wanted to be able to run his model railroad with it."

"Writing the 850 was an experience in pretending to be a wire. The code was running as fast as it could on the ??Mhz processor just to be a wire to carry ones and zeros to the various RS232 ports and pull the signal lines up and down."

"So when the project was over, I decided that the whole thing could be done with hardly any electronics and a little bit of software on the 800 side." Then he goes on to describe this cost-reduced version of the 850 that interfaced directly with the CAT modem hardware with a single RS232 interface, and called it the CATbox, better and cheaper than the 850 interface, management loved it, but it was never produced to his dismay. "I just wanted to see them produced! It was my first real experience with a moronic vice president. I'd go down to marketing and say Tony Bruell(sp?) is a moron!"

  • Like 4
Link to comment
Share on other sites

Well, on a whim I programmed the 850 ROM into an 8K EEPROM (4K repeated twice), and tried it in one of the 2364 adapters I had on hand... Well, it does more than than the dead ROM or no ROM. I get a higher pitched fast buzz, like an SIO error instead of the sputter sound you normally hear with no SIO device at all. Attached a sound file, just in case anyone is familiar with this sound with an 850 attached.

 

This ROM adapter isn't quite suited for this job, so can't have full confidence the ROM should be OK until I receive the 23xx adapters and can set it properly... Wish I confirmed if this 850 was working before I pulled the ROM to start with, just in case it's some other component.

post-53052-0-85229800-1555314518_thumb.jpg

850-bad.mp3

  • Like 1
Link to comment
Share on other sites

First of all, What is this type of socket I see on my 850? Never seen it before, looks like some kind of system to help release the chip, but I cracked it a bit on extraction... Chip markings of "C012099B 185©1981 8233" don't immediately suggest a revision, but the date code indicates August 1982...

 

 

 

If you put a thin flat blade screw driver under the tab and press down it will release the two little catches that you can see through the top plastic

piece (right by the tab). Once you press down and release the catches you can slide the top piece towards the other end of the socket (if the

device has not frozen up with time). Note that you can't slide the top piece back by trying to slide the IC back, because the IC is seated in the

bottom half of the socket already. With the catches released push the tab back towards the chip, then raise the IC out. It's (sorry, at this point I

got kicked out of AA).I've included a couple of pictures. It's hard to see as the top piece only moves about a mm, but you can see the change in

locations by looking at the plastic in the middle, or by looking at the location of the tab from the end of the lower part of the socket.

post-47264-0-63098800-1555699588_thumb.jpg

post-47264-0-70412000-1555699595_thumb.jpg

Edited by DavidMil
  • Like 3
Link to comment
Share on other sites

My contribution so folks stop plugging mask ROMs in backwards trying to read them, breaking clips, and mangling sockets. :-D

 

I wrote this utility tonight to download the firmware from the 850 using the undocumented "test and execute" command in the source code. This is done by pushing a couple of bytes of 6502 code to it via raw SIO. It will save a 4096 byte file called to D1:ATARI850.ROM that is the contents of $F000-$FFFF running on the 850. It will take about minute and make noises you've never heard coming from it.

 

No R: handler or screwdriver required and no 850's were harmed in the process.

 

 

Enjoy.

 

dl850rom.xex

  • Like 16
Link to comment
Share on other sites

My contribution so folks stop plugging mask ROMs in backwards trying to read them, breaking clips, and mangling sockets. :-D

 

I wrote this utility tonight to download the firmware from the 850 using the undocumented "test and execute" command in the source code. This is done by pushing a couple of bytes of 6502 code to it via raw SIO. It will save a 4096 byte file called to D1:ATARI850.ROM that is the contents of $F000-$FFFF running on the 850. It will take about minute and make noises you've never heard coming from it.

 

No R: handler or screwdriver required and no 850's were harmed in the process.

 

 

Enjoy.

 

 

Brilliant Utility! Amazing. We should have had this years ago.

:)

Link to comment
Share on other sites

My contribution so folks stop plugging mask ROMs in backwards trying to read them, breaking clips, and mangling sockets. :-D

 

I wrote this utility tonight to download the firmware from the 850 using the undocumented "test and execute" command in the source code. This is done by pushing a couple of bytes of 6502 code to it via raw SIO. It will save a 4096 byte file called to D1:ATARI850.ROM that is the contents of $F000-$FFFF running on the 850. It will take about minute and make noises you've never heard coming from it.

 

No R: handler or screwdriver required and no 850's were harmed in the process.

 

 

Enjoy.

 

awesome use! As I had said previously noted the 850 is pretty cool and capable. We just forgot what it could do, or how to make it do it. Glad you've made short work of digging into it.

My bet is you could do something about the forgotten art of flow control with the 850 both in the driver on the Atari and the up and execute side of things, though the terminal software would still need to be hardware flow control aware and still act in conjunction with a buffer in the Atari's memory which needs to act as the high water low water intermediary.

 

Nice work warerat, Pretty sharp.

  • Like 1
Link to comment
Share on other sites

My contribution so folks stop plugging mask ROMs in backwards trying to read them, breaking clips, and mangling sockets. :-D

That's so cool, very much appreciated! I remember reading previous threads about the test mode and thinking something like this might be possible.

 

Maybe printing some kind of checksum or hash (ZIP compatible CRC32?) on screen as part of the program might be helpful to help people running it determine if they have a ROM with a known dump, or something new, without having to then transfer the file to the PC or have others on AA to check the file?

 

I ask because I'm tempted to start a new thread with a title specifically as a campaign for all 850 owners to run it to check if we can find the additional versions suspected to exist. (at least 2)

  • Like 6
Link to comment
Share on other sites

They aren't suspected, our users group was heavily into the 850 at one time, it was even in the monthly newsletters at one time or two. It had a run down of the versions, what was fixed what was broken, they a had a franken-rom the genius's used to call it push and execute as opposed to test and execute. Where as Warerat had rediscovered it and put it to good use and called it by it's correct name.

 

We had an incredible concentration of BBS in our area. Some very talented folks in the lehigh valley.... as the NYNY/Philly corridor as well...

  • Like 1
Link to comment
Share on other sites

They aren't suspected, our users group was heavily into the 850 at one time, it was even in the monthly newsletters at one time or two.

 

Increases my faith that they are out there to be found! And now with a simple non-destructive utility allowing people to check, this is cool beans.

 

Yes, by all means, start an 850 ROM comparison thread. We all need to have the 'good' one.

 

I agree it's good to identify the 'good' version, to allow people to 'upgrade' 850's that don't have it, but the other versions can provide a glimpse of the history of the tweaks made over time, similar to what has been found when comparing 5 revisions of 1050 ROMs found so far. And there's still paperwork that suggests at least two more earlier revisions...

  • Like 2
Link to comment
Share on other sites

My contribution so folks stop plugging mask ROMs in backwards trying to read them, breaking clips, and mangling sockets. :-D

 

 

This is very nice work! How long have you been 'dinking' with 850's? Seems like I remember MEtalGuy66 saying some time back,

that you had completely disassembled and had (possibly) rewritten the 850 ROM?

Edited by DavidMil
  • Like 3
Link to comment
Share on other sites

Hello Doc

 

They aren't suspected, our users group was heavily into the 850 at one time, it was even in the monthly newsletters at one time or two. It had a run down of the versions, what was fixed what was broken, they a had a franken-rom

 

I guess they were mentioned, not somehow listed?

 

Sincerely

 

Mathy

Link to comment
Share on other sites

  • 2 weeks later...

That's so cool, very much appreciated! I remember reading previous threads about the test mode and thinking something like this might be possible.

 

Maybe printing some kind of checksum or hash (ZIP compatible CRC32?) on screen as part of the program might be helpful to help people running it determine if they have a ROM with a known dump, or something new, without having to then transfer the file to the PC or have others on AA to check the file?

 

I ask because I'm tempted to start a new thread with a title specifically as a campaign for all 850 owners to run it to check if we can find the additional versions suspected to exist. (at least 2)

 

 

Updated to download the firmware and print out the CRC32 checksum. Press RETURN to save the file or any other key to exit.

 

The CRC32 for my 850 ROM is 2CF990B9.

dl850rom.xex

  • Like 4
Link to comment
Share on other sites

 

This is very nice work! How long have you been 'dinking' with 850's? Seems like I remember MEtalGuy66 saying some time back,

that you had completely disassembled and had (possibly) rewritten the 850 ROM?

 

 

I downloaded the 850 source from Curt's website a couple of years ago and discovered there is one part missing. What is missing is the actual relocator code and offset tables that you get before the handler, but I was able to recreate that and can create a byte exact ROM from them using modern tools. Apparently it was a very manual process to put the binary together back in the day as they had to hand modify the source for the checksums and the filler bytes to align to 4K (this is documented in the source).

  • Like 6
Link to comment
Share on other sites

Thanks warerat, we love what you do.

 

On a boot disk you can make the reset first and the boot or the handler second. No muss no fuss

 

Time to experiment further and see if the handler will load over itself or if it will keep loading higher in memory during warm starts or entering and leaving terminals. I know Bobterm unlinks the handler I wonder if that behavior can be added to the other standalone drivers.

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

Sorry for hijacking this thread one last time.

 

I did a code shrink/optimization (saved over 60 bytes) so it shaved a few seconds off the download time, plus you get some progress feedback now in the form of a period every 256 bytes while it's downloading (16 dots = 4K). It takes about a minute because there is a high SIO call overhead to pull the 850 firmware into local memory. There are three SIO commands sent for every two bytes extracted (6144 SIO command frames in total): one test/execute command that uploads 6502 code to read a pair of ROM addresses, and two direct back-to-back status commands from R1: and R2: to read that byte pair back.

dl850rom.xex

  • Like 5
Link to comment
Share on other sites

Doing some reading of old threads, one of the ROM differences was the ability to automatically download the R: handler from the 850 more than once. Some units would require a power cycle for it to work again.

 

DavidMil, since my ROM is toast for now, can you test for this behaviour with your working ROM?

 

And then others can test for 850's that behave differently, meaning we have 1 easy behaviour to check for a different ROM without opening.

 

Can anyone remember any other functional 850 ROM differences?

 

Oh!! I thought my memory had gone bad because I never remembered our 850 back in '84 ever needing a power cycle. The replacement I bought a few years ago requires this. It came with what looked like early xerox'd OEM style documentation. Will check the ROM crc's on both.

Edited by Sugarland
  • Like 2
Link to comment
Share on other sites

Updated to download the firmware and print out the CRC32 checksum. Press RETURN to save the file or any other key to exit.

 

The CRC32 for my 850 ROM is 2CF990B9.

warerat, you are amazing! Very thankful for this tool and this will be a great help find any other ROM variants. 2CF990B9 matches what DavidMil and I had dumped from our 850's so far.

 

Could you do me a favour... since my 850 is temporarily out of comission until I get a working ROM again.. could you (or someone else) post a screenshot of the program at the final screen showing the final screen with CRC ? With permission to use the photo to start campaigning for 850 owners to run the tool. (In a new topic, facebook groups etc)

  • Like 4
Link to comment
Share on other sites

Thanks for the video! (and the shoutout :) ) First time for me to see it run.

 

Wouldn't that be interesting if the power cycle requirement is different on 850's with the same firmware... It would indicate some other hardware difference.

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