UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Reply
 
Thread Tools
Old 20th Jul 2021, 10:32 pm   #21
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

Quote:
Originally Posted by SiriusHardware View Post
I have a Pico too but haven't done much with it as I would rather programme it in 'C'- they haven't got the working environment for that language set up very well yet, although there is a script which sets everything up on the (Linux Computer) Pi if you don't mind using that as your main development machine. I really wish they had not used the 'Raspberry Pi' brand name for the Pico. The Arduino IDE is supposed to be bringing in support for the Pico as well as a few other PCBs which will use the same microcontroller.

My impression (unconfirmed) is that the Pico has quite a lot of onboard RAM and is also very fast so you could do something like the MK2 Arduino version (which currently uses an external SRAM as a serial buffer) but try using the internal RAM on the Pico instead.

If just not having the right optocouplers is an issue for Mark, fear not, I can easily populate the opto positions (if desired) by soldering SMD versions to the through hole pads on the upper side of the PCB - wouldn't add much to the weight and I have more than enough of them lying around at work.
The pico micropython interpreter also maps unused flash memory as a file system (about 1600k) which holds the python code you write but also can hold data files (like mk14 hex files,,,,) so you could make a mini standalone "program disk" device. I believe you can "partition" the flash like this when using C too.

I agree that it would have been less confusing to have branded it the Raspberry Pico without the "pi".
Slothie is online now   Reply With Quote
Old 21st Jul 2021, 1:20 am   #22
Mark1960
Heptode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 683
Default Re: MK14 Programming Interface

Quote:
Originally Posted by SiriusHardware View Post
Quote:
it probably wouldn’t increase postage to include one and
..I think there was a glitch in The Matrix there.
Not sure what happened there, I don’t even remember typing “and”.

I was thinking about connecting an ft245, with ram instead of prom and /OE disabled until one of the flag outputs is set. Then connect rx ready to NHOLD and send code over the ft245 to write data to ram. That was before I just set the links on the ram to bootstrap ram from the prom as the code in the prom executes.

I need an easier way to load code, but not sure if the proms are going to get in the way.
Mark1960 is offline   Reply With Quote
Old 21st Jul 2021, 7:08 am   #23
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

There's always the prospect of using NENIN to kick the SC/MP off the bus and then directly flood the RAM with code from something directly attached to the address, data and control lines and presumably isolated from them all by tristate buffers. When released again the SC/MP will try to resume where it left off even though the code it was executing may have vanished, so you'd probably need to assert Reset as well, to force predictable behaviour after loading of new code.

The 'keypad injection' method obviously only works when the OS is present and working as it literally types the code into the machine exactly the same way as a human operator does - but quite a bit faster - using the normal user interface provided by the OS.
SiriusHardware is online now   Reply With Quote
Old 21st Jul 2021, 7:58 am   #24
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

I also like the way you see the display quickly changing a bit like on Star Trek when Data is speed-typing into the shipboard computer....
Slothie is online now   Reply With Quote
Old 21st Jul 2021, 8:06 am   #25
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

Maybe that's what I should have called the project... "Data". It still amazes me how rapidly the MK14 allows keypresses to be entered. If you watch the data field digits on the display during upload, they are just a blur.
SiriusHardware is online now   Reply With Quote
Old 21st Jul 2021, 9:21 am   #26
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

Quote:
I agree that it would have been less confusing to have branded it the Raspberry Pico without the "pi".
A rookie marketing blunder, it can only lead to little Johnny or Mary asking for a "Raspberry Pi" like the ones they use at school only to be given a (cheaper) and incompatible Pico, which has 'Raspberry Pi' in the name.

Raspberry = Brand
Pi = Model, or model range.
Pico = An entirely different model, not a Pi at all.

This should have been pretty obvious to anyone. That said, I am looking for 'proper' jobs (like the uploader) for the undeniably powerful little Pico to do - once the programming environment catches up with the hardware.
SiriusHardware is online now   Reply With Quote
Old 21st Jul 2021, 9:41 am   #27
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

There is this project https://github.com/earlephilhower/arduino-pico that implements the pico into the Arduino IDE board manager, but it still looks a little complex to me. I expec that you'd be happier with some kind of "official" project. The main attraction of the Pico to me is the fact that it can be programmed in Micropython, there have been Micropython microcontrollers before but they have been expensive or fiddly to use. The Pico also uniquely has the "Programmable I/O" (PIO) feature that should make tight timings on interfaces a bit easier too.
If I want an ARM core microcontroller to program in Arduino IDE I'd probably use one of the STM32 boards I picked up for almost nothing from China
Slothie is online now   Reply With Quote
Old 21st Jul 2021, 10:07 am   #28
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

Yes, when the Arduino IDE has a 'Choose Board' drop down box for the Pico 'out of the box', that's when I will revive my interest in the Pico. Apparently it is coming.

