Small Computer Monitor v1.0

1,442 views
Skip to first unread message

Steve Cousins

unread,
May 3, 2018, 4:25:15 PM5/3/18
to RC2014-Z80
The Small Computer Monitor has reached the "v1.0" milestone. Download here: www.scc.me.uk

Recent additions:

Console I/O via RST $08, $10, $18 for compatibility with BASIC etc.
Software selectable baud rates (where available)
ROM filing system
Optional MSBASIC (if 16k or more ROM available)
Optional CP/M loader (if 16k or more ROM available)
Documentation now includes an installation guide as well as a user guide and tutorial

The LiNC80 SBC1 is an expandable single board computer kit. Even without any expansion the SBC1 is a well specified retro computer. It includes a Z80 processor, 64k ROM divided into four software selectable banks, 64k RAM, two serial ports via a Z80 SIO, two parallel ports via a Z80 PIO, software selectable baud rates and timers via a Z80 CTC, an 8-bit IDE interface for connecting a Compact Flash module, and full support for Z80 mode 2 interrupts. In addition to all these features it has an expansion bus, with optional modules including a backplane and an adaptor for RC2014 boards. The system is well documented and is supplied as a kit with a detailed assembly guide online.

Tom's SBC has been discussed on this group already, here (https://groups.google.com/forum/#!topic/rc2014-z80/IFkzQh3bHhY)

The monitor now supports software selectable baud rates, but sadly the standard RC2014 kits do not have this feature.

The ROM filing system allows additional files to be included in the ROM. These can be programs, data or help text. These files are automatically integrated into the Monitor, providing an easy way to extend its functionality. 

There are 3 builds of SCMonitor for the RC2014:

1/ 8k ROM for all standard RC2014 systems. This is just the machine code monitor.

2/ 16k ROM for paged ROM board and 64k RAM board, set for 16k ROM, 48k RAM. This includes MSBASIC. Launch BASIC from the Monitor with the command BASIC (cold start) or WBASIC (warm start). Return to the monitor with BASIC's "Monitor" command. This set up does not have the BASIC "hanging, waiting for a key press" problem experienced when using the SIO board with standard ROM BASIC.

3/ 32k ROM for paged ROM board and 64k RAM board, set in paged mode (as it is for CP/M). This build includes MSBASIC and also a CP/M loader (command CPM). Actually this only takes 16k of ROM space, so there is room to add more using the Monitor's ROM filing system.


As previous versions, the Monitor includes a capable debugging environment with the following features:

Boot loader to load Intel HEX files from a PC or similar
Memory display and editing
Register display and editing
In-line disassembler
In-line assembler
Breakpoint debugging
Single step debugging (without the need for special hardware)

The hex loader can keep up with flat out 115200 baud so no need to set delays between characters or have hardware handshaking. The result is that very few programs take more than a couple of seconds to load, making it very convenient.

Details and download at www.scc.me.uk

Steve

Jon Langseth

unread,
May 3, 2018, 4:30:07 PM5/3/18
to RC2014-Z80
Congratulations on the release announcement, Steve. And thank you for the significant work that went into the step to version 1.0.0!

I have been fortunate to be able to work with Steve on this, and can happily say that this version is well thought out, and also well tested.

Marten Feldtmann

unread,
May 5, 2018, 7:11:08 AM5/5/18
to RC2014-Z80
How do I create bin files from the hex fies ?

Marten

Steve Cousins

unread,
May 5, 2018, 7:21:42 AM5/5/18
to RC2014-Z80
Interesting question.

Does your programmer not support hex files? I thought that was pretty universal.

Google turned up this:

I can output binary files from SCWorkshop but it is currently disabled as it needs a bit of work to cope with different ROM sizes. 

If you can't find an easy solution, post again and I'll sort SCWorkshop and generate the files for you.

Steve

Jon Langseth

unread,
May 5, 2018, 9:05:09 AM5/5/18
to RC2014-Z80
If you are on Linux or macOS, use srec_cat


If you are on Windows, I'm not sure what would be the best solution. My approach if I ever need a BIN from a HEX on Windows, is to use the software for my MiniPro TL866 to load the HEX, and save it out as BIN.

