7th Nov 2020, 12:36 am | #821 | |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,298
|
Re: Mk14 vdu
Quote:
My suspicion is that the address lines are pulling high before the NWDS is pulled high. The capacitors on the address lines would help in that case, but so would making sure there are no pull ups enabled on the PIC inputs on the address lines. In most cases enabling pull ups on inputs would be a good thing, to avoid them floating and self bias both high and low transistors of the input. In this case they would only float until driven by the PIC a short time later so they shouldn’t stay at an indeterminate level. |
|
7th Nov 2020, 12:41 am | #822 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Mk14 vdu
I have coincidentally just looked into this: On the PIC16F877 the only port which has internal weak pullups is port B which on OrtonView is used for databus in / out.
The pullups are not enabled by default or on reset, they have to be intentionally turned on by writing to the relevant control register(s). There remains the possibility of trying actual pull up or pull down resistors. |
7th Nov 2020, 2:16 am | #823 | |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,298
|
Re: Mk14 vdu
Quote:
Curious about Tim’s memory expansion, if it has any pull ups, or just additional loading on address lines. |
|
7th Nov 2020, 10:20 am | #824 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Mk14 vdu
Just additional loading, there is an ongoing thread concerning the memory expansion but it is basically just a 6116 and one logic IC which decodes chip enable from the upper address lines. 1.6K of the total 2K bytes of RAM are used and of course _WR and _OE of the SRAM are also connected to _NWDS and _NRDS.
I'll try to reproduce Tim's results but as my build of the memory expansion is not easily removable I think I will go higher with the capacitor values rather than lower. |
7th Nov 2020, 12:23 pm | #825 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
Something has changed in my setup now - I was trying to get readings from the SOC VDU on the address lines as it seems to me that A11 is barely driving above 2.4v - A8-A10 are the usual hovering around the 1.6v signal we see with strong drives to 4v. Anyway now both the SOC VDU and the OrtonView are not showing graphic mode by default - I wonder if the 8154 is failing - you can still use it to control the VDU's it just no longer defaults to the same settings of Graphics at Power on. I think it is also setting Black on White by default or enough to make the SOC think so as my TV clamps to black.
So bear this in mind when I report things moving forward the machine is not the machine it was last night... |
7th Nov 2020, 12:34 pm | #826 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
Sure enough pulling out the 8154 restores Graphics on by default on both VDU cards - so the 8154 is no longer pulling down the lines until I actually set OUTPUT mode on the A port explicitly - note that nothing has been added or taken away to from the MK14 as the caps were fitted on the Orton View and this is with my SOC VDU. There are no pullups on that just direct drive into IC8 (the L157) for Graphic mode select and IC1 (the rare and expensive L86) for screen Invert. The Orton View has pullups on all the Video control lines.
|
7th Nov 2020, 4:52 pm | #827 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
A new 8154 restores the old functionality - looks like I have damaged the tri-state mode of the output pins on my other 8154... Also I have removed the CAP on A11 and I still do not have any problems with the corrupt CHARSET except when the extra memory module is plugged in obviously which lead me onto...
I did this as I could not get the falling man demo to run for some reason the Graphics/Text output line PA6 on the 8154 would always go low just after uploading and the code running - you can see it is still OK as he screen looks like the Matrix with blocks of characters falling - the same code on the new 8154 works OK. So I assume the old 8154 was allowing itself to become selected (something to do with the A11 or A8 used as CS lines maybe?) and data was being written to 0820 or 0806 to affect the state of the PA lines / bit PA6. A11 now looks a lot better - even when I plug in my memory module - those who read the memory thread will remember that I did not have an 74HC02 or 74LS02 so I used a 7402 - well with that swapped for a 74LS02 A11 seems much healthier - if you look at the MK14 circuit it is driving a lot of chips so I suspect the TTL load was just too much for the SC/MP - this may also account for the 8154 issue... Edit: The corrupt character on Charset even with the memory module is gone so that can be attributed to the weakened A11 which the Cap was probably not enough to overcome under the extra load. Last edited by Timbucus; 7th Nov 2020 at 4:59 pm. |
7th Nov 2020, 6:17 pm | #828 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
OK I tried 47pF caps (fitted more neatly on the top as I had tried one of them on A10) on A8,9 and 10 and I also seem to be able to run all software with no observable errors, and despite two cups and four biscuits no reverse C. Reassuringly switching back in the 10K pullup on NWDS and the corruption re-appears. This works both with and without the RAM expansion.
I don't have 3off of anything lower and as they were fiddly to fit I think they will be staying. |
7th Nov 2020, 7:41 pm | #829 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Mk14 vdu
Well, you now appear to have arrived at what I call a four-biscuit solution.
This is a fast moving thread. Now I'm looking for some 47pFs, I have a 'pot' full of small value ceramics originally acquired for RF projects so I'm hopeful that I might be able to scrape that many together. After you had that mishap with the first 8154 I decided to keep the 8154 pins and flag outputs the hell away from the VDU - they are not completely disconnected from the VDU control pins but there are series resistors in between the 8154 pins and the VDU and I never alter the 8154 pins away from their default input mode. To 'programme' the VDU configuration I just use Arduino style pluggable links. Of course it is preferable to have an agreed connection setup so that software can be written to soft-control the VDU (which in fact you have always largely succeeded in doing) but it just seems rather high-risk and I can't afford to damage expensive, hard to get ICs. One non-canonical way to go around this would be to map something like a 74LS573 (8 bit latch) onto the final address in the memory hole (07FF) replacing one byte of RAM, and use the outputs of that to control the VDU functions. Literally as cheap as chips, unlike the antique LSI ICs. |
7th Nov 2020, 8:05 pm | #830 | |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,298
|
Re: Mk14 vdu
Quote:
Just wanted to clarify. You have 47 pF only on A8, A9 and A10, nothing on A11. Do you have 4.7k on NWDS? |
|
7th Nov 2020, 8:44 pm | #831 | ||
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
Quote:
|
||
7th Nov 2020, 10:55 pm | #832 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Mk14 vdu
Sorry folks, I have dug deep and can not find anything in that general area as regards capacitance value and I think it is important that I exactly reproduce what Tim has done, at least initially.
I'm sure we will have some at work if only in SMD form but the way my 877 PCB is made lends itself well to the use of such parts. Will have to wait until Monday unfortunately. |
7th Nov 2020, 11:02 pm | #833 | |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: Mk14 vdu
Quote:
|
|
7th Nov 2020, 11:19 pm | #834 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Mk14 vdu
Or two bits of insulated wire twisted together? Those were the days.
All of this just goes to show how long it is since I have been a 'proper' electronics enthusiast with every conceivable part to hand - working in a place where there are components by the bucketload - albeit almost all SMD nowadays - has made me very lazy about keeping up my home stock. I tend to prefer to do most of my soldering there, not here, as well. Karen's marathon effort using a bed shelf as a 'bench' to put her OrtonView prototype together really put me to shame, it must be said. |
7th Nov 2020, 11:30 pm | #835 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
Two bits of insulated wire - your were lucky we had to use the bits of leather that Dad's belt left on the back of the hand rubbed on the tin bath... youngsters today.
|
7th Nov 2020, 11:33 pm | #836 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
Anyway back on track from classic comedy northerners - I rewired it to use 200-3FF for the display and it seems to work there as well -I really need to rig a simple way to allow me to programmatically or with a simple failsafe switch to change TOPPAGE from PS3 to PS1 without risking my L86...
|
7th Nov 2020, 11:40 pm | #837 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,586
|
Re: Mk14 vdu
As discussed originally, just fit a resistor permanently in series with the TOP PAGE output so that if it ever does clash with an opposing output no harm will come of it. Maybe around 330R, low enough so it doesn't weaken the drive from TOP PAGE too much, but high enough to withstand 5V across it if it ends up with +5V from an output on one end and 0V from another output on the other.
|
8th Nov 2020, 12:49 am | #838 | |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,364
|
Re: Mk14 vdu
Quote:
The only really useful settings are then - here the 1 means an AND would connect that line to the TOPPAGE Code:
ST 0x05(P2) ;(b12) PS4=0 ; ST 0x14(P2) ;(b9) PS1=1 (Toppage enable for Exp RAM) ; ST 0x03(P2) ;ReversePages=0 - So 200 is above 300 ; ST 0x12(P2) ;(b10) PS2=1 ; ST 0x01(P2) ;(b11) PS3=0 (NO toppage connected) Code:
; ST 0x15(P2) ;(b12) PS4=1 ; ST 0x04(P2) ;(b9) PS1=0 (NO toppage connected) ; ST 0x13(P2) ;ReversePages=1 - So F00 is above B00 ; ST 0x12(P2) ;(b10) PS2=1 ; ST 0x11(P2) ;(b11) PS3=1 (Toppage for Base RAM) |
|
8th Nov 2020, 2:36 am | #839 | |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,298
|
Re: Mk14 vdu
Quote:
|
|
8th Nov 2020, 9:24 pm | #840 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: Mk14 vdu
Well in my mission to make sense of the VDU code I have made a local git repository of my MPLAB X project so I can do diffs or work on changes to the code and to make sure I have all the versions. So which version is the latest non-experimental version?
Code:
ian@FX503VD:~/MPLABXProjects/OrtonView.X$ git lg * fb5d9db - (12 seconds ago) FW621 minor change which might stop juddering in A version - Karen Orton (HEAD -> master, tag: fw621) | * 14a7d60 - (25 minutes ago) FW612 Uses a fixed pixel clock 4Mpix/sec. (DOES NOT BUILD) - Karen Orton (tag: fw612) |/ * f1b0932 - (36 minutes ago) FW523 Fix corrupting the output drive register for port A - Karen Orton (tag: fw523) * 1e8b9ca - (39 minutes ago) FW515 This version turns the PIC bus drivers off and on during display generation but doesn't alter NENIN. - Karen Orton (tag: fw515) * 7973763 - (46 minutes ago) FW492 One last try at scavenging cycles for the SC/MP. - Karen Orton (tag: fw492) * dbfdc66 - (51 minutes ago) FW412 scavenging code ripped out - Karen Orton (tag: fw412) * 27c1439 - (60 minutes ago) FW392 minimise time spent with NENIN asserted - Karen Orton (tag: fw392) * d27485e - (65 minutes ago) FW352 inverse video in graphics mode has a partial right border. Fixed - Karen Orton (tag: fw352) * fb4c646 - (68 minutes ago) FW345 Initial commit - Karen Orton (tag: fw345) I will PM Karen and see if she's OK for me to put this public on my Bitbucket account in case anyone wants to have a play with it. |