RomWBW Customization Help Needed!

349 views
Skip to first unread message

J.B. Langston

unread,
Jun 28, 2023, 11:28:42 PM6/28/23
to RC2014-Z80
Hi Folks,

Long time no see.  I was inspired to boot up my RC2014 again by my recent VCFSW purchase of a fine-looking WY-50 terminal . Unfortunately, using z80ctrl with the terminal is a pain*, so I am using RomWBW on a stock RC2014 Pro configuration w/ 512K RAM/ROM board. 

I also want to use my own video, sound, and game controller boards to run ColecoVision games, so I need to run the CPU at 3.686MHz. I also need the default baud rate to be 38400 in order to be compatible with my WY-50's max baud rate.  I have created a rcz80_jbl.asm configuration (attached) , and built it successfully.

At boot up, it reports (attached as boot.txt) that it's configured with a CPU frequency of 3.686MHz and a baud rate of 38400, but it still operates as if thinks the CPU frequency twice that and the desired baud rate is 115200.  Since my primary clock is set to 3.686MHz, that means that the actual baud rate I need to set my terminal to is 57600.  Likewise, if I set the clock divider for the second port to 2.457MHz, this results in an actual baud rate of 38400 on the second port.

Wayne, any advice?  If I can get this working, I'll also do a PR to add my configuration so people who want to play ColecoVision games with RomWBW on a stock RC2014 will have a configuration that is conducive to that use case.

Also, side question... how do I disable the annoying security prompt each time the disk build script runs?

* Didn't want to get into it in the main paragraph, but the issue with the z80ctrl is that only the first serial port can supply voltage to the RS-232 adapter, and only first port can reprogram the AVR, so I would have to switch the connectors back and whenever I develop the firmware vs. use it with the terminal.

Many Thanks,
J.B.
boot.txt
RCZ80_jbl.asm
PXL_20230629_030538825.jpg

Wayne Warthen

unread,
Jun 29, 2023, 9:55:53 AM6/29/23
to RC2014-Z80
Hi J.B.,

I don't have time to write a proper answer, but the issue is that the SIO is not capable of the baud rate you are asking it to run at.  The largest possible SIO baud rate divisor is 64.  At 3.6864 MHz, this would be 57,600 baud.  At 2.457 MHz, the resultant baud rate would be 38,400.  These are the baud rates you are seeing.  RomWBW does a poor job handling the display in this situation.  If it cannot achieve the requested baud rate, it goes into failsafe and just uses a divisor of 64 and displays whatever the requested baud rate was (which is wrong).

Thanks,

Wayne

J.B. Langston

unread,
Jun 30, 2023, 8:35:22 AM6/30/23
to RC2014-Z80
Thanks for answering. Is it possible then to make RomWBW boot up using the second serial port by default? I would like to be able to use it with the terminal without hooking it up to a PC. As it is currently, since only the second port can deliver the appropriate baud rate, i have to be connected to my PC and enter "i 1" at the boot prompt in TerraTerm before I can use it with the terminal.

Wayne Warthen

unread,
Jun 30, 2023, 11:57:42 AM6/30/23
to RC2014-Z80
Sure.  That functionality is already available.

You can use the BOOTCON setting to startup pointing to any Char device.  For example:

BOOTCON         .SET    1               ; BOOT CONSOLE DEVICE

Thanks,

Wayne

J.B. Langston

unread,
Jul 1, 2023, 11:18:46 AM7/1/23
to rc201...@googlegroups.com
Thanks! That worked like a charm.  I have created a PR for the ColecoVision-compatible configuration I am using: https://github.com/wwarthen/RomWBW/pull/351

--
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/UTRXRfbNjXA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/3507e498-29b2-4ded-a7b2-387189376115n%40googlegroups.com.

J.B. Langston

unread,
Jul 1, 2023, 2:06:52 PM7/1/23
to RC2014-Z80
One other question... in my PR you'll notice that I have

#DEFINE BOOT_DEFAULT "Z" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT

But when I boot up, the build is still defaulting to H. What am I doing wrong?

J.B. Langston

unread,
Jul 1, 2023, 2:30:21 PM7/1/23
to RC2014-Z80
Nevermind, it does default to Z if I press enter. I was thinking it would show Z=ZSystem in the prompt.

Wayne Warthen

unread,
Jul 1, 2023, 2:35:40 PM7/1/23
to RC2014-Z80
On Saturday, July 1, 2023 at 11:06:52 AM UTC-7 J.B. Langston wrote:
One other question... in my PR you'll notice that I have