Mark Bramwell

unread,
May 5, 2018, 9:59:33 AM5/5/18
to RC2014-Z80
FYI:  I found the srec_cat program as part of the srecord package.

On my Linux computer (Centos 7.4+), I typed the following to install it:

   yum install srecord

On my debian machine, I typed:

   apt-get install srecord

Interesting that Centos had a newer version.  Usually the Ubuntu/Debian crowd tend to be on the bleeding edge of software.

Marten Feldtmann

unread,
May 5, 2018, 10:41:03 AM5/5/18
to RC2014-Z80
By the way - SCWorkshop works here under Wine 2.0 under Ubuntu 16.04 (Mont 18.3).

 Marten

Steve Cousins

unread,
May 5, 2018, 5:09:45 PM5/5/18
to RC2014-Z80
Thanks Marten

I've had a couple of reports from others who have successfully run SCWorkshop on their Linux systems. 

It is good news getting further confirmation of compatibility. 

The emulation provided by Wine is amazingly.

Steve

Marten Feldtmann

unread,
May 15, 2018, 2:46:08 PM5/15/18
to RC2014-Z80
The good thing now is ... I bought some 332K EEPROMs and burned  one ic with the 1.0 version and I can boot CPM at once, no problems at all ... cool and thank you !


Marten

ZO...@gladucalled.com

unread,
May 22, 2018, 12:35:10 AM5/22/18
to RC2014-Z80
Can't wait to try it out.  Will the monitor/Basic version run w/ 32K ROM and 32K RAM?  Rom at 0x000.

Steve Cousins

unread,
May 22, 2018, 2:20:08 AM5/22/18
to RC2014-Z80
Yes, SCMonitor will run with 32k ROM and 32k RAM.

Build R1 is just SCMonitor and requires 8k ROM starting at 0x0000 and 32k RAM starting at 0x8000.

Build R3 is SCMonitor plus MSBASIC plus CPM loader and requires 32k ROM starting at 0x0000 and 32k RAM starting at 0x8000. This configuration allows up to 16k of extra apps to be added to the ROM. 

Build R4 is SCMonitor plus MSBASIC plus CPM loader and requires 16k ROM starting at 0x0000 and 32k RAM starting at 0x8000.

Steve

mbrooks

unread,
May 25, 2018, 7:17:31 AM5/25/18
to RC2014-Z80
Hi Steve
Loaded your software RC2014 R3 build into eprom. It works ok with RC2014 sio board and cpm sio image on CF card. However when i switch to the RC2014 sio2 board and cpm sio2  image on CF card, i get to the A> prompt then it hangs until reset.Basic appears to work fine in both versions. i am using paged rom board which appears to work correctly.
Don't know what to do next.

Michael

Steve Cousins

unread,
May 25, 2018, 8:23:32 AM5/25/18
to RC2014-Z80
Hi Michael

I'm not actually sure what you mean.

If you mean SIO port B does not work in CP/M, the output below was achieved by installing CP/M, selecting SIO port B and then starting CP/M. All done with the software included in the most recent distribution: SCWorkshop017+SCMonitor100.

On the other hand, you appear to be talking about two different SIO boards ("SIO board" and "SIO2 board") and two versions of CP/M. If your first reference is to the 68B50 ACIA serial board, then you would be saying the dual serial SIO/2 board does not work with CP/M. After doing the above test I restarted and ran CP/M from SIO port A without a problem.

My tests are using the version of CP/M included in the above mentioned software distribution.

It is worth noting that once you start CP/M the RC2014 no longer uses SCMonitor and instead replaces all the serial code with its own code. It is therefore very important to use the correct CP/M version.

If the above does not help, please supply more info and I'll be happy to try and help.

Steve

Small Computer Monitor - RC2014
*
>>> DOWNLOADED CFFORMAT...
*Ready

*
*g8000
Compact Flash card format v0.4 by Stephen C Cousins

Card size: 16MB

Number of logical drives to format: 2

WARNING: Format will erase all data from the card
Do you wish to continue? (Y/N)

Formatting drives: AB
Verifying drives:  AB

Formatting complete
*
>>> DOWNLOADED PUTSYSPLUS for RC2014 SIO
*Ready

