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 28th Feb 2024, 2:32 pm   #1
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default MGH8060 full-house SC/MP - support thread

This is a bit awkward as Kris hasnt presented his board yet other than on FB (see attachment) but its generating a lot of interest and so I thought a 'state of play' post might be good. Heres his FB post:
https://www.facebook.com/groups/1330...5777056015902/ and on PCBway https://www.pcbway.com/project/share..._731c2144.html

The MGH8060 is a PCB by Kris Sekula (My Geeky Hobby) to Ronald Dekker's (corrected) SC/MP design in the standard 100x100 format.
Ronalds spec gives us 32k RAM and it runs only NIBL-E and NIBL-FP, in mixed serial formats.

Kris asked me if I'd do a software build for it which I've enjoyed doing.
The first few iterations were done blind as I had no hardware, but when my PCBs arrived from JLC I built one up and it works great.
The serial mismatches in Ronalds build are gone, and everything runs seamlessly at 2400N81.

As we know, both NS Kitbug and KB+ rely on page wrap-around to access page one RAM for stack and variables. This RAM isnt present on Ronalds design which has page zero as all-ROM so the standard MGH8060 menu offers NIBL-E, NIBL-FP or a specific version of KB+ which is copied into high memory and run from there. This isnt ideal since all the monitor routine addresses we know and love are now in high memory - however it does work fine and so the standard MGH8060 image has a boot menu, NIBL-E, NIBL-FP, and KB+ at 7200h.

In parallel to doing the 'standard build' for Kris I modded my board with a gal16v8 replacing the address decoding, which enabled page zero to be split into 2k ROM, 2k RAM which crucially allows NS Kitbug or KitbugPlus to run at its native address of 0000h. The 'copy to 7200' thing works fine where page zero is all ROM, but this is much better. The gal gives total flexibility of the memory map, so we can add a page three variant of Karens PAGE2.SYS in ROM to NIBL-E, and I can put my NIBL-E extensions and the boot menu in ROM.

I sent a spare PCB to Ian (Realtime) and this is where things got real
Ian very cleverly added added the address latch to my simple GAL addressing mod resulting in a more capable and flexible board with fewer chips! Even more amazing was the way it was physically implemented - by moving a few gal pins around Ian managed to get it to fit the LS573 address-latch position on the PCB, with only a couple of track cuts and links
I wont go into specifics as this mod is Ians baby and I'm sure he'll post it here.

The full image files for the standard 'Ronald Dekker' and the 'GAL modded' versions of the PCB are here. These are stable, working images.

The standard image has a boot menu, KB+ in ROM but copied to & run at 7200h, NIBL-E, the NIBL-E extensions, PAGE3.SYS, and NIBL-FP.

The GAL-mod image has a boot menu, KB+ at its native location of 0000h, NIBL-E, the NIBL-E extensions, PAGE3.SYS, and NIBL-FP.

Each image file is a combination of 6 separate items with individual source files, some AS and some SBASM. Not decided how best to present them yet but I will share.

Kris is planning a MK2, its not imminent and will be functionally the same as the GAL-modded existing PCB, so theres no advantage in holding back!

Ian could you post your bit please?

Ta!
Phil
Attached Files
File Type: zip krispost.zip (604.4 KB, 14 views)
Phil__G is offline   Reply With Quote
Old 28th Feb 2024, 8:06 pm   #2
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 320
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by Phil__G View Post
I sent a spare PCB to Ian (Realtime) and this is where things got real

Ian could you post your bit please?

Ta!
Phil
See the attached modification detail for the PCB. Credit to another Ian (Coolsnaz2) who showed me how to latch the data lines and to Phil (you can see some circular references being generated here!) for his GAL16V8 equations which I modified for the new pin layout.

The mod is very easy to do but make sure you cut the tracks on U4 before getting to the point of fitting a socket.
Click image for larger version

Name:	MGH8060 GAL TOP.jpg
Views:	51
Size:	98.9 KB
ID:	293845Click image for larger version

Name:	MGH8060 GAL REWORK ZOOM.jpg
Views:	49
Size:	86.7 KB
ID:	293848

The pdf includes the GAL equations on page 2.

