|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
|
Thread Tools |
7th Mar 2024, 2:31 am | #21 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
|
Re: MGH8060 full-house SC/MP - support thread
Quote:
And I later found I couldn't get it to work again via Kitbug either, when putting '00' into $A003. I think it's been 35years since I last directly prog'd 8255 registers (on my Beeb EPROM Programmer design, that I'd used a couple of 8255's on). So I'd assumed it was like most 16bit PIA's like the 6821 etc. and I'd just put all zeroes into the Data Direction Register. after taking a quick look to find the address of that and port A in this version of the datasheet: http://aturing.umcs.maine.edu/~meado...Intel8255A.pdf Of course the 8255, having 3 ports, is slightly different in that there isn't just 2 data and 2 DDR registers, but it had looked like just making the control register all zeros put it into standard Mode0 with all pins as outputs. And I hadn't spotted that the highest-bit 'Mode Set Flag' wasn't just something you read (as 'flags' normally are), but that you had to set it - As there doesn't seem to be much written about it in that datasheet, and you have to refer to all the examples on the following pages to see that you always set it to '1' (which makes you wonder why it's really there for?). Anyway, now I could actually control the LED from NIBL, I went back to writing a small program to flash it. I hadn't been able to find a 'Delay' command in the NIBL Reference guide, so just used a for loop (I originally used count to 1000, but that was surprisingly very-slow, with count to 100 taking about 2 secs): 10 LET @#A003=#80 20 LET @#A000=1 30 FOR I=1 TO 100 40 NEXT I 50 LET @#A000=0 60 FOR I=1 TO 100 70 NEXT I 80 GOTO 20 - It would be neater / shorter if NIBL has a complement / Ex-OR function and also a delay function. But co-incidentally, I then spotted your post a bit earlier about your NIBL extensions now including a delay function (Although will presumably need to update the 'FULL' v270224 EPROM's $8200-$87FF area with your latest version, to include that. |
|
7th Mar 2024, 2:59 am | #22 | |
Octode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
|
Re: MGH8060 full-house SC/MP - support thread
Quote:
Heres a 3.5 second delay for example: Z=35:LINK#824D Cheers Phil |
|
7th Mar 2024, 11:00 am | #23 | ||
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
|
Re: MGH8060 full-house SC/MP - support thread
Quote:
Thanks. Yes, I had previously tried calling some of the routines there. It was the delay one that I'd thought was a new one, after seeing it mentioned in your recent post about it in NIBL helper routines: https://www.vintage-radio.net/forum/...06&postcount=5 But just re-reading this, I now see it was support for the 9600 receipt printer that's just been added (which could be useful for me to add, as I was considering getting one of these). And I've just noticed that the delay routine at #824D was actually listed in the '27C256 (Actually needs to be 27C512 for this?) Software Load' summary at the end of Realtime's MGH8060 GAL Mod pdf - Where it correctly states that this is in tenths of seconds. |
||
8th Mar 2024, 4:01 pm | #24 | |
Hexode
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 320
|
Re: MGH8060 full-house SC/MP - support thread
Quote:
|
|
22nd Mar 2024, 1:02 pm | #25 | ||
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
|
Re: MGH8060 full-house SC/MP - support thread
Quote:
I was looking at this again, to see if I could add the D-FLG from D6 etc as on the new MGH8060GAL version using the GAL22V10, by re-jigging some pins around to free up an output-capable or two. And I've just noticed it seems I actually missed cutting the existing track to pin11 of the GAL16V8 and grounded that (as I'd only printed off a small picture of the mod-wires and that one was just a very-thin bit of wire) But it had seemed to still work OK, without doing that! So must have been some luck in the timing of ADS (inverted nADS) going to the GAL nOE input. |
||
22nd Mar 2024, 4:16 pm | #26 |
Octode
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,298
|
Re: MGH8060 full-house SC/MP - support thread
If the data lines are being stored with an edge triggered register then you can trigger on either the falling or rising edge of NADS, provided you are not overclocking the 8060.
If you overclock the 8060 to 8MHz then you need to trigger on the rising edge or use a transparent latch, with active low enable. I don’t know what frequency this becomes required. If you try 8MHZ then double the baud rate. |
23rd Mar 2024, 6:06 am | #27 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
|
Re: MGH8060 full-house SC/MP - support thread
Copied from my post (#4) in this thread on the mnew MGH8060GAL version:
https://www.vintage-radio.net/forum/...52#post1628452 Quote:
So I did that and wire-linked the following (which routed quite well, without any wires crossing over each other) U4 Pin 9 ('D7' on original schematic) to INS8060 D7 (Pin 9) U4 Pin 8 ('D6' on original schematic) to INS8060 D7 (Pin 10) U4 Pin 7 ('D5' on original schematic) to INS8060 A11 (Moving A11 from previous pin 12 on GAL, to free-up this I/O pin) U4 Pin 6 ('D4' on original schematic) to INS8060 A10 (To allow finer 1kB segment granularity in Memory-map - as on MGH8060GAL) However, with the GAL16V8 only having 8 output-capable pins, and 3 chip select outputs plus 4 upper address-line outputs (A12 to A15 - that I'd previously forgot were actually outputs from this, not inputs! as they are derived from D0..D3 inputs), then there's only a single free output to use for either D-Flag or H-Flag etc. And even though it seems it's possible to remove the nOE dedicated pin (that other, larger GAL's don't have as it seems you can assign most pins for this on those, if required), by using 'Complex' mode on the GAL16V8, then that's still only an Input-pin in alternate function. So now just need to hack the equations and try re-compiling these (with WinCUPL / PALASM?). However, I thought it would be nice to have the capability of more outputs, and I have discovered the not so common GAL18V10, in the same DIL20 package but with two more In/Out pins (and crucially no semi-permanent nOE pin to have to ground). I have found that these are available on Aliexpress and 'Lake store' that I've often used with no issues have them quite cheap (compared to eBay prices even from China) Unfortunately, I have read that the TL866 doesn't support the GAL18V10 - but I've also read that it doesn't support GAL22V10's very well either, when it seems people have been using it to program those OK) But using the GAL18V10 should allow the MGH8060(R) to do about the same as the MGH8060GAL's GAL22V10 (as don't need the GAL to do the serial inversion on this MGH8060(R) one that has an extra Inverter IC). And by not connecting D4 / D5 (unused on MGH8060GAL's GAL22V10 at present?) then can have A10 connection on a spare input, as well. So I think I'll order some to have a try with, as my old Dataman 48XP does seem to support the GAL18V10/B at least / in the meantime try re-configuring the GAL16V8 and slightly re-jigged pin connections. |
|
8th Apr 2024, 3:14 am | #28 | |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
|
Re: MGH8060 full-house SC/MP - support thread
Quote:
Well I managed to hack / combine Realltime's MGH8060R.EQN + Kris's MGH8060GAL equations files to do this, and re-compile / assemble a few days ago (using National Semiconductor's OPALjr suite EQN2JED.EXE) Plus add onto the board a DLY-Flag Yellow LED, along with 1k series resistor - using some holes now empty on (the no-longer fitted) U7 & U8. And this all seems to work OK (surprisingly first-time!) with Yellow 'DLY-Flag' LED flashing when running certain points of the system.. This new version also includes A10 (as well as D7) connected to spare inputs, in order to allow future amended GAL versions to be done, if finer granularity of Memory Blocks mapping is required / Halt-Flag is preferred over DLY-Flag. So I've re-generated the document Ian (Realtime) had attached, updating it (keeping as close as possible to original, but highlighting changes in bold) with all the details (Plus new labelled photos of the links I did - Hopefully visible through the original 'RTV' PCB-safe silicone sealant I'd initially put on these after doing the MGH8060R versions, so had to peel some back a bit). And I've attached it here, along with my new 'MGH8060o' version of the GAL16V8 (or Atmel ATF16V8) version Source + JEDEC-Programming files (+ also EQN2JED & DEVICE.LIB for ease of finding these, although may also need DOSBOX these days on 64bit Windows) - In case anyone else wants to do this on Kris's initial MGH8060 (rather than re-build onto latest MGH8060GAL version PCB with larger DIL24 GAL22V10 IC). Note: I'm still planning to try and update this even-further, using a (Lattice Only) GAL18V10 DIL20 IC, that I've now got some of. In order to give an extra (Halt-Flag etc) Output, as well as the DLY-Flag. But it looks like I need to try using WinCUPL etc, as NS OPALjr EQN2JED.EXE doesn't support the Lattice-Only GAL18V10, without adding this to the DEVICE.LIB file that looks quite difficult to work-out all the bit mappings. Last edited by ortek_service; 8th Apr 2024 at 3:27 am. |
|