*
*g8000
CP/M System Transfer by G. Searle 2012
........................
System transfer complete
*
*
*console 2

*
*
*cpm

RC2014 CP/M BIOS 1.2 by G. Searle 2007-18

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>
A>
A>
A>
A>dir
No file
A>

mbrooks

unread,
May 26, 2018, 5:53:01 AM5/26/18
to RC2014-Z80
Hi Steve Followed your advice in previous post.
1: Used CF_128_code8000.hex to format 128mb Sandisk flash card result formatting complete.
2: Used PutSys_RC2014_SIO_CF128_code8000.hex result system transfer complete(CP/M System Transfer by G. Searle 2012)
3: Console 1 select SIO Port A
4: *CPM result RC2014 CP/M BIOS 1.2 by G. Searle 2007-18/ CP/M 2.2 Copyright 1979 (c) by Digital Research
5: Got A> now no longer responds to keyboard. Am i missing something? Using TeraTerm for communication.

Michael

Steve Cousins

unread,
May 26, 2018, 6:24:31 AM5/26/18
to RC2014-Z80
Hi Michael

What you have done should work.

The difference once CP/M starts is that CP/M has its own serial port drivers. These use interrupts and hardware flow control. 

Have you tried using the RC2014 standard ROM version of BASIC and CP/M loader, which essentially uses Grant Searle's code. This code also uses interrupts and hardware flow control.

If the standard ROM doesn't work either, then check the serial port handshaking and also the interrupt line and IEI to the SIO.

If the standard RC2014 ROM works but loading using SCMonitor doesn't then I'll have to do some thinking.

Steve

Jon Langseth

unread,
May 29, 2018, 5:26:40 PM5/29/18
to RC2014-Z80


On Saturday, May 26, 2018 at 12:24:31 PM UTC+2, Steve Cousins wrote:
Hi Michael

What you have done should work.

The difference once CP/M starts is that CP/M has its own serial port drivers. These use interrupts and hardware flow control. 

Have you tried using the RC2014 standard ROM version of BASIC and CP/M loader, which essentially uses Grant Searle's code. This code also uses interrupts and hardware flow control.

I'm also confused on this. It sounds like "our" old flow control issue, but that was resolved well before the release of 1.0.0. As the CF card was prepared with the correct putsysplus, there  really is no reason why it should work correctly up to the loading of CP/M.

As the CP/M CBIOS installed by putsysplus is fully compatible with Grant Searle's Monitor/Loader, testing to boot from that would be my suggestion too.
Either that, or check your serial terminal program and see if changing to or from Hardware Flow Control (CTS/RTS) changes anything.

Jay Cotton

unread,
Jul 2, 2018, 6:29:22 PM7/2/18
to RC2014-Z80
Hi Steve:

I built a new 64k pageable rom board and was able to get the monitor running on it.  There is still an issue with the ram board.  Had to pull out the
lower 32k chip and pull the page wire to get the code running.  It will run basic that way, but I did not try to boot cpm.  (no low ram)  
I still have some debugging to do on that set of h/w.  

jc

Steve Cousins

unread,
Jul 2, 2018, 6:49:38 PM7/2/18
to RC2014-Z80
Jay, glad to hear SCM is useful.
Steve

ZO...@gladucalled.com

unread,
Jul 11, 2018, 4:00:49 AM7/11/18
to RC2014-Z80
Hi Steve C,

I was poking around in the SCM program.  Very nice. Well documented.  Can't wait to run it.

I had a thought about a debug feature.  (I know you have nothing to do.)  What about a card that will generate and NMI when writing to ROM?  It could catch code running out into the weeds.  Just a thought.

BTW, does the Z80 have a Simulate Interrupt instruction?  Interdata minicomputers had a SINT instruction.

Richard Deane

unread,
Jul 11, 2018, 6:13:36 AM7/11/18
to RC2014-Z80
Would be nice to have J B Langston's Z80ctrl card being able to watch and profile ROM/RAM access, even better to have the memory access profile graphed on a little screen (there are many Arduino friendly ones) 

Steve Cousins

unread,
Jul 11, 2018, 6:14:17 AM7/11/18
to RC2014-Z80
Hi Steve M (ZORAk)

