|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
|
Thread Tools |
17th Jan 2021, 11:42 am | #21 |
Dekatron
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 5,191
|
Re: Simulating the INS8154
One feature of the 8154 that AFAIK no other PIA chip (such as the 8155) has are the bit operations. You can write to particular addresses (the data doesn't matter) to set or reset any bit of either port. And you can read said addresses to sense the state of a port line onto data bus bit 7 (which is then easy to test in software)
I have no idea if anybody ever used this feature, but if you are making a replacement for the chip I think you have to include it. |
17th Jan 2021, 1:02 pm | #22 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: Simulating the INS8154
Agreed, otherwise you may as well just marry the MK14 to another I/O IC from that era such as the 8255 and accept that you have to use that IC's command set instead.
About the only 'legacy' item of software I can think of which uses the I/O ports of the 8154 is the ''Function Generator" program using a ZN425 D to A converter connected to the 8154's ports. I suspect that the 128 bytes of RAM was used more often than the I/O ports, which is unfortunate as that is a virtually unique feature of the 8154. The designer of the JMP replica did make a nice setup with the 8154 ports being used to communicate with a paper tape reader. The 8154 also has an 'INTR' input which can be used as part of a parallel communications mode. |
17th Jan 2021, 2:15 pm | #23 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
|
Re: Simulating the INS8154
My VDU software uses the bit feature - it is also great when you have a VDU to quickly control features using SCIOS so yes I think it is quite an important aspect.
|
17th Jan 2021, 2:23 pm | #24 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: Simulating the INS8154
I've often said that the I/O IC greatly increases the 'play value' of the MK14 so it can be used as a kind of retro-Arduino. Without it there isn't much the system can do beyond read from / write to a handful of single bit inputs / outputs, or its display.
What we could really do with is a 5V CPLD / FPGA in a 40-pin package which is specifically aimed at people who are recreating 'lost' or rare 40-pin microprocessor ICs, their support ICs and things like ULAs. Of course there wouldn't be any money for the manufacturers in making such a thing. |
17th Jan 2021, 2:39 pm | #25 |
Heptode
Join Date: Oct 2011
Location: Culcheth, Cheshire, UK.
Posts: 637
|
Re: Simulating the INS8154
Back in the day I used the 8154 bit feature quite a lot for reading inputs, not so much for outputs. A replacement without this feature would still be useful, but ( and I might be wrong here ) it shouldn't be too difficult to implement.
|
18th Jan 2021, 12:27 pm | #26 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,395
|
Re: Simulating the INS8154
Quote:
https://www.hobbyelectronics.net/bui...a---plans.html Although might be able to tack-on a 6810 / 6510 RAM IC - It seems they never did an INS8154 / 8155 equivalent in these families, only a PIA with ROM in it (Presumingly intending you also used an 6810/6510) |
|
18th Jan 2021, 12:44 pm | #27 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,395
|
Re: Simulating the INS8154
Quote:
There have been a few DIL40 ULA replacement modules, where the board is slightly-wider so that the IC used just clears to middle pins of an Altera EPM7... QFP package (Presumably 5V compatible, as can't see anything else on that board, but may have been discontinued): https://www.sinclairzxworld.com/view...t=680&start=20 Or a novel approach of surface-mounting the middle pins of the double-sided headers strips, here: http://trastero.speccy.org/cosas/JL/.../ZX81-ULA.html Although whilst the (quite-old now) MACH210 used should be able to implement the fairly simple I/O (but not sure about making Outputs HiZ, to switch to inputs), it probably lacks enough logic to create the required amount of RAM |
|
18th Jan 2021, 2:27 pm | #28 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: Simulating the INS8154
While the 6522 works well in the Acorn 1 with its 6502, the 6522 requires the phi-2 clock signal to synchronise transfers and clock the timers, providing that on an MK14 would be hard unless you don't mind the timers being really erratic.
The 6520/21 doesn't have timers and so doesn't need the phi-2 clock. |
18th Jan 2021, 5:04 pm | #29 |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,265
|
Re: Simulating the INS8154
Using the epm7128s with surface mount of the round pin header under the pqfp and through hole for the end pins might just be enough to survive inserting and removing from a socket.
If all 40 pins of the dil header are connected to io of the cpld, with shorting links for each of the 40 pins to 5v or 0v on the module, then it might be possible to use the same module for replacement of other 40 pin dil ics. |
3rd Feb 2021, 1:08 am | #30 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: Simulating the INS8154
I've just noticed there is a new kid on the Raspberry Pi Block, the 'Pico'.
https://www.raspberrypi.org/document...tting-started/ It looks like they've decided to take on Arduino at their own game, as this is the first Pi branded device which is not a Linux mini computer - it's more of a self controlled microcontroller board, but considerably faster than most Arduinos. Very cheap too. What a shame, then, that they didn't put the power on pins 20 and 40. It might have been ideal for this job, otherwise. |
3rd Feb 2021, 10:46 am | #31 |
Nonode
Join Date: Oct 2008
Location: Warsaw, Poland and Cambridge, UK
Posts: 2,669
|
Re: Simulating the INS8154
Regarding the Pico (especially the chip on it, the RP2040), it should be ideal for this sort of task. The pin connections will need sorting out, and possibly some level shifting, but it has a PIO (Programmable I/O) module which is a specialized co-processor dedicated to handling high-speed external interfaces. Using the PIO would make emulating any 8-bit micro's bus interface quite straightforward, and the RP2040's ARM cores are plenty fast enough to handle the internal workings of something like an INS8154. It would make a very interesting project.
Chris
__________________
What's going on in the workshop? http://martin-jones.com/ |
3rd Feb 2021, 2:42 pm | #32 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: Simulating the INS8154
Level shifting automatically gets a bit complicated if the lines to be level shifted can be individually either inputs or outputs - I admit I had not considered that board would be a native 3V device, although I probably should have (I am still firmly stuck in a 5V world, myself).
|
11th Feb 2021, 9:46 am | #33 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,395
|
Re: Simulating the INS8154
Quote:
I had read that they've been working with Arduino, and that the RPi Pico will also be supported by the Arduino Software (as are severa other Cortex-M0 modules like the similarly-cheap postage-stamp size Seeduino Xiao). And that Arduino plan to release their own Arduino Nano (compatible) board, using the RPi RP2040 Cortex M0+ uC. Sparkfun etc. are also releasing several (similar to the RPi Pico but more ext. data memory) modules using the RP2040 IC. It looks like RPi have tried to keep the Pico's pinout in similar order to that on the original RPi2/3/4 & Pi-Zero etc. to make it easier to use existing PiHat's (but with some adaptors to change spacing / maybe flip these over, if headers fitted below rather than above) |
|
11th Feb 2021, 7:21 pm | #34 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
|
Re: Simulating the INS8154
What we need really is a general purpose board that can be used for any 5v 40 pin chip - a bit like this... https://youtu.be/Gdode3PfTbs
|
11th Feb 2021, 7:52 pm | #35 | |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: Simulating the INS8154
Quote:
|
|
12th Feb 2021, 1:59 am | #36 | ||
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,395
|
Re: Simulating the INS8154
Quote:
I do recall many years ago using Altera EP610/910 5V PLD's - which had very-low static power for battery operation, but not many cells. And also much larger Altera EPM7000-series (FPGA's?). It seems some of these are still just about available, but many are now 3.3V and 5V ones are rather expensive - the EPM7128 around £50 at Mouser Whilst on Mouser website, I did a search for all PLD's with 5V in operating voltage range, and it found just Lattice and Microchip (Former Atmel & Actel/Microsemi ones). There was even a DIL40 ATF2500C, but power pins are in the centre: https://www.mouser.co.uk/datasheet/2...77-1368984.pdf But it's only a CPLD, with not many Macrocells / FlipFlop's. So although you might have just enough to make a basic PIA, there wouldn't be enough to implement the 128Byte RAM etc. Looking at purely FPGA's on the Mouser-search, it only found Microsemi 40MC / 42MX ones, with these very expensive (towards £100!) and just one part stocked. https://www.mouser.co.uk/datasheet/2...DS-1591914.pdf I have previously used Microsemi 3.3V I/O? Igloo FPGA's, and they were much more reasonably-priced. so it does look like that may be the way to get, as lower voltages (especially core) gives a much larger density / cells for your money. Unless Lattice do much that would be suitable (but I've not used one of theirs, so not familiar with these yet). - Although 'only' CPLD's, the MACH4's are available with quite a high-number of Macrocells / Registers, so if package size for pin-count of larger ones isn't too large, then it may be a possibility - See MACH4 CPLD Datasheet: https://www.mouser.co.uk/datasheet/2...4a-1174572.pdf Level-conversion should be too much of a problem, as there are several in very small few mm2 packages (but probably want to avoid the very smallest, difficult to fit, BGA ones). And probably want to use the automatically bi-directional 2-supply rail ones, to save needing direction control lines. The FPGA would also need to support Tri-stating of its output-drivers, so that the pins could be configured as inputs for reading (unless separate Output & input pins were used and combined with external tri-state buffers) Last edited by ortek_service; 12th Feb 2021 at 2:25 am. |
||