9th Mar 2023, 4:35 pm | #161 |
Heptode
Join Date: Oct 2011
Location: Culcheth, Cheshire, UK.
Posts: 654
|
Re: Idiot building a MK14 thread
|
18th Mar 2023, 5:28 pm | #162 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
Realview connected.
Colin. |
18th Mar 2023, 6:29 pm | #163 |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Idiot building a MK14 thread
Very nice to see another one up and running. I don't think you have the tape interface built yet so if you want a quick test then you could type in this 20 byte program to fill the screen with a single character. It assumes that on RealView DIP SW 1 and DIP SW 2 are OFF (display RAM set to 200) and all others are ON. [just edited this detail as I realised I got it the wrong way round first time].
Type the program in at B00. This is also the execution address (actually it's relocatable so you can use a different area of RAM if you want) Change the byte at B07 to fill the screen with a different character C4 02 35 C4 00 31 C4 00 CD 01 35 E4 04 98 05 E4 04 35 90 F2 3F The listing file attached if you want the detail. Last edited by Realtime; 18th Mar 2023 at 6:53 pm. Reason: Error in switch settings |
19th Mar 2023, 1:59 pm | #164 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
That worked just fine; thanks.
Next is the cassette interface and working out how to save/load files. I find it interesting that the Reset button does not wipe memory - I assume it is meant not to? Colin. |
19th Mar 2023, 2:51 pm | #165 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
|
Re: Idiot building a MK14 thread
It's only Dynamic-RAM that usually loses its contents after a reset - due to normally-periodic refresh process getting suspended during this.
(Although some computers like the BBC, used the CRT-Controller Video IC to refresh the DRAM, so processor reset didn't affect the RAM contents) Systems with Static-RAM, like the MK14, will still have the same contents after a reset - unless there's a specific routine ran after reset, to wipe the memory / destructively write-test the memory to check capacity and verify it all works. Probably a relief on the MK14, to not lose contents after having to type it all in (or load from cassette, if you've got that interface and have saved the program). Of course, you'll still lose it after a power-interruption without battery back-up etc. |
19th Mar 2023, 4:01 pm | #166 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Idiot building a MK14 thread
If you want to experiment with the VDU at an even more basic / manual level, remember that the RAM area being rendered from by the VDU is exactly the same as any other RAM memory on the MK14 so you can edit its contents using the monitor just as you can the 'program memory' at 0F12-0FF0 etcetera.
With RealView set up as in post #163, press ABORT 0 2 0 0 TERM and you can begin entering data directly into the screen memory and observing the effect that has on the display. You may find it useful to run Realview's screen fill code from #163 with a fill value of '20' (Hex) which is the character code for 'space', because that will function as a clear-screen routine. Running that first will give you a nice blank canvas to start editing. Like the PET the MK14's VDU has its own table of characters -> character codes which do not wholly conform to more standard ASCII. Here are the MK14 VDU characters and the codes which represent them. Code:
@ 00 A 01 B 02 C 03 D 04 E 05 F 06 G 07 H 08 I 09 J 0A K 0B L 0C M 0D N 0E O 0F P 10 Q 11 R 12 S 13 T 14 U 15 V 16 W 17 X 18 Y 19 Z 1A [ 1B \ 1C ] 1D ^ 1E _ 1F 20 ! 21 " 22 # 23 $ 24 % 25 & 26 ' 27 ( 28 ) 29 * 2A + 2B , 2C - 2D . 2E / 2F 0 30 1 31 2 32 3 33 4 34 5 35 6 36 7 37 8 38 9 39 : 3A ; 3B < 3C = 3D > 3E ? 3F For example, the code for a normal white-on black 'A' is 01H (00000001). Changing that to 81H (10000001) gives you an inverse black-on-white 'A' instead. If you change to graphics mode then you can clear the screen using Realtime's 'fill' code with a fill value of '00', any bits which are 'high' in the data bytes you enter into screen memory make their corresponding pixels light up. Last edited by SiriusHardware; 19th Mar 2023 at 4:12 pm. |
20th Mar 2023, 9:44 pm | #167 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
Slothie's base from post 29 on this thread printed and secured using the holes for the keypad frame. I had to take off the clip at the back to allow Realview to stay connected but it all fits just fine - thanks very much for the design.
I had to print it at an angle (see photo) as my printer isn't big enough to print it flat using some interesting supports called Tree supports - cost was about £5. Colin. |
20th Mar 2023, 10:04 pm | #168 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Idiot building a MK14 thread
Could it BE more orange?
Nice job though, I don't know if that trick to print at an angle and still get a ruler-straight base is part of the functionality of the design software but I am impressed. It does seem to waste a lot of filament but I suppose it's all you can do if your base plate is only so wide. |
20th Mar 2023, 10:21 pm | #169 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
I had a lot of orange to spare after printing those MK14 mats, so I thought I'd use that.
Those supports are hollow so they don't use that much - of the £5 total, about £3 was for the supports. Solthie's design is completely flat - you load that into the slicer program, choose the angle of the print and the supports ensure that the design stays flat. It's all rather clever. And addictive to watch. Colin. |
20th Mar 2023, 10:50 pm | #170 |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Idiot building a MK14 thread
Very smart looking. That must have taken quite some time to print. Did you slice it using Cura?
|
21st Mar 2023, 11:17 am | #171 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
It's the latest Prusaslicer beta (v 2.6 beta 5) which now has organic/tree supports. I have a Prusa MK3S/MMU2 and have always used Prusaslicer with it.
I've used Repetier before with my very old printer (Velleman K8200), and Chitubox with my SLA printer (Elegoo Mars) - never used Cura. It took about 20 hours to print which I don't bat an eyelid about nowadays - I print lithophane lampshades which take 54 hours, so 20 hours is fine; kick it off in the evening, come back next lunchtime and it's done. it's very reliable. Colin. |
21st Mar 2023, 9:57 pm | #172 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: Idiot building a MK14 thread
Nice! I thought it would be possible, just never tried it out. The tree supports definitely make it more practical to print like that.
|
23rd Mar 2023, 12:48 pm | #173 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
While thinking about what to actually do with a MK14 I was wondering if it's possible to attach a sensor (for example temperature) to the MK14 and display the temperature on the display or a screen through Realview?
Colin. |
23rd Mar 2023, 1:00 pm | #174 | |
Heptode
Join Date: Oct 2011
Location: Culcheth, Cheshire, UK.
Posts: 654
|
Re: Idiot building a MK14 thread
Quote:
The two ports on the 8154 are great for interfacing things to the MK14. I put a A-to-D converter on one 8154 port. This let me read the light level using an LDR, and I used the other port to drive lights. You could connect motors, sounders, all kinds of sensors, and write code to do stuff. The possibilities are limited only by your imagination !. |
|
23rd Mar 2023, 2:05 pm | #175 |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
|
Re: Idiot building a MK14 thread
One thing I was planning to do, but have yet to get round to, is use "1-wire" sensors hooked up to the MK14. They're very simple to connect electrically (1 wire bi-directional data plus power) but does require the development of a SW interface. Doesn't look difficult though and avoids a lot of analogue conditioning and conversion. Have a look at Analog Devices' (was Maxim) site here for some examples:
https://www.analog.com/en/product-ca...e-devices.html |
23rd Mar 2023, 2:37 pm | #176 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Idiot building a MK14 thread
Here specifically is a datasheet for a popular 'one wire' temperature sensor IC. I've had one of these connected to an Arduino before and it actually came in useful when I thought we were having a problem with the freezer not operating down to the set temperature. I attached very thin wires to the sensor, stuck it on a shelf in the freezer and then closed the door on the wires.
https://www.analog.com/media/en/tech...ts/ds18b20.pdf However, there are two layers of complication here, one is understanding the 'physical' aspect of one-wire signalling - which wires to wiggle when - and then once that bit works you then have to communicate with the part by using your one-wire bit-bang code to write to and read from the sensor's registers in the way that the part expects you to. For a first interfacing project for Colin I would think that it might be easier to have a go to communicate with a parallel part like an A-D converter, D-A converter or a 16 x 2 way alphanumeric display. It could be worth looking at the range of sensors and add-ons typically made for Arduinos which like the MK14 are generally 5V logic, to see if there is something which you can easily use on the MK14 as well. |
23rd Mar 2023, 3:05 pm | #177 |
Heptode
Join Date: Oct 2011
Location: Culcheth, Cheshire, UK.
Posts: 654
|
Re: Idiot building a MK14 thread
I've programmed 1-wire stuff at assembler level on PIC processors in the past. I would not suggest attempting to do the same on an 8060 as a beginners project !.
Stick to byte-wide ports for ADC, DAC, LCDs etc., and use simple digital I/O, like lights motors, and switches. You can do a lot with these just using simple software constructs. Stuff like I2C, SPI, and 1-wire need you to write quite complex software to do the comms, before you can start actually using the device to do something. |
23rd Mar 2023, 3:24 pm | #178 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Idiot building a MK14 thread
Agree.
Is there a 'classic' temperature sensing IC with a parallel interface? There must have been one at one time before all of these fangly-dangly modern serial buses came along. Or failing that, a temperature sensor IC or module with a conventional (asynchronous) serial interface: There is example code in the manual for sending and receiving asynchronous serial data. |
23rd Mar 2023, 3:47 pm | #179 |
Octode
Join Date: May 2012
Location: Perth, Scotland
Posts: 1,821
|
Re: Idiot building a MK14 thread
|
23rd Mar 2023, 4:10 pm | #180 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Idiot building a MK14 thread
You seem highly inventive when it comes to other things, especially your 3D printing hobby where you seem to be very much in your filament...
|