As a point of interest, the little BBC Micro:Bit which was offered / given to schoolkids of a certain generation (and now in its second hardware version) can also be programmed in Micropython and there is a nice mature offline Micropython IDE for it, similar in operation to the Arduino IDE, called 'Mu'.
SiriusHardware is online now   Reply With Quote
Old 21st Jul 2021, 11:21 am   #29
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

Quote:
Originally Posted by SiriusHardware View Post
Yes, when the Arduino IDE has a 'Choose Board' drop down box for the Pico 'out of the box', that's when I will revive my interest in the Pico. Apparently it is coming.

As a point of interest, the little BBC Micro:Bit which was offered / given to schoolkids of a certain generation (and now in its second hardware version) can also be programmed in Micropython and there is a nice mature offline Micropython IDE for it, similar in operation to the Arduino IDE, called 'Mu'.
Yes, I had a Micro:Bit back in the day and I was quite impressed with it. I even bought some peripheral bits for it but never did much with it, not sure what became of it. At the time I was working for the BBC co-incidentally and I may have loaned it to one of my collegues to play with and not got it back. The "Thonny" IDE supports the Micro:Bit too if you're using micropython.

While we are on the subject of IDE's all the cool kids are using "Geany" these days I am told, I tried it and it seems quite good, although I tend to use Sublime Text which is almost an IDE these days just because its what I'm used to and I bought a licence that you can port about onto any computer you use. You can use it without a licence, it just nags you from time to time, but I worked with companies that have conniptions about using unlicensed software even if its free so I bought one to shut them up
Slothie is online now   Reply With Quote
Old 21st Jul 2021, 11:30 am   #30
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

I've also noticed I only got 10 uploader PCBs, I misread the packet. Not that I'm in danger of runnng out!
Slothie is online now   Reply With Quote
Old 21st Jul 2021, 12:33 pm   #31
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

I use Geany (which has been bundled on the Linux Pi for a while now) as an editor (only), it's quite useful as it recognises the syntax of various languages and renders everything in soothing context-sensitive colours, which, of course, is important.

I didn't realise 'Back In The Day' now meant 'several years ago!' Mind you, it's slightly longer ago than I thought, the Micro:Bit having been introduced in 2014.

Swerving more back on topic, please let us know when the Ortonview PCBs arrive, in the meantime anyone else interested in an OrtonView PCB or uploader opto-interface PCB please pipe up.
SiriusHardware is online now   Reply With Quote
Old 21st Jul 2021, 1:05 pm   #32
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

Yes I will, They're coming by parcel post because I chose the cheapest option They might be a week or 2.

If it helps, I'm regretting that decision already!

Update: Its cleared customs already, so may not be that long....

Last edited by Slothie; 21st Jul 2021 at 1:07 pm. Reason: Update
Slothie is online now   Reply With Quote
Old 21st Jul 2021, 1:09 pm   #33
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

Well, it will give you lots more opportunities to toss and turn at night, wondering whether you've made any fatal mistakes on the OrtonView PCBs. (Fairly unlikely, given your past record).
SiriusHardware is online now   Reply With Quote
Old 30th Jul 2021, 5:04 pm   #34
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

(Brought across from the Ortonview PCB thread, so the uploader PCB can be discussed in more detail without bouncing that thread too far off topic)

Quote:
Its worth fitting the 2x20 header for the Pi in conjunction with the 16 way DIP socket as they fit flush together
I'm probably going to solder SMD TLP185s to the opto pads as they grow on trees at work so for me at least, clearance should not be a problem. Since you've already built one and it works I don't expect to have to remove any of the optos once fitted.

I take it the output connections from P4 are in 'conventional MK14' (not JMP) order and spacing and are an exact one for one match to the edge connector on the MK14 - I notice there is nothing connected to pads 9 and 11 counting up from the 'R1' end. It might be an idea to include a drawing of the wiring of the [uploader -> MK14] interconnection lead if you have not already put one in. To be fair, consider also including the alternative wiring which will be required if the target MK14 is a JMP replica.
SiriusHardware is online now   Reply With Quote
Old 30th Jul 2021, 5:47 pm   #35
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

Quote:
Originally Posted by SiriusHardware View Post
(Brought across from the Ortonview PCB thread, so the uploader PCB can be discussed in more detail without bouncing that thread too far off topic)

Quote:
Its worth fitting the 2x20 header for the Pi in conjunction with the 16 way DIP socket as they fit flush together
I'm probably going to solder SMD TLP185s to the opto pads as they grow on trees at work so for me at least, clearance should not be a problem. Since you've already built one and it works I don't expect to have to remove any of the optos once fitted.