#DEFINE BOOT_DEFAULT "Z" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT

But when I boot up, the build is still defaulting to H. What am I doing wrong?

The statement you used is setting the boot default (at least it is in my testing).  If you simply press <Enter> at the Boot Loader prompt, your system should boot to Z-System.  Perhaps you are looking to make your system automatically start.  The BOOT_TIMEOUT setting is used for that.  You can specify 0 for an immediate boot to BOOT_DEFAULT or specify a number of seconds to allow a user to takeover bore invoking BOOT_DEFAULT.  For example, this will boot to BOOT_DEFAULT after 5 seconds:

BOOT_TIMEOUT    .SET    5               ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE

Keep in mind that the "#define" statements must precede the "#include" in the config file.  The ".SET" statements must go after the "#include".

Thanks,

Wayne


 

Wayne Warthen

unread,
Jul 1, 2023, 2:36:42 PM7/1/23
to RC2014-Z80
On Saturday, July 1, 2023 at 11:30:21 AM UTC-7 J.B. Langston wrote:
Nevermind, it does default to Z if I press enter. I was thinking it would show Z=ZSystem in the prompt.

Oh, got it.  Yeah, I leave the H=Help there because that is still what you would use to get a list of possible commands.

Thanks,

Wayne 

Wayne Warthen

unread,
Jul 1, 2023, 2:38:39 PM7/1/23
to RC2014-Z80
On Saturday, July 1, 2023 at 8:18:46 AM UTC-7 J.B. Langston wrote:
Thanks! That worked like a charm.  I have created a PR for the ColecoVision-compatible configuration I am using: https://github.com/wwarthen/RomWBW/pull/351

Thanks for contributing the ColecoVision configuration!  I will merge this to the dev branch today.

Thanks,

Wayne 

J.B. Langston

unread,
Jul 1, 2023, 8:16:22 PM7/1/23
to rc201...@googlegroups.com
Sure, no problem.  Would you be interested in distributing the ColecoVision loader with RomWBW?  I would need to modify it so that it loads the ColecoVision BIOS from a file on the drive called `coleco.rom` instead of incorporating it into the `coleco.com` binary. That way there would be no copyright issues with redistributing it.  It shouldn't be a difficult change.

Also, I have several demo programs for the TMS9918 (Nyan Cat, Sprite, Plasma, Mandelbrot, Fern, Hopalong). If you wanted to, I would be happy to have those in the distribution too, but no problem if not.

--
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/UTRXRfbNjXA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.

Wayne Warthen

unread,
Jul 1, 2023, 8:34:31 PM7/1/23
to RC2014-Z80
On Saturday, July 1, 2023 at 5:16:22 PM UTC-7 J.B. Langston wrote:
Sure, no problem.  Would you be interested in distributing the ColecoVision loader with RomWBW?  I would need to modify it so that it loads the ColecoVision BIOS from a file on the drive called `coleco.rom` instead of incorporating it into the `coleco.com` binary. That way there would be no copyright issues with redistributing it.  It shouldn't be a difficult change.

Yes, I would definitely like to do that.  Once the loader starts, is it then possible to load cartridge images?

Also, I have several demo programs for the TMS9918 (Nyan Cat, Sprite, Plasma, Mandelbrot, Fern, Hopalong). If you wanted to, I would be happy to have those in the distribution too, but no problem if not.

Yes, definitely.  I think a good approach is to create a specific disk image for this.  The image would include the loader, BIOS, demo programs, etc.  Does that make sense?

Thanks,

Wayne

J.B. Langston

unread,
Jul 1, 2023, 9:43:42 PM7/1/23
to rc201...@googlegroups.com
You give it the name of a rom file on the command line. The game rom gets loaded at 8000H and the BIOS gets loaded at 0H. You have to reset the computer after each game since CP/M gets clobbered. 

--
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/UTRXRfbNjXA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.

Wayne Warthen

unread,
Jul 1, 2023, 10:40:51 PM7/1/23
to RC2014-Z80
On Saturday, July 1, 2023 at 6:43:42 PM UTC-7 J.B. Langston wrote:
You give it the name of a rom file on the command line. The game rom gets loaded at 8000H and the BIOS gets loaded at 0H. You have to reset the computer after each game since CP/M gets clobbered. 

Perfect. 

J.B. Langston

unread,
Jul 3, 2023, 10:58:48 PM7/3/23
to RC2014-Z80
Oblig photo...

--
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/UTRXRfbNjXA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
PXL_20230704_025615688.jpg
Reply all
Reply to author
Forward
0 new messages