You don't need to catch "code running out into the weeds", you just need to write code that works first time. LOL.

Seriously, that's an interesting idea to use NMI to catch bad code.

Alternatively you could use an Intel i9 processor to monitor the Z80 bus and have AI software spot duff code and correct it in real time. Problem solved.

As for a Simulate Interrupt instruction, not really. There is the Restart instruction. A single byte instruction which calls one of 8 fixed addresses. One of these addresses is 0x0038, which is the mode 1 interrupt handler. But it does not simulate an interrupt in any meaningful way.

Steve (C)







On Wednesday, 11 July 2018 09:00:49 UTC+1, ZO...@gladucalled.com wrote:

Alan Cox

unread,
Jul 11, 2018, 6:45:59 AM7/11/18
to rc201...@googlegroups.com
> Alternatively you could use an Intel i9 processor to monitor the Z80 bus and
> have AI software spot duff code and correct it in real time. Problem solved.

Not quite an AI but in all seriousness by the later 8bit days there
were boards that plugged into things like the ZX Spectrum edge
connector and a PC. The PC end you could set breakpoints, trace
instructions (in real time), measure the clocks between A and B etc as
well as upload/download chunks of or all of RAM. Nowdays I suspect you
can do that with a Raspberry PI although you'd need access to a few of
the other bus pins so you can hold the CPU off the bus.

ZO...@gladucalled.com

unread,
Jul 11, 2018, 1:23:17 PM7/11/18
to RC2014-Z80
Hi Allen,