I take it the output connections from P4 are in 'conventional MK14' (not JMP) order and spacing and are an exact one for one match to the edge connector on the MK14 - I notice there is nothing connected to pads 9 and 11 counting up from the 'R1' end. It might be an idea to include a drawing of the wiring of the [uploader -> MK14] interconnection lead if you have not already put one in. To be fair, consider also including the alternative wiring which will be required if the target MK14 is a JMP replica.
The wiring for a Issue VI and the standard MK14 is 1-1 from the uploader to the MK14, I wired all 16 wires even though the uploader doesn't use pads 9 & 11. When I do the "manual" for the board I will include wiring for the JMP which I recall you documented earlier. I did it this way in case I decided to use a 2x16 dupont style connector on the MK14 which I prefer to edge connectors since the MK14 doesn't have a location slot for an alignment key.

Its worth soldering in the optos. I've found the 4 pin DIP chips are a bit "wobbly" in the sockets because they have so few pins! Its not caused problems yet, but its possible it might in the long run if the springiness of the sockets deteriorates. And it shouldn't be too hard to desolder a 4 pin chip should the need arise.
Slothie is online now   Reply With Quote
Old 30th Jul 2021, 6:13 pm   #36
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

If you do document the wiring for the JMP replica watch out for the fact that the top two pins from the Pi are swapped over on the JMP version. Since these are hard wired for the standard MK14 on your uploader PCB, it will instead be necessary to swap the top two column lines over as they go from the uploader to the JMP.

This is best illustrated by the first of two circuit images in this post in the original uploader thread.

https://vintage-radio.net/forum/show...4&postcount=30

The second circuit looks tidier because the Pi pins used to operate the upper two optos have been discreetly swapped, but on your PCB that would involve having to cut and redirect the connections to the Pi.

In the real world, better to leave the Pi connections untouched and swap the wires over as they go from the uploader to the MK14 (as per the first of the two diagrams).
SiriusHardware is online now   Reply With Quote
Old 30th Jul 2021, 6:18 pm   #37
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

Yes, I was only intending to show how to wire from connector to connector, if people have a JMP and want to make a plug arrangement then they'll have to hack the PCB appropriately. Again, a V2 PCB would probably take this into account, since presumably there are a number of JMP owners out there.

I presume the change of mapping of the GPIO pins could be done in software.

Last edited by Slothie; 30th Jul 2021 at 6:21 pm. Reason: Mapping
Slothie is online now   Reply With Quote
Old 30th Jul 2021, 6:47 pm   #38
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

Yes, Tim's already done that - his version of the opto interface has more than the 'standard' 13 optos and the software modified so it can just select which optos to drive to write to either connection scheme, standard or JMP.

This is of course because Tim has one of each type of MK14 parked in the garage, three if you count the 'Martin' kit he hasn't even built yet. I originally reasoned that most people would only have the one and would build the interface version to match their machine - the current version of send14 drives either version of the opto interface without any modification.

If or when you make a rev 2 version of the uploader PCB, you are welcome to provide for Tim's mod and continue development of the send14 software to encompass this change to make it the new 'mainstream' version. I wouldn't really want to go down the road of having one version of the software for Standard MK14s and another for JMPs because then both versions have to be maintained side by side. I like the idea of one version of software, one version of the interface better.

As I said though, it's no big task to have to swap two wires over on the way from the uploader to the JMP.

Last edited by SiriusHardware; 30th Jul 2021 at 6:52 pm.
SiriusHardware is online now   Reply With Quote
Old 30th Jul 2021, 7:26 pm   #39
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,099
Default Re: MK14 Programming Interface

I wouldn't want 2 versions either, I'd provide a flag or configuration option for it. In fact a config file would allow it to remember timing settings so people could tune the settings for themselves and not have to provide them every time.
Slothie is online now   Reply With Quote
Old 30th Jul 2021, 7:56 pm   #40
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 7,514
Default Re: MK14 Programming Interface

Since the program is just a text file you can obviously edit the timings in the program itself and they stay set to whatever you eventually find works best for you - putting that functionality (of playing with the values while the program is running, and saving them in a named config file) is more the sort of thing which would suit a GUI version of the program, with menus from which to pick or tweak parameters such as the timing and also the 'OS mode' in which the program runs, currently set by the value of a flag in the early part of the program.

It's not ideal to have to edit the program itself to modify its behaviour, but when I made it originally I made it for one type of MK14, the theory being that all machines had the exact same hardware and would work with one experimentally determined set of timing values which would not need to be changed once arrived at. I didn't initially support the 'old' OS, so the need to be able to select that was an afterthought as well, and I had absolutely no idea that the designer of the JMP replica had gone with a different keypad connector connection layout so that wasn't factored in either - hence the creation of a JMP specific version of the interface, once Tim had made that discovery.
SiriusHardware is online now   Reply With Quote
Reply

Thread Tools



All times are GMT. The time now is 5:33 pm.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Copyright ©2002 - 2021, Paul Stenning.