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 10th Apr 2024, 9:15 pm   #41
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

More progress to report, with changes to the Get Effective Address macro the 2019emu now running pretty much anything anywhere in memory, using the S command fast serial loader, it loads & runs KtbugPlus, NIBL, NIBL-E, all the NIBL programs I've tried, the machine-code games like Life & such all org'd at different addresses in different pages, all the backward-reference things seem to be working ok.
Almost perfect
However...
One remaining oddity is that to run NIBL-E I have to enter G1001 rather than 1000 so the changes to 'get effective address' are not yet 100%. This seems to happen only on a page boundary 1000h, 2000h, etc
Much better, quite usable as a very cheap general purpose 32k SC/MP, but still a WiP
Cheers
Phil

Last edited by Phil__G; 10th Apr 2024 at 9:28 pm.
Phil__G is offline   Reply With Quote
Old 10th Apr 2024, 10:02 pm   #42
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,301
Default Re: Karen's most recent SC/MP

Were you able to keep the cycle times correct with those mods?

I was wondering if it might be worth trying a PIC16F18877. This is still in active production, has a 32MHz internal oscillator, which might allow the cycle time to be padded to match the 8060 cycle times. Then maybe a TQFP44 part on an adapter pcb to 40 pin DIL could be made to look like a 40 pin chip.
Mark1960 is online now   Reply With Quote
Old 10th Apr 2024, 11:08 pm   #43
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

Unfortunately not as theres more code in there Mark, but once its sorted I could look at that, the 2400 serial terminal & fastloader timings are unchanged and they work fine.
These problems would be exactly the same in a 18877 so I'd like to get this fully functional first before moving on
The remaining problem is generic, cos rebooting from NIBL-E needs a LINK 1 rather than the expected LINK 0.
That said, at least it is quite usable now, all over the memory map it runs everything I've thrown at it
Again its only fair to say that in its intended guise, ie a 32k NIBL computer, the original software is fine
Cheers
Phil
Phil__G is offline   Reply With Quote
Old 10th Apr 2024, 11:24 pm   #44
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,457
Default Re: Karen's most recent SC/MP

Quote:
Originally Posted by Mark1960 View Post
>>

I was wondering if it might be worth trying a PIC16F18877. This is still in active production, has a 32MHz internal oscillator, which might allow the cycle time to be padded to match the 8060 cycle times. Then maybe a TQFP44 part on an adapter pcb to 40 pin DIL could be made to look like a 40 pin chip.
I also wondered if a higher pin-count PIC might also allow the implementation of some / all of the currently-absent (nENIN, nENOUT, nBREQ, nHOLD, CONT, nADS ?) pin functions. But unfortunately it seems the 44pin SM packages just have the extra 4 pins as NC / extra power & Gnd.

I did also see that some of the newer PIC16F19xxx? PIC's featured on Microchip's PIC webpage have built in Logic-Blocks, which may be useful in providing some functions in h/w for speed. But these were all in lower pin-counts of only upto 20pins?

And I don't think they make a PIC16F (or PIC18F?) with more pins / GPIO's. So would have to go to the rather-different PIC24F family to get those
- Or to an ARM / ESP32 etc uC, which would provide plenty of I/O's but a rather large job of porting the assembler across (especially getting the cycle times right!)
ortek_service is offline   Reply With Quote
Old 11th Apr 2024, 2:36 am   #45
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,301
Default Re: Karen's most recent SC/MP

PIC16F18877 makes two more pins available for RA6 and RA7 as the external crystal is not required.
Mark1960 is online now   Reply With Quote
Old 11th Apr 2024, 2:47 am   #46
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,301
Default Re: Karen's most recent SC/MP

What is the issue with Link 0? Is it caused by the emulation executing the halt instruction that is often placed at the beginning of the page. The 8060 needs external hardware to implement halt.
Mark1960 is online now   Reply With Quote
Old 11th Apr 2024, 3:18 am   #47
ortek_service
Octode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,457
Default Re: Karen's most recent SC/MP

Quote:
Originally Posted by Mark1960 View Post
PIC16F18877 makes two more pins available for RA6 and RA7 as the external crystal is not required.
Well that might allow nADS at least.

