Wayne,
Wayne,
Since a updated monitor/loader is needed, I thought maybe it is time to have a loader that boots into RomWBW directly after power up. Since RomWBW CP/M reserve first megabyte of CF disk for non-CP/M software, my thought is having a collection of system software in the first megabyte of CF disk that includes RomWBW image, monitor, diagnostics, and CF disk utilities like RomWBW image loader. The bootstrap software in the Master Boot Record is modified to load and run different system software. In this case, it can load and run the RomWBW image loader instead of the monitor. To select which software to run at power on, a configuration software (also reside in the system track of CF disk) can select and update the Master Boot Record. If CF locked up because of software bugs, it can be re-imaged with the original CF image. You may already have thought about this when you reserved 1 megabyte of CF disk for non-CP/M software; I like to hear your plan.
I'm contemplating two more designs:
ZRC512, 22MHz Z80 with 512K RAM plus I2C, RTC, and WS2812B. All through-hole components. RomWBW capable.
Z1RCC, 18.4MHz Z180 with 512K RAM. All through-hole components. RomWBW capable.
--
You received this message because you are subscribed to the Google Groups "retro-comp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to retro-comp+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/retro-comp/07f2247b-84a0-431a-95f7-e8cf7b979e78n%40googlegroups.com.
Neopixels are also available in through hole F5 package, if you want a through hole only design.
I think rev0.6 of ZZRCC monitor is ready, except I have a question. As I was updating the ZZRCC disk layout, I noticed you placed the RomWBW Partition Table at sector 0 byte 256-511. I had thought the partition tables starts from $1BE to $1FD, followed by disk checksum of $55AA at $1FE-$1FF. Such arrangement reserves bootstrap program from $0-$1BD. In the specific case of ZZRCC bootstrap program, it is small enough to fit $0-$ff, but I'm worrying that other RomWBW-capable SBC may have a larger bootstrap that won't fit $0-$ff, so I'm wondering whether RomWBW has reserved $100-$1BD for other uses.
Speaking of a little more modern, the current RomWBW has CP/M 2.2. Any plans to swap this out for CP/M 3 with a small banked memory which would allow up to 60K of TPA. Or is banking going to be a problem with the different hardware the ROM might be used with? If so unbanked CP/M 3 itself would be an improvement.I have now used RomWBW on three processor cards and it is really great but in all other instances I use CP/M 3.
For some reason I can’t post the ZRC512 files with powershell files and binary files, and my email to you failed to deliver as well. I replaced the binary files with Intel hex files and still not uploading and blocked from emailing. If I remove the powershell files, too, there are nothing left. What I’ll do is creating a homepage with ZRC512 and load the files there.
Thanks for the updated RomWBW to accommodate Z1RCC. I downloaded dev.15 and run "buildshared" followed by "buildrom" with parameters of "RCZ180" and "z1rcc", then I run "buildz1rcc" to produce the image file "hd1k_z1rcc_combo.img". Copy the image file to a new CF disk and it will boot the monitor as it should. However when I typed "b4" to boot RomWBW, it does boot, but with the wrong serial port speed. The serial port speed should be 57.6K, but RomWBW's serial port is 19.2K. I can change the terminal's speed to 19200 and type 'r' to reboot system. (see the screen capture below)
The hardware does have a RTC and I know RomWBW does detect the RTC, but somehow the CPU's speed is calculated as 8.42MHz. It should be 9.22MHz.
I've struggled with this issue and wanted to ask you about it. What I did was patch RomWBW's failsafe value for CNTLB to 0x0 (originally it was 0x20), so when RomWBW couldn't figured out the correct CPU clock, it will use the failsafe value of 0x0 for CNTLB which resulted in 57600 serial port.
My hardware is one of a kind and this is probably the first Z80180 in shrink DIP64 that runs RomWBW, so it maybe difficult for you to troubleshoot this problem. I'm solving this problem with two approaches:
1. Z1RCC pc board is currently being fab at JLCPCB. If the problem persisted in pc board version, I can ship you a board.
2. I have also designed another version of Z1RCC using Z8S180 which is the same CPU used in SC126. I'll receive the pc board at the same time as Z1RCC pcb. I want to see if RTC works correctly with Z8S180, then go from there.
Another data point for you to think about. ZRC512 is Z80 version of Romless RomWBW. It also has a RTC, but RomWBW is able to calculate the CPU speed correctly using the RTC and the resulting serial port is correct. ZRC512 is currently one of a kind prototype, but I will also receive pc board version of ZRC512 at the same time so I'll check out the RTC for Z80 ROMless RomWBW as well.
BTW, when RomWBW boots the first time, it will display the RTC clock values, but with 'R' command (Reboot System), RTC clock values are not displayed.
Interesting. Could the DIP-64 Z180 have different opcode cycle timings? It will be helpful to see what the two boards from JLCPCB do. Tadeusz points out that the Z80180 is an older processor and is not typically used on the Z180 systems of RomWBW. I am pretty sure I checked the Z80180 at some point, but maybe that is the issue. Does the Z80180 have different instruction timings than the Z8S180?
Interesting. Could the DIP-64 Z180 have different opcode cycle timings? It will be helpful to see what the two boards from JLCPCB do. Tadeusz points out that the Z80180 is an older processor and is not typically used on the Z180 systems of RomWBW. I am pretty sure I checked the Z80180 at some point, but maybe that is the issue. Does the Z80180 have different instruction timings than the Z8S180?This can be ruled out, all processors in the Z180 family have identical instruction execution times.
BTW, when RomWBW boots the first time, it will display the RTC clock values, but with 'R' command (Reboot System), RTC clock values are not displayed.This may be a bug in the ROMless startup mode. Doing a (R)estart on a ROMless system just restarts using the in-place HBIOS image in RAM. The HBIOS was not originally designed to do this -- it expected to be reloaded from a fresh copy from ROM (which inherently clears all data fields). I had to make a few fixes just to get it working. I bet the RTC driver has a problem with this type of restart. I will look into it.
Received Z1RCC pc board and built one up as shown in the attachment. On the pc board is an exclusion area around DS1302 oscillator so the clock is now accurate. ROM-less RomWBW detected the RTC and calculated the clock correctly and set the serial clock to 57600.
One remaining problem is the serial ports are still reporting 115200 when it is operating at 57600. I'm unable to change serial port clock setting either through the configuration file parameter or RTC autodetect.
I always used the CF disk for 512K RAM 0k ROM RomWBW because the code to bootstrap from CF disk is tiny and easily fit in the logic fabric of a CPLD. I didn't think it is possible to fit the much larger SD bootstrap code in CPLD logic fabic. However, I'm currently exploring EPM240 CPLD which has an internal 1KB flash. So I wonder whether 1K bytes is large enough to initialize SD, copy RomWBW image from SD to 512K RAM and jumps into 0x0 to execute?
--
You received this message because you are subscribed to the Google Groups "retro-comp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to retro-comp+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/retro-comp/5e951007-562b-4efe-b709-4dadd0e33788n%40googlegroups.com.