Enjoy!
Attached Files
File Type: pdf Modifying the MGH8060 PCB for GAL address decoding.pdf (412.7 KB, 29 views)

Last edited by Realtime; 28th Feb 2024 at 8:19 pm. Reason: GAL attachment removed
Realtime is offline   Reply With Quote
Old 28th Feb 2024, 9:53 pm   #3
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,298
Default Re: MGH8060 full-house SC/MP - support thread

I like the replacement of the ls573 with the GAL.

Were those three pins supposed to be unsoldered? I don’t think they look isolated, but I saw in the text that they are grounded on the pcb.
Mark1960 is online now   Reply With Quote
Old 28th Feb 2024, 9:56 pm   #4
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 320
Default Re: MGH8060 full-house SC/MP - support thread

No they should have been soldered (as they're not used I didn't solder them whilst I was experimenting and then forgot to finish the job ). Phil also spotted that one
Realtime is offline   Reply With Quote
Old 28th Feb 2024, 10:12 pm   #5
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

My own MGH8060 is modified to produce the same result but uses the GAL only for address decoding, replacing a 138 and a couple of and gates in Ronalds design.
Functionally mine & Ians are identical and run the same software image.
Because I like blinkenlights I extended D4-D7 to the latch and the second connector you can see to the right of the FTDI has a DLY led which indicates whenever
the SC/MP is acting on a DLY instruction. For this I borrowed the redundant RS232 header. Silly but I like it

With PAGE3.SYS in ROM, NIBL-E immediately auto-runs it and PAGE3 presents its own prompt: '*'. If you want bare NIBL-E the PAGE3 command is NIB
resulting in a '>' NIBL-E prompt.
At this point NIBL-E is on page three, which is ROM, so if you want to enter a program, you need to select PAGE=4 followed by NEW because,
as noted by Elektor, NIBL-E doesnt initialise pages - in fact I have a Teraterm 'init' script which simply goes PAGE=2, NEW, PAGE=4, NEW, PAGE=5, NEW etc

NIBL-E itself resides in page one, so useful NIBL-E pages are 2,4,5,6 & 7 but bear in mind if you use PAGE3.SYS (try it, its very good!)
then it uses page one for its symbol table, leaving pages 4-7 for basic programs. I've never seen a multi-page NIBL program!
PAGE3.SYS is entirely optional but well worth checking out, Karen did a great job here but I dont think its been as widely used as it deserves

NIBL-FP is very interesting, it kinda is NIBL but kinda not. Its string handling is unusual, and you'll find its very slow.
It tokenises as each line is entered, so loading programs needs big delays. But thats still better than manually typing!
The syntax is like NIBL with some differences such as PEEK & POKE instead of @, MOD has a different syntax, there are other changes
but it is fun to play with (and novel, given this is a SC/MP!) - give it a try, I have maybe 4 or 5 boards left

.
Attached Thumbnails
Click image for larger version

Name:	IMG_20240209_135957864~2.jpg
Views:	37
Size:	77.6 KB
ID:	293867  

Last edited by Phil__G; 28th Feb 2024 at 10:24 pm.
Phil__G is offline   Reply With Quote
Old 29th Feb 2024, 1:11 pm   #6
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
Default Re: MGH8060 full-house SC/MP - support thread

Thanks to all for the info on this / to Phil for the PCB.
It's now much-clearer what had been done, and for what reasons.

Is there a copy of the pre-compiled GAL .JED file anywhere for this, to save having to install and work out to use the (old DOS?) software to do this?


Whilst starting to insert some of the leaded components to start with in mine, I thought it might be better to use a Unidirectional TVS diode in place of the 1N4002 reverse-protection only 'shunt' diode, to provide some measure against over-voltage (as well as revcerse-polarity). eg a (littelfuse etc) SA5.0A Unidirectional TVS, rated at 5.0V working voltage. It won't start to break down / clamp until a few volts higher than that, but many 5V devices did have an absolute max. of 7V, so it might save some of these if 12V etc. got applied
Although best to have a fuse in-line, as a TVS won't handle clamping at a high-current for very-long. And even if it failed s/c (as suggested in datasheet / diodes often do), the PCB layout has it on a spur so might just end up with track to it burning-out and the rest of the circuitry still exposed to the incorrect supply voltage (I often saw this with CB's etc. with the 1A diode / track to it not handling current from an unfused reverse-polarity supply)
ortek_service is offline   Reply With Quote
Old 29th Feb 2024, 1:19 pm   #7
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