But would the 32MHz internal oscillator be accurate enough, to not require an external crystal? (Especially if wanting to use a VDU with it?)
(Maybe there is some factory-trimming on these / temperature stability & ageing isn't too bad on these. Internal oscillators used to often only be 1% at best, which was OK for Serial Comms at least)
ortek_service is offline   Reply With Quote
Old 11th Apr 2024, 8:48 am   #48
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,301
Default Re: Karen's most recent SC/MP

Once you get NADS working you free up four address lines to use for other functions, assuming those four address lines can then be multiplexed on the data. This is probably not going to be easy to implement.

I was wondering if the 12 bit pointer wrap around might be implemented by using a different register in the PIC for the upper four bits of each pointer. This might save a few instructions compared to manipulating the upper four bits of a register.
Mark1960 is online now   Reply With Quote
Old 11th Apr 2024, 10:34 am   #49
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

Quote:
Originally Posted by Mark1960 View Post
What is the issue with Link 0?
In a nutshell, its me adding 12-bit "effective address" code to try to better emulate a real SC/MP. Its either correcting overenthusiastically or I've missed a case elsewhere where it also needs to be done WiP. Its all related to pointer 12-bit wrap-around and calculating 12 bit effective-addresses whilst maintaining the high nibble.
Phil__G is offline   Reply With Quote
Old 15th Apr 2024, 6:26 pm   #50
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

To get this thread back on topic , ie Karens most recent 2019 NIBL computer, I've just updated the zipfile again: https://www.mccrash-racing.co.uk/phi...picl.htm#k2019
Summary - both BASYS and the disassembler now include a serial fast-loader (full 2400 binary, no delays) and m/code I/O to speed things up. I've also done a version of the NIBL Toolkit for it, relocated to 0x7400 and with the printer routines disabled (theres no SOUT on the PIC). The emulator itself has NIBL at 2400 with the 'bit7 GECO bug' fixed. The PIC runs at 20Mhz which equates to a 4Mhz SC/MP II and NIBL's Flag zero is inverted internally so no external inverter.
Bugfixes: fixed the DAD macro which broke the emulation of DAE and DAI instructions, & the CSA instruction which corrupted STAT. Note Karens diagram shows SenseA grounded - I assume this is a typo, I've left it open.

I was thinking about the price of genuine SC/MP chips now and concluded that Karens two-chip NIBL computer is a very cheap, totally viable alternative to a full SC/MP system like the MGH8060, the Ronald Dekkers and the "SC/MP II Max" - so quick & easy to build and having NIBL, a monitor, disassembler, & the toolkit make it genuinely practical. It just might be my favourite of all Karens gems, I even cased it!
Cheers
Phil
Attached Thumbnails
Click image for larger version

Name:	IMG_20240415_182418690.jpg
Views:	58
Size:	89.9 KB
ID:	296417  
Phil__G is offline   Reply With Quote
Old 15th Apr 2024, 6:52 pm   #51
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,301
Default Re: Karen's most recent SC/MP

SenseA grounded is probably deliberate to avoid leaving it floating input on the PIC. I know interupts are not supported but if they were then SenseA would be active high.
Mark1960 is online now   Reply With Quote
Old 20th Apr 2024, 2:27 pm   #52
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

I've added an 'OLD' command to BASYS on the KO2019, this is the opposite of NEW and can be used to restore programs after NIBL has cleared a page. I use a 32k NVRAM on the KO2019 which retains programs, but on power-up NIBL still 'clears' its pages.
In fact NIBL overwrites only the first line number (two bytes) and the line length (one byte) on each page, and this is what the OLD command recalculates & inserts.
For familiarity I keep BASYS in page 5, and so I have a simple Teraterm script to restore page 5 (though sometimes I type it manually):
Code:
@#5002=0
@#5003=1
@#5004=57
Once BASYS is restored, any other pages can be restored using the O (Old) command.
As usual, much, much quicker & easier to do than to describe, sounds faffy but takes seconds...

https://www.mccrash-racing.co.uk/phi...picl.htm#k2019
Phil__G is offline   Reply With Quote
Old 21st Apr 2024, 11:54 pm   #53
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

Two versions of John Conway's 'Life' for the KO2019, load to #6200 using the BASYS S command with Teraterm set to binary with no delays.
Alt-B to break back to NIBL:
Attached Files
File Type: zip life_KO2019.zip (1.1 KB, 17 views)
Phil__G is offline   Reply With Quote
Old 23rd Apr 2024, 10:25 pm   #54
Phil__G
Octode
 
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 1,127
Default Re: Karen's most recent SC/MP

This version loads to #1120 in PAGE 1 and lists as a pretend NIBL program, it asks for one keyboard character which it uses as a seed for a randomish starting pattern. It loads using the BASYS S command to #1120 followed by PAGE=1 and RUN.
(Just trying to generate some interest here...)
Attached Files
File Type: zip life_k02019_p1.zip (5.7 KB, 9 views)
Phil__G is offline   Reply With Quote
Reply




All times are GMT +1. The time now is 9:04 am.


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.