Does anyone remember In-Circuit Emulators (ICE's)?  You pulled out the Z80 and popped the 40-pin adapter into the socket.  Slicker than snot on a door knob.  Blew me away at the time.  Micro-somebody made a bunch of them.  Microtek??  You had to get a base unit and the Z80 "pod."
I looked for them on ebay but just found pieces.  Not cheap either.

Hi Steve,

The only thing I miss with micros is a Memory Management Unit (MMU).  Hence my interest in poking around with "traps."  But I am sure your debugger does the job quite nicely. 

Spencer Owen

unread,
Jul 11, 2018, 1:42:44 PM7/11/18
to rc201...@googlegroups.com
Remember them? I've got... ahem... a few of them :-) 2 Adtek ICE Engines and a ZAX In-Circuit Debugger.

I need to get some special cables made up for the Adtek devices to connect to the Z80 pod, although the ZAX works fine (well, up to 3.6844MHz. Falls over a lot at 7.3728MHz, despite claiming to work up to 8MHz)

Spencer 

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/cf3d9d66-b22c-46cc-bcb1-f16ff37b0308%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
IMG_20180711_183354.jpg
IMG_20170406_205623.jpg

Jay Cotton

unread,
Jul 11, 2018, 2:03:45 PM7/11/18
to RC2014-Z80
wow that is really retro


On Wednesday, July 11, 2018 at 10:42:44 AM UTC-7, Spencer Owen wrote:
Remember them? I've got... ahem... a few of them :-) 2 Adtek ICE Engines and a ZAX In-Circuit Debugger.

I need to get some special cables made up for the Adtek devices to connect to the Z80 pod, although the ZAX works fine (well, up to 3.6844MHz. Falls over a lot at 7.3728MHz, despite claiming to work up to 8MHz)

Spencer 

On Wed, 11 Jul 2018, 18:23 , <ZO...@gladucalled.com> wrote:
Hi Allen,

Does anyone remember In-Circuit Emulators (ICE's)?  You pulled out the Z80 and popped the 40-pin adapter into the socket.  Slicker than snot on a door knob.  Blew me away at the time.  Micro-somebody made a bunch of them.  Microtek??  You had to get a base unit and the Z80 "pod."
I looked for them on ebay but just found pieces.  Not cheap either.

Hi Steve,

The only thing I miss with micros is a Memory Management Unit (MMU).  Hence my interest in poking around with "traps."  But I am sure your debugger does the job quite nicely. 

On Wednesday, July 11, 2018 at 6:45:59 AM UTC-4, Alan Cox wrote:
> Alternatively you could use an Intel i9 processor to monitor the Z80 bus and
> have AI software spot duff code and correct it in real time. Problem solved.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.

ZO...@gladucalled.com

unread,
Jul 11, 2018, 2:36:55 PM7/11/18
to RC2014-Z80
Nice!  I had forgotten the twisted pairs in the ribbon cable.  You must be REALLY old!


On Wednesday, July 11, 2018 at 1:42:44 PM UTC-4, Spencer Owen wrote:
Remember them? I've got... ahem... a few of them :-) 2 Adtek ICE Engines and a ZAX In-Circuit Debugger.

I need to get some special cables made up for the Adtek devices to connect to the Z80 pod, although the ZAX works fine (well, up to 3.6844MHz. Falls over a lot at 7.3728MHz, despite claiming to work up to 8MHz)

Spencer 

On Wed, 11 Jul 2018, 18:23 , <ZO...@gladucalled.com> wrote:
Hi Allen,

Does anyone remember In-Circuit Emulators (ICE's)?  You pulled out the Z80 and popped the 40-pin adapter into the socket.  Slicker than snot on a door knob.  Blew me away at the time.  Micro-somebody made a bunch of them.  Microtek??  You had to get a base unit and the Z80 "pod."
I looked for them on ebay but just found pieces.  Not cheap either.

Hi Steve,

The only thing I miss with micros is a Memory Management Unit (MMU).  Hence my interest in poking around with "traps."  But I am sure your debugger does the job quite nicely. 

On Wednesday, July 11, 2018 at 6:45:59 AM UTC-4, Alan Cox wrote:
> Alternatively you could use an Intel i9 processor to monitor the Z80 bus and
> have AI software spot duff code and correct it in real time. Problem solved.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.

Tom Szolyga

unread,
Jul 11, 2018, 9:16:40 PM7/11/18
to RC2014-Z80
I have used a HP 1611 Logic Analyzer with a Z80 ICE module.  It can do state capture, but not enough timing.  Instead, I suggest a HP 1661C Logic Analyzer.  It can be had for $129 with free shipping.  Check it out:


Tom 

Duncan Reed

unread,
Jul 12, 2018, 7:25:28 PM7/12/18
to RC2014-Z80

I have a more modern ICE. Does Z80, 6502, 6809 etc, based on an fpga from eBay (was originally a GODIL) and a dip40 level shifter. The only issue is it you would need z80 card at the end or build some sort of extender cable due to limited clearance on rc2014. Used ir on 6502 but not on z80 personally.

Currently the level shifter are out of stock, but still actively support by Hoglet, more info here

https://stardot.org.uk/forums/viewtopic.php?f=44&t=9655&start=60

Or just search for ‘ice-t z80’

I will one day test it on rc2014

ZORAk

unread,
Jul 13, 2018, 2:46:15 AM7/13/18
to rc201...@googlegroups.com
Hello Duncan,

That looks like nice kit. Way back in the day (1980) we had an ICE from MircoTek (I think - don't quote me). It did not use a PC. It used LEDS and seven segment digits. There was a simple keypad on the top. I used one a second time at another job. PCs were expensive at that time (I think they were floppy driven back then?)

Anyway, it worked like a champ. I debugged an SIO interrupt handler with it. I can't find it on the internet (which was not around back then). Sometimes I feel very old.

The ICE TZ80 looks nice.

=Steve.
> --
> You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/vKCQSUEmaTc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
> To post to this group, send an email to rc201...@googlegroups.com.
> To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/5d5b9325-276d-498f-9822-9dfda1fd2a60%40googlegroups.com.

Duncan Reed

unread,
Jul 13, 2018, 8:59:05 AM7/13/18
to RC2014-Z80
Yes it works very well, at least for 6502, I should have given a direct link to a post that has the links to the FPGA on ebay, and a link to the shop of the person selling the level shifting DIP40 convertor.

https://stardot.org.uk/forums/viewtopic.php?f=44&t=9655&p=207929&hilit=ice+t#p205564

The level shifters are sold out currently but 'flynnjs' works on supply and demand. If he gets enough interested people he usually makes up a batch, and the extra's go into the shop. So if people are interested I would pester him :-)

Regards


On Friday, July 13, 2018 at 7:46:15 AM UTC+1, ZORAk wrote:
Hello Duncan,

That looks like nice kit.  Way back in the day (1980) we had an ICE from MircoTek (I think - don't quote me).  It did not use a PC.  It used LEDS and seven segment digits.  There was a simple keypad on the top.  I used one a second time at another job.  PCs were expensive at that time (I think they were floppy driven back then?)

Anyway, it worked like a champ.  I debugged an SIO interrupt handler with it.  I can't find it on the internet (which was not around back then).  Sometimes I feel very old.

The ICE TZ80 looks nice.

=Steve.
On Jul 12, 2018, at 7:25 PM, Duncan Reed <der...@gmail.com> wrote:

>
> I have a more modern ICE. Does Z80, 6502, 6809 etc, based on an fpga from eBay (was originally a GODIL) and a dip40 level shifter. The only issue is it you would need z80 card at the end or build some sort of extender cable due to limited clearance on rc2014. Used ir on 6502 but not on z80 personally.
>
> Currently the level shifter are out of stock, but still actively support by Hoglet, more info here
>
> https://stardot.org.uk/forums/viewtopic.php?f=44&t=9655&start=60
>
> Or just search for ‘ice-t z80’
>
> I will one day test it on rc2014
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/vKCQSUEmaTc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to rc2014-z80+unsubscribe@googlegroups.com.

Bill Shen

unread,
Oct 26, 2018, 9:53:25 AM10/26/18
to RC2014-Z80
Steve,
I'm working on a simple Z80-based SBC for RC2014 and I like to port SCMonitor to it.  I'm looking for guidance.  The main difference is the Z80 is running at 20MHz (22MHz actually), and I have a custom serial port for the fast clock.  The serial port does not need initialization and has two I/O addresses, one for data and other for command/status.  I'm thinking of naming it Build 'R5'  and creating a new Serialxxx.asm file in SCMonitor/Source/Hardware/RC2014.  Is this consistent with your convention?
  Bill

Steve Cousins

unread,
Oct 26, 2018, 10:27:37 AM10/26/18
to RC2014-Z80
Hello Bill,

What you have described will work, but I'd like to give each identifiable separate system a completely unique hardware 'type', same as the Z280RC. That means having its own folder in SCMonitor/Source/Hardware.

As you have described it as a single board computer, rather than an RC2014 module, I think it falls into the above category and should be a separate type. If so the configuration Z2 would be a good choice. If you think you will create many more systems, you could have the letter B (as in Bill) if you like.

If it is a replacement for the RC2014 Z80 and memory, then it would also need to support existing RC2014 hardware options, in which case your suggested solution would be a good choice.

I can create a suitable framework for you to save you wasting time figuring you how to do that. I normally just pick the most similar hardware currently supported, copy that folder and edit the source as required. 

So a few quick questions:

What is the memory configuration? eg. 64k RAM with 32k ROM which can be paged out

Is the baud rate software controllable?

Does it have a programmable timer?

What is the name of your system? eg. Z280RC


Steve

Bill Shen

unread,
Oct 26, 2018, 11:30:18 AM10/26/18
to RC2014-Z80
Hi Steve,
Attached are pictures of the board as of today.  It is a RC2014 module although at 22MHz system clock it is probably not compatible with any existing modules.  However, the clock can easily be changed to the default 7.37MHz.  I named it Z80SBCRC.  It is experimental board so I can have a bona fide Z80 module for compatibility & testing purposes. 

It has 512K of paged RAM but no ROM.  Initially it serially loads the bootstrap code into low RAM very similar to the UART bootstrap mode of Z280 (serial bootstrapping is a brilliant concept, I'm going to use it extensively).  The RAM page containing bootstrap code is switched out in normal operation and application software like SCMonitor and CP/M are switched in. 

Because it is CPLD-based, it has quite a bit of flexibility which makes version control difficult.  The original concept is having a Z80 module for compatibility testing, but now it is working I'm warming up to the experimental potentials of CPLD-based Z80.  Perhaps it is a good idea to give it a 'Z' designation and build a separate framework for it.  Thanks,
  Bill
DSC_40171026.jpg
DSC_40151024.jpg

Steve Cousins

unread,
Oct 26, 2018, 2:26:14 PM10/26/18
to RC2014-Z80
Hi Bill

Yes, it looks like it would be best to create a new hardware type for your board. Once done you will have the freedom to do what you want without causing any confusion with other RC2014 compatible hardware.

I'll look at generating a framework for your board in the next day or so and email it to you.

Steve

Steve Cousins

unread,
Oct 27, 2018, 5:09:33 PM10/27/18
to RC2014-Z80
I've put an update of SCWorkshop+SCMonitor on my site (www.scc.me.uk). 

This update adds some new hardware but does not change the binary produced for existing hardware. SCM for RC2014 is still at v1.0.0

Bill, this update includes a framework for Z80SBCRC. Just select Z80SBCRC at the top of !main.asm and add/edit/delete as required the files in SCWorkshop\SCMonitor\Source\Hardware\Z80SBCRC

Steve


On Friday, 26 October 2018 16:30:18 UTC+1, Bill Shen wrote:

Bill Shen

unread,
Oct 27, 2018, 8:07:38 PM10/27/18
to RC2014-Z80
Steve,
Downloaded release 019, thank you.
I have a question about Console device table: you have allocated 3 console devices (SIO port A, B, ACIA).  Since my serial port is different, should I try to add it as 4th console devices, or should I modified one of the console devices (this is what I did with Z280RC)?  Adding the 4th console devices seem more complicated?
  Bill

Colin MacArthur

unread,
Oct 31, 2018, 2:01:04 AM10/31/18
to RC2014-Z80
Hello...
My first Post so I hope I get this right !!!

I have modified a 16550 driver for SCM on the RC2014
It works for Me and is detected as iHwFlags bit 3
Please let me know if there are any issues with my code as I haven't coded for a Z80 since the late 70s early 80s (Yes I am OLD)

FYI
I LOVE SCM and have ported it to almost all of the SBCs that I test...
CM


On Saturday, October 27, 2018 at 3:09:33 PM UTC-6, Steve Cousins wrote:
Serial16550.asm
!Manager.asm

Steve Cousins

unread,
Oct 31, 2018, 10:51:26 AM10/31/18
to RC2014-Z80
Hi Colin

I've looked over your files and they look excellent to me. Well integrated into SCM and styled to match my code. Great job.

The only thing I would have tried to do different is to make the first test for the 16550 a passive read, before moving on to further tests using active writes with read-back. However, that is just me being paranoid about writing to addresses that might contain other hardware. In practice a few writes is not going to do any harm and if the "other hardware" is not supported by SCM it probably won't matter that the writes potentially mess with its configuration.

What 16550 hardware do you have?

And, if I may, what other SBCs have you ported SCM to?

Finally, would you be willing to let me include these files in the SCM distribution? I'd need to give some thought to how this should be done as there is limited space in the ROM and potentially many other extensions in the future.

Glad you like SCM. Thanks for your support.

Steve

Marten Feldtmann

unread,
Oct 31, 2018, 1:15:16 PM10/31/18
to RC2014-Z80
Yes, there could be at least in this device area at least two additional candidates: Z80-KIO and Z180 native - and perhaps even more numbers of devices found.

Marten

Alan Cox

unread,
Oct 31, 2018, 2:16:10 PM10/31/18
to rc201...@googlegroups.com
Properly speaking btw it's 16550A. The 16550 is a different part and
requires the FIFO is disabled by the driver. Thankfully they are rare
because they got pulled fairly fast when the fault was found in the
chip.

Colin MacArthur

unread,
Oct 31, 2018, 3:40:00 PM10/31/18
to RC2014-Z80
This is true...
I actual have an updated version that detects if the device is a 8250, 82050/16450, 16550, 16550A, 16550C, 16650 or 16750.
I have only tested it with the 8250, 82050, 16450, 16550A &  16550C

I am also working on adding 16C552D, 16C2552 .& 16C554 as soon as I get time to breadboard them.

Is there is anyone out there that would be interested in designing a board for a PC16C552DV  / ST16C2552  44-PIN PLCC ?
I have a few dozen of each devices, we could work something out...
THX
CM
Reply all
Reply to author
Forward
0 new messages