Some time ago Benny (Audiokit) also did a Ronald Dekker build using wire-wrapping, and he recently effected these same memory-map changes with hardware gates - so Benny's board also runs the same KB+, NIBL-E, PAGE3 and FP software. Benny was very helpful in testing the software when it was all done 'blind' as I had no hardware - proost Benny!

Whilst slow to take in anything new, I've learned so much useful stuff over the last few months from members of this group, particularly gals which have been a revelation - thank you !
Cheers
Phil
Phil__G is offline   Reply With Quote
Old 29th Feb 2024, 3:33 pm   #8
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

Hi Owen, rather than post it here where its cast in stone, the assembled JED file is here (where it can be edited):
https://www.mccrash-racing.co.uk/phi...mp.htm#mgh8060
Phil__G is offline   Reply With Quote
Old 29th Feb 2024, 4:00 pm   #9
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 320
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by ortek_service View Post
Is there a copy of the pre-compiled GAL .JED file anywhere for this, to save having to install and work out to use the (old DOS?) software to do this?
See the attached. This is as per the memory map shown on page 2 of the modification document, so page 3 is ROM (i.e allocated to PAGE3.SYS)

[Ahh, Phil's and my posts crossed over, but I'll leave it posted here for completeness as it reflects the modification document detail]
Attached Files
File Type: zip MGH80v2.zip (2.1 KB, 13 views)
Realtime is offline   Reply With Quote
Old 29th Feb 2024, 4:40 pm   #10
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by ortek_service View Post
...I thought it might be better to use a Unidirectional TVS diode in place of the 1N4002 reverse-protection only 'shunt' diode, to provide some measure against over-voltage (as well as reverse-polarity)...
just an observation - I dont fit any of the 'power' components, all my stuff takes its 5v from USB via the FTDI. Likewise I didnt fit any of the RS232 components
Phil__G is offline   Reply With Quote
Old 29th Feb 2024, 8:59 pm   #11
audiokit
Triode
 
Join Date: Jan 2021
Location: Hulst, Netherlands.
Posts: 47
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by Phil__G View Post
Some time ago Benny (Audiokit) also did a Ronald Dekker build using wire-wrapping, and he recently effected these same memory-map changes with hardware gates - so Benny's board also runs the same KB+, NIBL-E, PAGE3 and FP software. Benny was very helpful in testing the software when it was all done 'blind' as I had no hardware - proost Benny!
Hello Phil and all others interested in getting most out of our SC/MP
During our mailings I promised Phil to make a schematic of the glue logic I added to Ronald Dekker's schematic to get all the different flavours run.
I did not have the time yet to draw it neat so I made a sketch of the things I changed, again changing the error's in Ronald's schematic. Sorry I did not use the right symbols for all ports but I added the names of the chips.

I had to do some measurements again to be sure and complete, you see how quick one can forget how it was when not all is neatly drawn during the building of the PCB. I also added a picture of the PCB, it is getting rather full now.

Phil, you thanked me, my turn to thank you for sending new revisions of your programming so quick.

Regards,
Benny
Attached Thumbnails
Click image for larger version

Name:	Schematic Ronald redrawn rev1.jpg
Views:	39
Size:	51.6 KB
ID:	293921   Click image for larger version

Name:	memory map mod kibug+ & page 3.jpg
Views:	31
Size:	54.9 KB
ID:	293922   Click image for larger version

Name:	20240229_203155.jpg
Views:	43
Size:	156.8 KB
ID:	293923   Click image for larger version

Name:	20240229_203207.jpg
Views:	38
Size:	201.7 KB
ID:	293924  

