[cctalk] Re: PDP 8 / 11 via Raspberry Pi
Tarek I made a post with some tips for the pidp8 https://vintagecomputer.net/browse_thread.cfm?id=663 BIll On Sun, Apr 21, 2024 at 8:16 PM Tarek Hoteit via cctalk < cctalk@classiccmp.org> wrote: > Mike, any tips or guidelines for running an emulated PDP on a Raspberry Pi > ? > > Regards, > Tarek Hoteit > >
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 4/21/24 17:44, ben via cctalk wrote: > On 2024-04-21 5:26 p.m., Chuck Guzis via cctalk wrote: >> On 4/21/24 12:11, ben via cctalk wrote: >>> I keep finding I still need 74XX just for having 10 TTL loads, >>> and 74LSXX just does not have the power. >> >> Ever try BiCMOS chips? IIRC, the 74ABTxxx will drive loads of up to 60 >> ma, far in excess of old 74xx parts. >> >> --Chuck > > Thru the hole and 5 volt and cheap and easy to find ( at one time ) and > low edge rates , are important for me as I have kitchen table kind of > projects. > Before you say use XXX , I don't have the skills or the tools to layout > and debug high tech boards or parts. I am very unlucky with FPGA stuff. Look at my Pertec-interface controller board. All through-hole, but for the MCU board (easier to buy than to build). You can see the 74ABT573 drivers for the drive cable. I run my own on 3m cables with no problems. --Chuck
[cctalk] Re: Z80 vs other microprocessors of the time.
> On 04/21/2024 7:06 PM CDT Peter Coghlan via cctalk > wrote: > > > > Why is that? Did the Z80 take more cycles to implement it's more complex > instructions? Is this an early example of RISC vs CISC? > > Regards, > Peter Coghlan I'm certainly no authority, but I have programmed both processors in assembly and studied them somewhat. It took many years for me to believe that the 6502 was "faster" than the Z80, but now I'm (mostly) a believer. So here is my take. First, yes, the Z80 takes roughly 4 times as many clock cycles per instruction. Where the 6502 can complete a simple instruction in a single clock, the Z80 takes a minimum of four. The 02 certainly has a simpler architecture, but calling it a RISC machine would probably make the RISC believers cringe. It is simple, but it doesn't follow the pattern of lots of registers (well, maybe) and a load/store architecture. But that may be its strongest point. The zero page instructions effectively make the first 256 bytes of RAM into a large (128 or 256) register file. Along with all those pseudo-registers in page zero, the 02 has some really nice addressing modes. In effect, all those pseudo registers can be used as index registers in addition to directly holding operands. The simple, fast instructions operating on 8 bit registers runs fast. In the Z80, there are a fair number of registers, but most are limited to what they can be used for. You almost always have to go through the accumulator (register A.) So you end up moving stuff between memory and various registers, often shuffling stuff around once loaded, then store it back to memory. The Z80 has the IX and IY index registers, but they are even slower, adding another machine cycle (4 clocks?) to an already slowish instruction just for the fetch, then another memory cycle. If you have to load the operand then store the result, that doubles the extra time needed. So all of that leads to faster assembly language on the 02. Good 6502 programmers (I'm NOT one of them) know tons of tricks to get the most out of it, too. People spent years learning the ins and outs of that particular processor. I think the Z80 didn't get that kind of love, at least not as much. Most Z80 machines were running CP/M and most didn't have the graphics and sound that made the 02 machines no nice for home computers and games. In addition, an awful lot of Z80 code/programmers were part time, moving to and from the 8080 which was really a different machine. As a rough approximation I would say that a Z80 would require somewhere between 4 to 8 times the clock for equivalent assembly language performance. No doubt others will have other opinions. However, the Z80 was probably more likable by the computer science people. And it was a LOT easier to write a halfway decent compiler for. It didn't need as many "tricks" to make it perform. If you look at compiled code for the two, you will usually either find severe limitations on the 02 or very slow code. Especially if you are looking at any "modern" language (Algol family, such as C or Pascal.) A BASIC (or perhaps even Fortran) compiler that doesn't have all the local variables and nested structure will usually fare better. Anyway, that's my 1/2 cent worth. Take it for what its worth. Will Grownups never understand anything by themselves and it is tiresome for children to be always and forever explaining things to them, Antoine de Saint-Exupery in The Little Prince
[cctalk] Z80 vs other microprocessors of the time.
My first exposure to a computer at home was a BBC Micro with 32kB of RAM and 32kB of ROM. Included in this was a 16kB BASIC ROM which was regarded as fast and powerful, featuring 32 bit integer variables, 40 bit floating point variables, variable length strings, structured programming constructs and everything accessed by keyword statements rather than PEEK this and POKE that. This was implemented by a humble 6502 running at (mostly) 2MHz, with one 8 bit arithmetic register, two 8 bit index registers, one 8 bit stack pointer, a 16 bit program counter and a few flag bits. I would have expected that a computers featuring a Z80 with its larger register set, 16 bit arithmetic operations, richer instruction set and general bells and whistles would have been able to produce a much superior implementation in terms of speed or features or both but I never came across one. Why is that? Did the Z80 take more cycles to implement it's more complex instructions? Is this an early example of RISC vs CISC? Regards, Peter Coghlan
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 2024-04-21 5:26 p.m., Chuck Guzis via cctalk wrote: On 4/21/24 12:11, ben via cctalk wrote: I keep finding I still need 74XX just for having 10 TTL loads, and 74LSXX just does not have the power. Ever try BiCMOS chips? IIRC, the 74ABTxxx will drive loads of up to 60 ma, far in excess of old 74xx parts. --Chuck Thru the hole and 5 volt and cheap and easy to find ( at one time ) and low edge rates , are important for me as I have kitchen table kind of projects. Before you say use XXX , I don't have the skills or the tools to layout and debug high tech boards or parts. I am very unlucky with FPGA stuff. My current bit slice computer design has some sort of dynamic problem, as only some instructions will run or read correctly. Halt and STOP don't work. Front panel works mostly. I need to rethink a whole new design,as something I can build and test and find parts for. The goal is a 20 bit word length computer, with 10 bit bytes,bit slices, Compact flash , UART's and blinking light front panel. I may run in emulation, until I can get hardware built and debugged but I have not found a host computer I like. So if any one wishes to take on this project, feel free using modern parts. Ben. * april 21 2024 sdc 1 Small Data Processor 1 .815 uS CYCLE TIME - BYTE BASED COMPUTER - INDEX REG'S - REGISTER OPS - CARRY BIT - AUTO/INDEX - LOGIC OPERATIONS - HEX FRONT PANEL MM 00 0 0 10 2 1 01 WRDwrd 11 SEXsx 54321 ++++++ |:|:B321|+###| NORMAL ++++++ OP TC 0 ST SUB ADD 1 ADD ADD RAMU Z SUB 2 SUB SUB RAMU C SBR 3 CAD SBR RAMU S OR 4 LD ORAND 5 OR OR RAMD Z BIT 6 AND AND RAMD C XOR 7 XOR XOR RAMD S XNR F C0 0 0... CF F C0 0 1... UART i = index , 0 # CCC COND TRAP (0) <- PC PC <- 2 ADR LOAD N 0 H/ZST 1 A LD RAMU Z 2 B ADDRAMU C 3 C(carry)SUBRAMU S 4 G OR 5 X ANDRAMD Z 6 Y XORRAMD C 7 F/F JMPRAMD S REG C is CARRY IR PC CTL 0 0 TEST 0 1 DSP 1 0 HLT 1 1 DI/EI --- M1 = a/m1 M2 = b/m2 M3 = idx M3,M2,M1 ST OP 0 0 0CTL OP # 0 8 bits 0 0 1HLT SCC1 0 1 0ST R+ OP R+ 2 0 1 1JSV R+2 JCC R+2 3 1 0 0- REG4 1 0 1- SFT5 1 1 0ST @R+ OP @R+ 6 1 1 1ST XST X 7 --- '/' LINE COMMENT 'star' BLOCK COMMENT BEGIN/END ONLY #OOOOCTAL PROGRAM COUNTER __ | KROMA.PLD | CP x---|1 24|---x Vcc AD7 x---|2 23|---x WR AD6 x---|3 22|---x PRA0 AD5 x---|4 21|---x PRA1 AD4 x---|5 20|---x PRA2 AD3 x---|6 19|---x PRA3 AD2 x---|7 18|---x PRA4 AD1 x---|8 17|---x PRA5 AD0 x---|9 16|---x PRA6 AUX x---|10 15|---x PRA7 x---|11 14|---x M3 GND x---|12 13|---x CLR_ |__| [II8,sft,no,ld,ra,m2,m1,op,w,WR] __ | KROMB.PLD | CP x---|1 24|---x Vcc AD7 x---|2 23|---x BY AD6 x---|3 22|---x PRB0 AD5 x---|4 21|---x PRB1 AD4 x---|5 20|---x PRB2 AD3 x---|6 19|---x PRB3 AD2 x---|7 18|---x PRB4 AD1 x---|8 17|---x PRB5 AD0 x---|9 16|---x PRB6 aux x---|10 15|---x PRB7 x---|11 14|---x RD GND x---|12 13|---x CLR_ |__| [RD,ctl,rx,rd',in',ir,mar,rd,b,BY] OCTAL CPU FOR 20 BITS ( RUN,ST)(M3,M2,M1) (cnt 3,2,1) 7 65 4 3 2 1 0 * / TIMES ARE IN MICROSECONDS #100 / IDLE PANEL ALL 4 CLOCKS 3.26 AC SWMAR NO PCCTL PCIR #110 / LOAD ADR AC LD WRD PC
[cctalk] PDP 8 / 11 via Raspberry Pi
Mike, any tips or guidelines for running an emulated PDP on a Raspberry Pi ? Regards, Tarek Hoteit > On Apr 21, 2024, at 08:08, Mike Katz via cctalk wrote: > > Well my PDP-8 was built in 1974 and is still running (with careful > maintenance). My PiDP-8/I has been up and running continuously with a > Raspberry PI 3B running it for about 5 years now. My PiDP-11 has been up and > running with a PI-4B for more than 4 years continuously. > > Though I agree with your comment that the PDP-8 was built to last (just > ignore the disintegrated foam used between the motherboard and the case or on > the case top) I have PCs that are more than 10 years old that are still > running. > > As for the RP2040 being cheap crap, I beg to differ with you. It is a solid > chip, produced in 10s of millions at least. And, I would bet, a better > quality chip than your Z-80, if due only to improved IC manufacturing > technologies. > > Just because it's old doesn't make it good. I worked on a 32KHz 4 Bit CPU > (about 20 years ago) where the development hardware was very unstable and the > tool chain not a whole lot better. > > Early Microsoft and Lattice C compilers for the PC were buggy as hell. If > you want I can list a few bugs from each of them in another thread. > > One of the biggest features of the Z-80, the extra register set, was rarely > used in open source software in order to maintain compatibility with the 8080. > > Some of the early Z-80 CP/M tools did not work because they were derived from > 8080 tools. After time the tools got better. That is the case with any > piece of software. If it doesn't become obsolete and if maintained it will > get better over time. > > > >> On 4/21/2024 1:09 AM, ben via cctalk wrote: >>> On 2024-04-20 8:33 p.m., Mike Katz via cctalk wrote: >>> For anything more sophisticated than your coffee pot the RP2040 from >>> Raspberry Pie is a fantastic little chip, dual core 133 MHz Cortex M0+ with >>> 8 PIO engines, 264K of RAM, ADC, UART, SPI, I2C all for under a dollar. I >>> designed a fully functional RP2040 with 16 Mb flash for under $2.00. In >>> large enough quantities that's encroaching on 8 bit PIC territory at over >>> 1000 times the memory and CPU power. >> >> I am wishing for a Quality Product, cheap crap is not always better. >> USB comes to mind. >> 256Kb ram is only 32K 64 bit words. Cache memory never works. >> My $5 internet toaster, just exploded after 3 days. >> So what? Just buy the new model that works with windows 12. >> Download a buggy new tool chain. The Z80 tools worked. >> >> >> The PDP8 was built to last. 50+ years and going strong. >> NOT the crappy PI PDP-8 or PDP-10. I give it 2 years max. >> Now a PI style computer with compact FLASH x 2, NO USB >> and 2 MEG ram , real serial and printer ports that will work >> in a noisy industrial setting, would be quite usefull. >> I'd pay even $3 for it. :) >> >> >> >> >
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 4/21/24 12:11, ben via cctalk wrote: > I keep finding I still need 74XX just for having 10 TTL loads, > and 74LSXX just does not have the power. Ever try BiCMOS chips? IIRC, the 74ABTxxx will drive loads of up to 60 ma, far in excess of old 74xx parts. --Chuck
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 2024-04-21 3:27 p.m., Jerry Weiss wrote: While intention might have been to last XX years, I am becoming increasingly pessimistic about longevity of most electronic devices. A crystal radio with an open air capacitor seems like the only good bet. Between electrolytic capacitor aging challenges, discrete and integrated circuit hermetic failures, cost or other inherent technical flaws, I fear most electronics will become inert over time. Many of us have the skills to identify and replace bits to extend the lifetime of many items. I only hope the skills and suitable replacement parts are available as time goes on. But if you want upgrade your radio, try here: http://www.r-type.org/articles/art-028.htm Most electronic devices have a known life time, sadly most of this information is never on the data sheet.
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
While intention might have been to last XX years, I am becoming increasingly pessimistic about longevity of most electronic devices. A crystal radio with an open air capacitor seems like the only good bet. Between electrolytic capacitor aging challenges, discrete and integrated circuit hermetic failures, cost or other inherent technical flaws, I fear most electronics will become inert over time. Many of us have the skills to identify and replace bits to extend the lifetime of many items. I only hope the skills and suitable replacement parts are available as time goes on.
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
Here is the article I found, but I suppose others have already seen this? The legendary Ziglog Z80 CPU is being discontinued after nearly 50 years https://www.techspot.com/news/102684-zilog-discontinuing-z80-microprocessor-after-almost-50-years.html Seems while the Ziglog EZ80 is compatible and four times faster, it is in a more modern package, how dare they! https://www.zilog.com/docs/um0077.pdf Warning: Do not use Life Support. Who would-ah thunk. Don Resor -Original Message- From: Fred Cisin via cctalk Sent: Friday, April 19, 2024 7:08 PM To: cctalk@classiccmp.org Cc: Fred Cisin Subject: [cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line) Gee! Have sales gone down? One more reason to use the 8080 subset when writing CP/M programs. Aren't there already some licensed second sources?
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
> On Apr 21, 2024, at 3:11 PM, ben via cctalk wrote: > > On 2024-04-21 8:45 a.m., Mike Katz wrote: > >> As for the RP2040 being cheap crap, I beg to differ with you. It is a solid >> chip, produced in 10s of millions at least. And, I would bet, a better >> quality chip than your Z-80, if due only to improved IC manufacturing >> technologies. > The pi looks like parts were picked for lowest cost,biggest profit, like most > products today. RISC chips have been around for 40 years, and yet versions > change like hotcakes every year. Raspberry Pi and Raspberry Pico are entirely different and unrelated devices. I've been using the original Pico and also the Pico-W (with WiFi for one more dollar) for a bunch of projects; they work well and the price is hard to beat. The PIO (programmable state machine) subsystem is particularly impressive; for example, I used it to implement a DDCMP sync line interface. paul
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 2024-04-21 8:45 a.m., Mike Katz wrote: As for the RP2040 being cheap crap, I beg to differ with you. It is a solid chip, produced in 10s of millions at least. And, I would bet, a better quality chip than your Z-80, if due only to improved IC manufacturing technologies. The pi looks like parts were picked for lowest cost,biggest profit, like most products today. RISC chips have been around for 40 years, and yet versions change like hotcakes every year. I just want a product that is more robust, than the bleeding edge of technology. I product must meet my needs,not what some sales man said I need. I keep finding I still need 74XX just for having 10 TTL loads, and 74LSXX just does not have the power. Just because it's old doesn't make it good. I worked on a 32KHz 4 Bit CPU (about 20 years ago) where the development hardware was very unstable and the tool chain not a whole lot better. Early Microsoft and Lattice C compilers for the PC were buggy as hell. If you want I can list a few bugs from each of them in another thread. The PC was buggy as hell. Other than the 68000 and the National 16032 I can't think what real cpu is with more than 64Kb. The 386 has problems. The IBM 360 or VAX never made it the home market. The ARM was UK product. One of the biggest features of the Z-80, the extra register set, was rarely used in open source software in order to maintain compatibility with the 8080. I thought the main problem was you could not keep track of what set you were using. Some of the early Z-80 CP/M tools did not work because they were derived from 8080 tools. After time the tools got better. That is the case with any piece of software. If it doesn't become obsolete and if maintained it will get better over time. Most places only up grades software, if somebody pays for it. You can never get the OK to upgrade of fix software, but when you do they want it yesterday. Ben. PS: Looking the reply email, I say 20 bits is the best.
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 4/21/24 09:37, Mike Katz wrote: > Even the 6809 could push up to 8 registers (up to 10 bytes) at once on > one of two stacks in a single two byte instruction. The 6809 was introduced the same year as the 8086. The 80186, introduced in 1982, did have the "PUSHA POPA" instructions and was considerably faster and more complex than the 8086. As far as I could tell, the 6809 was an evolutionary dead-end, meant to fill the gap between the very slow 6800 and the very advanced 68000; that made the OEMs a bit uneasy, hence its limited adoption. It was also very expensive for an 8 bit MPU--a key criterion for adoption. --Chuck
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
Even the 6809 could push up to 8 registers (up to 10 bytes) at once on one of two stacks in a single two byte instruction. On 4/21/2024 11:27 AM, Chuck Guzis via cctalk wrote: On 4/21/24 07:45, Mike Katz via cctalk wrote: One of the biggest features of the Z-80, the extra register set, was rarely used in open source software in order to maintain compatibility with the 8080. My understanding of the extra (partial) set of registers on the Z80 was that they were intended for a quick context switch particularly when processing interrupts--another interesting feature of the Z80 that was rarely used. So, for ordinary user code, they were a no-go. The alternative on the Intel MPUs was to push each 16-bit register pair at the entry of the interrupt routine and then pop them at the end; a relatively slow process, made worse by the requirements for extra stack space. Of course, the extra register feature went largely unused, as relatively few consumer- or hobbyist-level products actually made much use of the interrupt feature, much less, the 256-level vectored interrupt facility. The 8086 continued this trend of requiring explicit saves; some of the NEC V-series chips (e.g. V25), however, did implement extra register sets (8 total, IIRC) for fast context switches. --Chuck
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 4/21/24 07:45, Mike Katz via cctalk wrote: > One of the biggest features of the Z-80, the extra register set, was > rarely used in open source software in order to maintain compatibility > with the 8080. My understanding of the extra (partial) set of registers on the Z80 was that they were intended for a quick context switch particularly when processing interrupts--another interesting feature of the Z80 that was rarely used. So, for ordinary user code, they were a no-go. The alternative on the Intel MPUs was to push each 16-bit register pair at the entry of the interrupt routine and then pop them at the end; a relatively slow process, made worse by the requirements for extra stack space. Of course, the extra register feature went largely unused, as relatively few consumer- or hobbyist-level products actually made much use of the interrupt feature, much less, the 256-level vectored interrupt facility. The 8086 continued this trend of requiring explicit saves; some of the NEC V-series chips (e.g. V25), however, did implement extra register sets (8 total, IIRC) for fast context switches. --Chuck
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
Well my PDP-8 was built in 1974 and is still running (with careful maintenance). My PiDP-8/I has been up and running continuously with a Raspberry PI 3B running it for about 5 years now. My PiDP-11 has been up and running with a PI-4B for more than 4 years continuously. Though I agree with your comment that the PDP-8 was built to last (just ignore the disintegrated foam used between the motherboard and the case or on the case top) I have PCs that are more than 10 years old that are still running. As for the RP2040 being cheap crap, I beg to differ with you. It is a solid chip, produced in 10s of millions at least. And, I would bet, a better quality chip than your Z-80, if due only to improved IC manufacturing technologies. Just because it's old doesn't make it good. I worked on a 32KHz 4 Bit CPU (about 20 years ago) where the development hardware was very unstable and the tool chain not a whole lot better. Early Microsoft and Lattice C compilers for the PC were buggy as hell. If you want I can list a few bugs from each of them in another thread. One of the biggest features of the Z-80, the extra register set, was rarely used in open source software in order to maintain compatibility with the 8080. Some of the early Z-80 CP/M tools did not work because they were derived from 8080 tools. After time the tools got better. That is the case with any piece of software. If it doesn't become obsolete and if maintained it will get better over time. On 4/21/2024 1:09 AM, ben via cctalk wrote: On 2024-04-20 8:33 p.m., Mike Katz via cctalk wrote: For anything more sophisticated than your coffee pot the RP2040 from Raspberry Pie is a fantastic little chip, dual core 133 MHz Cortex M0+ with 8 PIO engines, 264K of RAM, ADC, UART, SPI, I2C all for under a dollar. I designed a fully functional RP2040 with 16 Mb flash for under $2.00. In large enough quantities that's encroaching on 8 bit PIC territory at over 1000 times the memory and CPU power. I am wishing for a Quality Product, cheap crap is not always better. USB comes to mind. 256Kb ram is only 32K 64 bit words. Cache memory never works. My $5 internet toaster, just exploded after 3 days. So what? Just buy the new model that works with windows 12. Download a buggy new tool chain. The Z80 tools worked. The PDP8 was built to last. 50+ years and going strong. NOT the crappy PI PDP-8 or PDP-10. I give it 2 years max. Now a PI style computer with compact FLASH x 2, NO USB and 2 MEG ram , real serial and printer ports that will work in a noisy industrial setting, would be quite usefull. I'd pay even $3 for it. :)
[cctalk] Re: PDP8 @ 50
https://www.youtube.com/watch?v=YXTQvlkYJvI=4s
[cctalk] Re: Last Buy notification for Z80 (Z84C00 Product line)
On 2024-04-20 8:33 p.m., Mike Katz via cctalk wrote: For anything more sophisticated than your coffee pot the RP2040 from Raspberry Pie is a fantastic little chip, dual core 133 MHz Cortex M0+ with 8 PIO engines, 264K of RAM, ADC, UART, SPI, I2C all for under a dollar. I designed a fully functional RP2040 with 16 Mb flash for under $2.00. In large enough quantities that's encroaching on 8 bit PIC territory at over 1000 times the memory and CPU power. I am wishing for a Quality Product, cheap crap is not always better. USB comes to mind. 256Kb ram is only 32K 64 bit words. Cache memory never works. My $5 internet toaster, just exploded after 3 days. So what? Just buy the new model that works with windows 12. Download a buggy new tool chain. The Z80 tools worked. The PDP8 was built to last. 50+ years and going strong. NOT the crappy PI PDP-8 or PDP-10. I give it 2 years max. Now a PI style computer with compact FLASH x 2, NO USB and 2 MEG ram , real serial and printer ports that will work in a noisy industrial setting, would be quite usefull. I'd pay even $3 for it. :)