We ported our diagnostic ROM to the TRS-80 Model II
Вставка
- Опубліковано 22 сер 2024
- #trs-80 #diagnostics
I've had several videos on the new diagnostic ROM I created with David and Frank for the TRS-80 Model 1 and 3. Well, I have a Model 2 -- and this machine has issues -- David did the work to port the diagnostic ROM to the TRS-80 Model 2! (And possibly 16/16B/6000)
This ROM required some changes to handle the bank switching ROM and VRAM on the Model 2 along with the fact this machine can have up to 512k. After studying the service information we were to come up with a strategy to test ALL of the RAM on the system. None is reserved for the processor stack even!
-- Video Links
TRS-80 Model II Playlist:
• Another left for dead ...
Github Repo:
github.com/mis...
Frank IZ8DWF's channel: (for really amazing repairs)
/ iz8dwf
Adrian's Digital Basement Merch store:
my-store-c82bd...
Support the channel on Patreon:
/ adriansdigitalbasement
Adrian's Digital Basement (Main Channel)
/ @adriansdigitalbasement
-- Tools
Deoxit D5:
amzn.to/2VvOKy1
store.caig.com/...
O-Ring Pick Set: (I use these to lift chips off boards)
amzn.to/3a9x54J
Elenco Electronics LP-560 Logic Probe:
amzn.to/2VrT5lW
Hakko FR301 Desoldering Iron:
amzn.to/2ye6xC0
Rigol DS1054Z Four Channel Oscilloscope:
www.rigolna.co...
Head Worn Magnifying Goggles / Dual Lens Flip-In Head Magnifier:
amzn.to/3adRbuy
TL866II Plus Chip Tester and EPROM programmer: (The MiniPro)
amzn.to/2wG4tlP
www.aliexpress...
TS100 Soldering Iron:
amzn.to/2K36dJ5
www.ebay.com/i...
EEVBlog 121GW Multimeter:
www.eevblog.co...
DSLogic Basic Logic Analyzer:
amzn.to/2RDSDQw
www.ebay.com/i...
Magnetic Screw Holder:
amzn.to/3b8LOhG
www.harborfrei...
Universal ZIP sockets: (clones, used on my ZIF-64 test machine)
www.ebay.com/i...
RetroTink 2X Upconverter: (to hook up something like a C64 to HDMI)
www.retrotink.com/
Plato (Clone) Side Cutters: (order five)
www.ebay.com/i...
Heat Sinks:
www.aliexpress...
Little squeezy bottles: (available elsewhere too)
amzn.to/3b8LOOI
--- Links
My GitHub repository:
github.com/mis...
Commodore Computer Club / Vancouver, WA - Portland, OR - PDX Commodore Users Group
www.commodorec...
--- Instructional videos
My video on damage-free chip removal:
• How to remove chips wi...
--- Music
Intro music and other tracks by:
Nathan Divino
@itsnathandivino
i haven't touched a TRS-80 (Model III) since the early 80's yet for some reason i spent 20 minutes watching this.
great video. 👍
2 things:
-it's amazing that you two are making tools to help troubleshooting this old piece of technology and bring back to live and machine that is still out there
-it's amazing that the emulator works so well, so close to the original hardware that you can actually test your special rom in it, look for specific configuration and prepare your code for them
Great job!
Yeah -- and soon is the repair video for this machine (which I never actually got working) -- and the diagnostic ROM comes into play! It's amazing and so absolutely satisfying
Living Life
Thank you for your first point. Agree with your second point: the emulator by George Phillips is an amazingly useful thing.
My first paying job was programming a Model II for a local school district. I made $1K from that job (about 2 weeks work). Adrian, if you have the BASIC manual for this computer, you'll find a lot more sophisticated file system commands for doing indexed files. I don't remember if it had a speaker or not.
Ah, those were the days. I too started with Model II programming and entry in 1982. Unfortunately it doesn't have a speaker. I wonder if you could put one on it? I have one to check out.
Been loving this stuff on building a diag ROM, and the fact you’ve given it back to the community. Diagnostics are such a 'chicken & egg' problem as you are very likely to have lumps of a system non functional, and that makes solving the diagnostic problem rather a fascinating area.
In fact, not only is it a 'chicken & egg' problem, but the egg may be cracked or have gone off completely.
I'll have a video out this month where I use this diagnostic ROM to repair this machine. It had an intermittent fault and right after making this video it flared up again -- but the ROM allowed me to zero in on the issue.
Radio Shack doesn’t get enough credit for their 8-bit computers. When I was a kid, we called them Trash-80 computers, but they were seriously good machines. Too bad the Radio Shack brand was synonymous with coupons for free batteries and flashlights. They deserved better.
"Radio Shack brand was synonymous with coupons for free batteries and flashlights. "
and helmets with flashing red light going around..
Trash-80s vs CrApples
I'm enjoying these TRS-80 videos, even though I never owned one.
Adrian you should take up a Job as a Narrator. You have such a good Voice. Very good to understand even for a German like me.
Just repaired my Model 1 this past weekend thanks mostly to this diagnostic! My biggest problem was getting it onto an EPROM. I have some 2732 I picked up last year to replace the char ROM on an Apple //e. They're actually 13v programmable ones. But while I know I damaged one with incorrect voltage, I ended up going thru 4 before finding a good on. Questionable Chinese chips apparently. But ultimately I got there and it worked like a champ - turned out I had SIX out of the eight RAM chips were bad. Luckily I have an expansion interface I was able to steal chips from while waiting on replacements to come in. Other problems were the cap the couples the vertical sync into the composite had broken loose so pic wouldn't stop rolling and keyboard connection keeps breaking - gonna replace it with headers and a modified IDE cable like I've seen others do.
Once that's all done I'll get back to the EI and see how the diagnostic works testing the memory in there.
Thanks again so much for all the work you and the other devs put into this diagnostic!
Flashing the LED on the floppy drive brings back memories of writing a fastload/fastsave for C-64/1541. My first embedded programming. Good times.
Stopped by this video a second time just to give it a like. The TRS-80 DiagRom is turning into quite the useful product! You and your team are to be commended for bringing this to all of us.
The Model 2, 12, 16, 16B were all the same "basic" machine. The Model 12 replaced the single sided floppy with either 1 or 2 double sided Tandon floppies and a huge white case. The 16/16B added the 68000 card set to run Xenix. If I recall, the 16 was a white cased Model 2 with double sided drive(s). The 16B was a Model 12 with the 68000 cards. There is no sound producing device within these machines unless you include the fans, drives or the monitor horizontal high pitched quiet squeal. Very nice work!
I love these new supplemental videos to main videos. You are showing off your methods on how you do things and I'm here for it. Loved the very clever edit with the cpu card at 8:05. More proof of the effort you are putting into your entire process is paying off and noticeable.
Heheh... yeah, an edit that just makes you think "ooh, smooth", and it hardly even registers as a cut.
While looking into TRS series of computer, it's great Frank, Dave and you did make a diagnostic ROM. And I realized how simple and open is Apple ]['s chassis bold design at that time, welcome to repair or upgrade me if you needed, very friendly to work with, even VIC-20 or C64 need to open the chassis and remove the keyboard.
It's true. It was designed to be worked on and expanded. No other machine at the time was like this except the older S100 bus machines. But those weren't aimed at mass market home users and kids like the apple was. Then the IBM PC carried forward the expandability while everything else pretty much went away from it.
To bad about Your shoulder sir, I hope it gets back to 100% pain free operations soon. As always, love Your videos.
Oh hey, I'm glad your shoulder is feeling better!
Completely *freaking* awesome. That must be exciting to see this diagnostic ROM again new capabilities. Dave, you ROCK!
Being new to your channel I really appreciate and enjoy watching your work. Doing these type of work is what I miss. The early computers fax machines RWI machines banked transformers & receivers microwave switching systems satellite radio systems patch & plug systems NVG’s switchboard systems phone equipment. Those were the best days. Thank you for your videos.
This is one of the coolest computers in your stable!
I learned this from a MacBook repair man, use magnets(the Mentos sized neodymium ones) to hold screws... You can clip one near the end of the shaft not so close to the bit the magnet jumps to a metal case. You can then bump the screw against the plastic and quickly move to the next one. When done grab the magnet and get all the screws for free, you can then clip them to the work piece and not fear loosing them. A pack of 20 are like $3 at Walmart and they are handy just hanging out stuck on the fridge and garage door.
Absolutely freaking awesome.
Interesting! I think it's very cool that people are still making things for old machines and people out there are preserving them and using them. Thanks everyone.
Love this! I did Model II programming in the early 80’s. Great computer. There is NO beeper or speaker, incidentally. Thanks for the video!
Great video. This was the machine that turned me into a geek way back in the early 80's, lol. Great times.
That is freakin' awesome indeed!
Very nice. Just in time for a project I am starting.
If you haven't seen it, there's a new upgrade to the TL866II, the XGecu T48, which can do up to 25V.
Awesome job, guys! Many thanks for sharing your knowledges, you're making the world better! Thank you!
Nice work on the Diag ROM guys.
Great work. Well done 👍
Just Amazing Man! Thanks for saving The History
Another great vid! Almost makes me want to get a TRS-80 Model (something; well I have a Model 100, but I mean one of the big ones)... ;-)
I think I've seen a youtube video to allow using higher voltage on the newer minipros. You just have to manually add the 21v to the chip yourself. That either means making an adapter or bending out a pin on the chip, and of course, having a separate 21v feed. Not ideal, but at least it is an option if that is the programmer people have. ;-)
Just a small correction, the TL 866 II programmer can program ROMs that need over 18V, you just need to use a separate power supply to do it. Bend the VPP pin from the chip out of the programmer socket and connect it to a bench supply with what voltage you need. Connect the negative to the ground pin while it is still in the socket (don't pull it out). I've done this a few times with chips that needed 21V+ without issue. I don't know if it works with all of them however.
Or instead of a bench supply lacked by my younger self did, wire 3x 9v batteries in series.
These videos are great for #SepTandy! I think that these continually modified diagnostics are providing a LOT of new information and help with Tandy's Z-80 machines. I would like to see similar concepts for the CoCo models, and in other months for Apple machines, Atari machines, and Commodore machines. While I realize each has some diagnostics, those diagnostics need to be improved.
Adrian, you mention not being able to program higher voltage cards with the TLS-866II PLUS (or whatever version number they use). You can make an adapter and lift PIN 1 (or whatever pin is VPP) and pass the voltage through to the pin to switch on the programming. I've been doing it for ages, works fine.
i started on the Model I, III, and then the 4. i have real feelz for them. i also love listening to the TRS-80 Trash Talk Live videos even though i dont own one anymore. i do use the emulators and have a Z80 retro board that i built, just not the real thing.
Wow, very nice!
Kids today won't understand it but computers were so much more fun in the 80's.
Oh this bring back memories ...one of the senior managers had one of these at home ... no idea what software she used? What productivity software was available for TRS80 .. Visicalc? Wordstar? I remember visiting to deliver something from work to her and she was working on it....some beastie indeed.
Some fly was left open! 😄
Welcome back, retro towel! ^-^
10:40: That charset is interesting. I wonder if the upper 128 characters are stored, or if there's simply some inverter circuit for those. Back in the very early days, RAM was at such a premium, it would have been an inverter, but the Model II came out a little later. Also interesting how the box-/line-drawing and semigraphics characters occupy the lowest two sticks (yes, groups of 16 ASCII chars are called sticks) as printable alternatives to the C0 control characters, and then it's just regular ASCII after that, with the ± sign also added as a printable alternative to the delete character. All more regular than PETSCII, ZX80/81, etc.
In the stock Model I, logic chips are used to generate the second most significant bit (bit 6 counting 0-7). So there is only 7-bit VRAM, and lower case letters were not supported. In all of the other machines, VRAM is 8 bits. The issue is that you need the 8th bit to determine whether the character should be inverted or not on the screen. Once you have 8 bits, all you need is a character generator ROM that's 256 bytes long instead of 128 bytes. Even in the days of the Model I, the price difference between 128 and 256 bytes ROMs was low enough that the Model I had a full 256-bytes character ROM, but only used half of it. In practice, the 7-bit VRAM in the Model I is a mess, and it's good they went away from it.
@@drgiller Often I found myself thinking that the character only nature of the I/II/III/IV, putting aside the add on hi res cards for the III/IV, could really have benefited from a programmable character set. The MI had 12 scan lines in each character cell, about 3 kilobytes all up for 256 characters. It would have allowed for hi-res games etc in the manner of later machines such as the Commodore line-up.
Just a little educational post for those who don't understand "banks" or "bank switching" but would like to understand.
Most CPUs from the era of the TRS-80 used an 8-bit data bus and a 16-bit address bus. This means that the most RAM which the CPU could directly access is 65536 bytes (commonly known as 64K). So how, you may be wondering, could it access up to 512K bytes? This is where Bank Switching comes in.
In the simplest possible terms, the signal to access the RAM did not go directly to the RAM but instead was "shunted" through a set of circuits which allowed the access signal to be sent to different places. The CPU could change where this signal was sent by outputting a number to a port. On reset, bank zero of RAM was usually the one selected. Any program running could select a different "bank" by having the CPU send the appropriate number to the port.
Since it would usually be a Bad Idea to switch all of the memory at once, banks were usually in chunks smaller than 64K. One typical bank size was 16K since four of those fit neatly into the 64K space.
The information shown on the screen in this video indicates to me that the chosen bank size for the TRS-80 II was probably smaller than 16K, but I'd need to watch again to figure out the exact size. I'm not bothering because it doesn't matter.
So in summary (and even simpler), it's a bit like having several boxes, some in storage and one you're actually using, and you can switch between them but you can only have one box "in use" at a time.
The RAM in the Model II is arranged into physical banks of 16K in size. That is, every 16K is a bank of eight 16Kx1bit DRAM chips. Pairs of these banks are organized into 32K-sized regions called (inconsistently, even in RS documentation) "pages". These pages can be "bank switched" into the top half of the Z80 address space, from $8000-$FFFF. The bottom half from 0-$7FFF is always "page" 0. Effective memory testing routines must know the size of the physical memory banks, which is why we are testing these in 16K blocks, even though the "page" size, or the size of the blocks that are "bank switched" is 32K.
Excellent as always! Since that computer run with a Z80, would you or friends work on a diagnostic for Timex Sinclair and Kaypro computers? What about the Apple II+ and Commodores? Thanks for sharing
The C64 ROMs that test the RAM are terrible -- they really have a hard time detecting subtle page errors.... I hadn't looked at the Timex ROM, but unless it's doing march testing, it's likely going to miss stuff too. (Most RAM tests are simple bit pattern tests which can be inadequate for the more subtle RAM issues.)
We'd like to do Kaypro soon. There are two basic varieties of Kaypro though, '83 and '84, which will require different ROMs because the video controller works differently. Also, the Kaypros have just one 64K bank of RAM, so at some point you have to run the testing code from the same RAM bank you are testing, which could result in the program crashing instead of reporting the bad RAM. Still, we have ideas and I hope to get it implemented. Unlike the TRS-80's, I actually have a couple of Kaypros so I can test on real hardware instead of only in the Emulator until Adrian can make time to test on the real machine.
@@drgiller I have a Kaypro II, not 2 if you ever need another tester
@@RudysRetroIntel Thanks! I think Adrian has a II and a 10, so we have the major variations covered, but once we make an initial public release (and I'm sure Adrian will have at least a 2nd channel video), we hope to have many people test it.
I had forgotten that the 8" drive is just normally installed at an angle, and for a while there, the way its PCB and the PCB cards seemed to be all askew really threw me. Of course it makes perfect sense for that drive to go in slanted, so the front of the machine can be neat and have a slant that's a bit more ergonomic.
You mentioned that you were watching the "Trash Talk Podcast" so I looked it up. It turns out you were actually watching the "TRS-80 Trash Talk Podcast," at least I hope so. The young ladies from the Trash Talk Podcast are doing a rewatch/review of 90 Day Fiance as the show, so I was a bit confused until I found out what you actually meant. TRS-80 Trash Talk seems interesting, though.
Yeah, there’re dozens of podcasts titled “Trash Talk Podcast” on iTunes. :/
Thank you for the tip with “TRS-80 TTP”!
@@annyone3293 Heh, I got lucky. I searched on youtube first since Adrian said specifically that he was "watching" it. When that was obviously wrong, I searched "trash talk podcast tandy" and it popped up. You're welcome, glad I could help someone.
I never used a Tandy machine. All my time in the 1980s was spent on the VIC 20, the Commodore 64, and the 128. Then in 1990 I got a 286 12Mhz AT clone.
This is the computer i learned on in 5th grade
I'm going to guess no main channel video this weekend due to your being at VCFMW? In any event, I hope to see you there.
Adrian, you should get a GQ-4x4 and a 9V PSU, You can program 2716 EPROMS with it. Totally worth it and it works great with Windows 10.
I think he recently got one and that's how he's been programming the 2716's.
We Need more Tandy TRS Systems....
There is a new minipro, XGecu T56 Programmer or XGecu T48 that support 25V programming
And the T48
Any news on upcoming "Adrian's analog attic" videos?
I am going to convince you to use that. ^-^
Search for lazy susan work bench, you could make a rotating table top for your work bench making working on heavy stuff easier on your shoulder.
You should use ZIF socket on eeprom adapter for better life ;)
* * * Y A Y ! ! ! * * *
512K was so much memory at that time. The Z-80 could only natively address 64K (like almost every 8 bit system of the time). Bank switching was the answer, and a lot of computers used it. The original IBM PC had cards that could bank switch in and out, so you could add a lot of memory to an original PC. Don't remember how much.
Hell, the Apple computers used bank switching a LOT. The language card and other memory cards could swap in and out as needed.
Not an expert, and i'm sure somebody is going to say i am wrong in some detail, i don't care. Love these early machines and the software bodges that let them do more than the chip designers ever imagined.
The original IBM PC could address 1Mb of memory because it had 16 address lines but only 8 data lines for compatibility with the 8080 peripherals.
Upper memory was used for ROM and Video hardware access so natively it could access 640Mb but an expansion board could add 2Mb of bank switching expansion RAM.
Wardrobe malfunction. Adrian, please run XYZ diagnostic on your trousers. ;p
LOL!
Gotta let the tube warm up before declaring something's not working, patience dear Adrian, patience!!! :P
I'm assuming you didn't flash the power LED as it's hardwired to the power switch, yes?
Would it be possible to get the diagnostic to not test RAM that isn't installed? Can that even be determined considering that RAM may be burnt out and fail to get a reaction even if installed?
How about playing the beep codes over the disk drive stepper motor a la Floppotron? 🙂
Long live the Z80!
Z80 Linux would be so cool! Unfortunately, Linux requires at least a 32 bit CPU.
@@zachz96 It exists! It's called fuzix linux and it runs on the rc2014 series machines and also on 6809 systems
I think mine is model III with integrated keyboard, got few Kaypro 2 laptops also 🤣
Ever thought about a sponsorship by deoxit?
I love the Rick Astley on the display in the background!
It's a Tivoo pixel art display
@@adriansdigitalbasement2 I'll have to look those up, I haven't heard of them before
I hate getting rick rolled, had enuf of it long ago
Adrian - you were the only non-ham on that title. When are you going to get your license?
models II,12, 16, 16B and 6000 all have a similar architecture.
This ROM should work on all of those, but to our knowledge it has not yet been tested on hardware other than the II. I have tested them all in the emulator though and they work fine there.
@@drgiller I have a 12 I'm working on now. The slimline drives don't have a head load as I understand so it just turns on and spins with a static screen of graphics characters. My system had a blown 12v fuse which cooked the 16k RAM chips and the CPU was dead. I replaced the CPU and the stock ROM gives a "Boot Error MF" which indicates a memory issue.
I'm willing to help test any updates needed for the model 12.
So without the video and ram board, it has no memory to work with at all? Surely that explains why it did not work.
I may have misunderstood, but isn’t the disk controller bundled on the same card as the video controller? If that’s the case, when you removed it, should the floppy head commands still work?
Keyboard and video are on one board, Floppy controller and printer port are on another.
@@drgiller you're right, my bad! :)
@@MrKeebs Funny enough, when he DID remove the floppy controller, the code kept working. I guess when you read the IO ports for a missing controller board, the bits that come back from the empty bus happen to match what I was looking for to continue on. Dumb luck.
this computer has a hdd in it ???
@02:13 That poor towel is screaming as it's being twisted on the rough surface 🙃
It's begging for a tumble in the drier with a slightly damp compatible 70's towel and a sheet of lubricious fabric softener for 20 minutes...
#The70sTowel will thank you
(And be more relaxed)
I imagine the tag disappeared countless use/wash/dry/store cycles)
The cool frays are happy as larks hanging on
Listen to the towel whisperer…! 😉😇
@@serpent213 agreed, but when the edges suddenly come together there might have been 'micro-cutting' of the fibres..' They won't come out in the wash.. +Puts on tin foil hat+ 🪆
What is it about this machine that makes me immediately drop everything just to watch the latest update
Heh! I will have an actual proper repair of this machine on the main channel this month. :-)
I cant even find out how to make mistakes lmao
They should have gone with a ZILOG Z800 CPU which would have meant that programs would be smaller and faster because you would not be writing Multiplication or Division because of the umul,muls,udiv and divs instructions and of course you could run INTEL 8080,ZILOG Z80,ZILOG Z80A and Z800 assembly language and even a custom version of UNIX System V.
Was it just a British thing, or did everyone refer to these as Trash-80s?
HOARDING !!!!!!!!!!!!!!!!!!!!!!!!!1
I quite like your channel, but unfortunately, it's way too technical for me. With all these letter's and numbers just gobbledegook to.mr. But I guess there are people out there with a lot more brains than me that understand this very high technical stuff. And I am sure it is a well done video to people with a high degree of technical knowledge. All.i really want to know is can it play Crysis?