Last edited by audiokit; 29th Feb 2024 at 9:29 pm.
audiokit is online now   Reply With Quote
Old 1st Mar 2024, 3:38 am   #12
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by Phil__G View Post
Quote:
Originally Posted by ortek_service View Post
...I thought it might be better to use a Unidirectional TVS diode in place of the 1N4002 reverse-protection only 'shunt' diode, to provide some measure against over-voltage (as well as reverse-polarity)...
just an observation - I dont fit any of the 'power' components, all my stuff takes its 5v from USB via the FTDI. Likewise I didnt fit any of the RS232 components
Well hopefully you shouldn't get a reverse-polarity supply - Although if the CH340 module was accidentally plugged-in incorrectly, then maybe could end-up with some incorrect-polarity voltage. So no harm in having a TVS etc. that could also help guard against some spikes etc.
I would have put an even beefier 1.5kWpk TVS diode on it, but their leg's diameter was too-large to fit through the holes. I had recently added one of these tho the +5V supply DC-coaxial socket on Chris's replica Softy-2, as I thought it could be quite easy to plug an incorrect PSU into that and cause some damage (especially the INS8O60 & 8154).

Although I noticed I the MAX232 / capacitors weren't on yours. I did fit these as had them to hand, assuming there were links (or remove IC from socket) to change data-path to the pin-header for a USB-Serial module / FTDI cable.etc.
And I thought it may come in use, for stand-alone operation with NV-Memory, to communicate with something like an old terminal.
ortek_service is offline   Reply With Quote
Old 5th Mar 2024, 12:30 pm   #13
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by Phil__G View Post
Hi Owen, rather than post it here where its cast in stone, the assembled JED file is here (where it can be edited):
https://www.mccrash-racing.co.uk/phi...mp.htm#mgh8060

Quote:
Originally Posted by Realtime View Post
Quote:
Originally Posted by ortek_service View Post
Is there a copy of the pre-compiled GAL .JED file anywhere for this, to save having to install and work out to use the (old DOS?) software to do this?
See the attached. This is as per the memory map shown on page 2 of the modification document, so page 3 is ROM (i.e allocated to PAGE3.SYS)

[Ahh, Phil's and my posts crossed over, but I'll leave it posted here for completeness as it reflects the modification document detail]
Thanks for that. I download the MGH8060R.JED and also the 'FULL' 27C512 files from Phil's website and programmed a GAL16B8B & 27C512 EPROM with these. Plus I also assembled the MGH8060 PCB, with Realtime's track-cut and 5 wire links (managing to route these with find 'PCB-mod / wire-wrap' wire so that none had to cross over each other) mods.

With this seemingly working OK, first time, getting:
Quote:
MGH8060 boot menu:
1 = NIBL-E integer tiny BASIC at 1000h
2 = NIBL-FP floating point BASIC at D000h
3 = KitbugPlus monitor at 0000h
However, I had a slight oddity with the included software. When I choose 'NIBL-E', I got:
Quote:
Select OS: 1
*
However, whatever I typed I just got:
Quote:
?WHAT?
So it seemed like NIBL-E was auto-running some existing program.


If I entered G1000 in Kitbug for a Cold Start, then I got the same '*' prompt, with seemingly ?WHAT? always in response to anything typed.

But if I entered NIBL-E it via a 'Warm Start' using G1970 from Kitbug, then I got the standard NIBL '>' prompt (although usually with an initial SNTX ERROR message), and I could type the usual NIBL BASIC commands.
Plus I was able to try some of Phil G's NIBL extensions using LINK #82xx (although need to try attaching a speaker). And also need to work out the right "POKE's" to switch on LED on the 8255, to test that.

When I then tried entering PAGE=3 and RUN, for 'PAGE3.SYS', I discovered I got the '*' prompt and this was actually expecting PAGE3.SYS commands, like 'DIR' - although I seem to get long lines of rather random characters.
And then get back to NIBL-E, by typing 'NIB' (Although sometimes I've seemingly had this lock-up and not return).


So I believe this is actually all working OK - once I'd worked out that NIBL-E was autoruning PAGE3.SYS !

Although if I go onto NIBL-FP and type LIST, I get
22446TO2TO!5TO 1TOSPCSPCTOSTR$~TO1TO05SIN<=TOPAUTd
-26599~TOSPCSPCTO
-13825d@PAGd@5GOSUBTOSTR$ASTR$:TOXSTRTOSTR$+kTOSTR$ dTOSTR$AUTO>=dTO4`READATOPSTR$TOzSTR$TOjSTR$eTOMOD STR$
and it then seems to crash (even if I type 'NEW' first).

So I'm not quite sure what's happening there / if I need to clear Memory first (via a Power-cycle?), as RAM is holding previous contents from PAGE3.SYS getting loaded into this? - Although this still seems to happen after disconnecting the power for a short period.

Last edited by ortek_service; 5th Mar 2024 at 12:48 pm.
ortek_service is offline   Reply With Quote
Old 5th Mar 2024, 2:15 pm   #14
audiokit
Triode
 
Join Date: Jan 2021
Location: Hulst, Netherlands.
Posts: 47
Default Re: MGH8060 full-house SC/MP - support thread

If you get the "what" statement, that is a sign that Karen's page 2 is running. And indeed it is running automaticly when you start NIBL-E and there is a program in the page behind it.
Page 2 uses different command's then NIBL-E so every time it does not understand your NIBL-E command, it will state "What"

The only commands PAGE 2 understands are: NIB, DIR, DMP, CHM, SAV, LOD, PRN, ASM. If you try DMP #4000 does it show the hex code from address 4000 and further?

Regards, Benny
audiokit is online now   Reply With Quote
Old 5th Mar 2024, 6:25 pm   #15
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

Indeed, the full image has Karens PAGE3.SYS which auto-runs as Karen intended, presenting a '*' prompt
so if you want raw NIBL-E, type
NIB
which returns to to NIBL-E but still in page three which is ROM
If you want to enter a program (Calendar.bas is a good example) then you need to select a read-write page such as
PAGE=4
and then
NEW
(because as noted by Elektor, NIBL-E doesnt initialise pages)
(also note that a PAGE3.SYS command 'DIR' will show garbage page headings from uninitialised pages)

Then away you go with NIBL-E. Typical (generous) Teraterm load delays are 20ms character and 300ms line.
Sounds a faff but page three is a great system well worth having in ROM

NIBL-FP also doesnt initialise pages. If you power up, go to NIBL-FP (or NIBL-E) and type LIST, you could get anything!
This is normal, just a consequence of the way NIBL works - always start with NEW.

To avoid the uninitialised pages causing problems, I have a Teraterm script which goes
PAGE=2, NEW, PAGE=4, NEW, PAGE=5,NEW, PAGE=6, NEW, PAGE=7, NEW

Cheers
Phil

Last edited by Phil__G; 5th Mar 2024 at 6:39 pm.
Phil__G is offline   Reply With Quote
Old 6th Mar 2024, 2:40 am   #16
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by audiokit View Post
If you get the "what" statement, that is a sign that Karen's page 2 is running. And indeed it is running automaticly when you start NIBL-E and there is a program in the page behind it.
Page 2 uses different command's then NIBL-E so every time it does not understand your NIBL-E command, it will state "What"

The only commands PAGE 2 understands are: NIB, DIR, DMP, CHM, SAV, LOD, PRN, ASM. If you try DMP #4000 does it show the hex code from address 4000 and further?

Regards, Benny
Thanks for the info. Yes, as I'd said I'd eventually realised that 'Page2' (Now 'Page3' on this one) was in fact running, once I'd got the same '*' prompt & ?WHAT? response when I did actually call it from NIBL(FP) by setting PAGE to '3' and then running that.

And luckily Realtime had the Page3 commands summarised in page3 area of the table of the '27C256' (Actually 27C512, as need to be able to map in any page within full 64K space) Software Load, he'd attached here in post #2:
https://www.vintage-radio.net/forum/...6&d=1709146908

Although that hadn't mentioned needing '#' in front of addresses for 'DMP' etc. so I may not have guessed that - especially as address in this are prefixed with '$' which is maybe more conventional (of the many conventions) for hex.
- DMP 4000 (Without the #) dumps 0FA0 onwards, so is assuming decimal and converting it to hexadecimal.
Whereas DMP #4000 (=RAM), typically gives:
4000 00 00 00 FF ...
4004 10 7D 00 00 .}..
4008 00 00 00 FF ...
400C 92 FF 00 00 ...
4010 00 00 08 FF ...

With other RAM pages giving similar, as Bytes weren't being initialled to 00 / FF.

BTW, I discovered Crtrl+C was required to escape out of DMP moving onto next 12 rows of 3 Bytes, at each <CR> sent.
Whereas I was expecting a more conventional back then? Quit / Exit etc.
ortek_service is offline   Reply With Quote
Old 6th Mar 2024, 3:49 am   #17
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by Phil__G View Post
Indeed, the full image has Karens PAGE3.SYS which auto-runs as Karen intended, presenting a '*' prompt
so if you want raw NIBL-E, type
NIB
which returns to to NIBL-E but still in page three which is ROM
If you want to enter a program (Calendar.bas is a good example) then you need to select a read-write page such as
PAGE=4
and then
NEW
(because as noted by Elektor, NIBL-E doesnt initialise pages)
(also note that a PAGE3.SYS command 'DIR' will show garbage page headings from uninitialised pages)

Then away you go with NIBL-E. Typical (generous) Teraterm load delays are 20ms character and 300ms line.
Sounds a faff but page three is a great system well worth having in ROM

NIBL-FP also doesnt initialise pages. If you power up, go to NIBL-FP (or NIBL-E) and type LIST, you could get anything!
This is normal, just a consequence of the way NIBL works - always start with NEW.

To avoid the uninitialised pages causing problems, I have a Teraterm script which goes
PAGE=2, NEW, PAGE=4, NEW, PAGE=5,NEW, PAGE=6, NEW, PAGE=7, NEW

Cheers
Phil
Thanks Phil, for the detailed explanations.

I hadn't realised that on this system NIBL-FP (and NIBL-E, once I'd got into it), were defaulting to program space being in the ROM.
- So 'NEW' or entering programs wasn't working, as it couldn't write there!



I found that NIBL-FP defaults to PAGE=1, which is where NIBL-E is stored on this 'FULL' version of the EPROM / GAL address decoder for it.

Whereas I presume if NIBL-FP had been used by itself (with no NIBL-E in the ROM / address decoding selecting RAM there), then that would have worked OK without changing the PAGE setting from default.

Although I'm not sure of the origins of NIBL-FP, and if has been relocated to $D000 (from $0000 for NIBL / $1000 for NIBL-E). Or if the default Program-space PAGE has been amended on this - It probably can't really be PAGE=3, to run Page3 program in ROM, as that would be stored in standard NIBL format rather than Tokenised NIBL-FP format.
But maybe it could have been set to PAGE=2 (or 4), if that is RAM on this.


I also found that NIBL-E defaults to PAGE=3, which is where Page3 is now stored on this 'FULL' version of the EPROM / GAL address decoder for it.
So I wonder if this was amended on this version of NIBL-E, so that Page3 would auto-run?
- Otherwise maybe it could have been set to PAGE=2 (or 4), if that is RAM on this.


One thing that is slightly confusing me is why Page2 program needed moving / renaming to Page3, if $2000-$2FFF ROM space isn't used - and the current 'FULL' version GAL maps RAM there (but nothing defaults to using that page)


Another odd thing I've found is that 'NEW' doesn't seem to do much, as a selected RAM PAGE (eg 2 or 4) doesn't seem to have its contents cleared to FF's - only a spacial header put at the start?
Although when I tried that then for PAGE=4, I got
4000 00 0D FF FF ..
4004 10 7D 00 00 .}..

but when I tried this with PAGE=2, I got:
2000 00 00 00 FF ...
2004 00 00 00 00 ....
(Using Page3 DMP routine to examine these areas, after previously setting page and doing a NEW from within NIBL-E).
ortek_service is offline   Reply With Quote
Old 6th Mar 2024, 11:18 am   #18
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by ortek_service View Post
Although that hadn't mentioned needing '#' in front of addresses for 'DMP' etc. so I may not have guessed that - especially as address in this are prefixed with '$' which is maybe more conventional (of the many conventions) for hex.
- DMP 4000 (Without the #) dumps 0FA0 onwards, so is assuming decimal and converting it to hexadecimal.
Thats just standard NIBL Owen, Nat Semis chose to designate a hex number or address in NIBL with '#'
Quote:
Originally Posted by ortek_service View Post
BTW, I discovered Crtrl+C was required to escape out of DMP moving onto next 12 rows of 3 Bytes, at each <CR> sent.
Whereas I was expecting a more conventional back then? Quit / Exit etc.
Karens document says to terminate DMP with a 'dot' owen, but ctrl/C will do it too https://www.vintage-radio.net/forum/...5&d=1596936267
Quote:
Originally Posted by ortek_service View Post
I also found that NIBL-E defaults to PAGE=3, which is where Page3 is now stored on this 'FULL' version of the EPROM / GAL address decoder for it.
So I wonder if this was amended on this version of NIBL-E, so that Page3 would auto-run?
Yes, that was an intentional change to preserve NIBL behaviour (and the PAGE3.SYS concept)
Quote:
Originally Posted by ortek_service View Post
One thing that is slightly confusing me is why Page2 program needed moving / renaming to Page3, if $2000-$2FFF ROM space isn't used
mainly because PAGE3.SYS uses page 1 for its symbol table, but also, again, to preserve the way NIBL operates, but 'one page up' (as with everything NIBL-E)
Quote:
Originally Posted by ortek_service View Post
Another odd thing I've found is that 'NEW' doesn't seem to do much, as a selected RAM PAGE (eg 2 or 4) doesn't seem to have its contents cleared to FF's
NEW simply puts a terminator at the start of the page, it doesnt overwrite page content, which is why you can 'recover' a NEW'd program.
The terminator budges up as you enter new lines.
All these traits are documented, Karens PAGE2.SYS doc is here and the NIBL Reference Guide, cribsheet, etc is here but add 1000h to any addresses!
Also in the PICLv2 document I did a section on NIBL explaining how lines are stored in memory, but remember this talks about NS NIBL so add 1000h
Beware in NIBL-E page two is 'different' to every other page, as thats where NIBL-E stores its variables, line buffer, etc. (same goes for NS NIBL but in page 1)
Where other pages start at 3000h, 4000h, 5000h, 6000h & 7000h, NIBL-E page two listing starts at 2120h (the equivalent for the original NIBL is page one which starts at 1120h)
Cheers
Phil

Last edited by Phil__G; 6th Mar 2024 at 11:34 am.
Phil__G is offline   Reply With Quote
Old 6th Mar 2024, 12:46 pm   #19
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,444
Default Re: MGH8060 full-house SC/MP - support thread

Quote:
Originally Posted by Phil__G View Post
>>
>>
Beware in NIBL-E page two is 'different' to every other page, as thats where NIBL-E stores its variables, line buffer, etc. (same goes for NS NIBL but in page 1)
Where other pages start at 3000h, 4000h, 5000h, 6000h & 7000h, NIBL-E page two listing starts at 2120h (the equivalent for the original NIBL is page one which starts at 1120h)
Cheers
Phil
Thanks for the info.

I later read on Chris's NIBL page: http://www.theoddys.com/acorn/acorn_.../nibl/nibl.htm

That ?NIBL-E used page 2 for workspace. A;though it wasn't too clear whether it could still be used for Program space / how much of it was left.


I also found NS's reference guide to NIBL, so discovered how to do a 'POKE' in this. However, I can't get this to turn on the LED:
10 LET @#A003=0
20 LET @#A000=1

Whereas if I do similar with Kitbug+:
MA003 00 <00> Entered
MA000 00 <01> Entered
that does work OK.
ortek_service is offline   Reply With Quote
Old 6th Mar 2024, 4:39 pm   #20
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,122
Default Re: MGH8060 full-house SC/MP - support thread

You dont have the 'mode set' flag set Owen (mode definition word bit 7), so it wont go into 'output' mode.
Try:
10 LET @#A003=#80
20 LET @#A000=1

Page two starts at 2120h so you have 3.8k to play with in page two - almost a full 4k page
NIBL-E uses 2000h to 211Fh for variables, line buffer, stack etc but above 2120h its all yours
Attached Thumbnails
Click image for larger version

Name:	mode8255.jpg
Views:	16
Size:	28.6 KB
ID:	294295  

Last edited by Phil__G; 6th Mar 2024 at 4:49 pm.
Phil__G is offline   Reply With Quote
Reply




All times are GMT +1. The time now is 6:56 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 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.