• Please review our updated Terms and Rules here

Monitor ROM for a Vector Graphic ZCB

glitch

Veteran Member
Joined
Feb 1, 2010
Messages
5,051
Location
Central VA
Does anyone have a monitor that works with the Vector Graphic ZCB, using the built-in serial port as the console? I'm working on repairing a ZCB, and I'm pretty sure it's working, but that the PROM in the PROM 0 socket isn't the right one.

I've got the ZCB's power-on-jump function disabled, and have a Dajen SCI loading its monitor from there. I can dump the contents of the PROM 0 slot at E000. I can also initialize the 8251 UART and push characters out from the SCI monitor. So I'm pretty confident the ZCB is up and running.

If you either enable power-on-jump or use the SCI monitor to jump into E000, the ROM currently in the board writes some data to ports 02 and 03, which aren't the correct ports for the ZCB's UART -- it lives on ports 04 and 05. As such, I'm pretty sure it's the wrong monitor PROM. Does anyone have an image of either a prebuilt-compatible monitor, or one that can be altered to talk to an 8251 on ports 04 and 05?
 
Does anyone have a monitor that works with the Vector Graphic ZCB, using the built-in serial port as the console? I'm working on repairing a ZCB, and I'm pretty sure it's working, but that the PROM in the PROM 0 socket isn't the right one.

I've got the ZCB's power-on-jump function disabled, and have a Dajen SCI loading its monitor from there. I can dump the contents of the PROM 0 slot at E000. I can also initialize the 8251 UART and push characters out from the SCI monitor. So I'm pretty confident the ZCB is up and running.

If you either enable power-on-jump or use the SCI monitor to jump into E000, the ROM currently in the board writes some data to ports 02 and 03, which aren't the correct ports for the ZCB's UART -- it lives on ports 04 and 05. As such, I'm pretty sure it's the wrong monitor PROM. Does anyone have an image of either a prebuilt-compatible monitor, or one that can be altered to talk to an 8251 on ports 04 and 05?
I might be able to help you:

2 x 2708 or?
Version number ?
Port jumpers set correctly?
Which disk controller if any (Tandon/Micropolis ?)
Any other I/O cards on the bus (e.g. Bitstreamer?)

PM

@ Bill D: I haven't forgotten; are you still interested?
 
Last edited:
Don't know why I suggested PM; probably better in the forum in case someone has more info than I.

Don't know how much I can help you; is there any version info on or in that 2716? There were several different monitors (and different revs), depending on whether you were using an RS-232 console or the VG Flashwriter and whether the FDC was Tandon or Micropolis. And of course since it's an SBC it could have a completely custom program in there.

Mine is V4.0C which is for RS-232 console and Micropolis FDC; unfortunately it's on 2 x 2708 and I'd have to do some fiddling to read them on my programmer or in the VG itself.

It's been a loooong time since I played with this, but IIRC the RS-232 port is set to 0/1 or 4/5 depending on whether the console is on the ZCB or the Bitstreamer, and looking at the 4.0 monitor source even the Flashwriter console uses 0/1; don't know why you'd get data on 2/3 unless it's an echo of 0/1.

I think the factory default for the RS-232 connector on the ZCB is 04/05 (E1-E4) instead of 00/01 (E1-E3).

But as I say, its been a long time so take my ramblings with a grain or two of NaCl.
 
M: Are/were there jumpers for the port selects or does it still have the default traces? If it worked with the defaults then this is irrelevant, but if there are jumpers why not try setting the RS-232 base port to 00 instead of 04?

G: There are jumpers, but it just sets the higher bits of the address, i.e. you can have it at 04/05, 14/15...f4/f5, but you can't really move the low nybble around.

I don't think that's quite the way it works; all the I/O ports must be within one of eight groups of 32 and the base address of the desired group (even numbers only, i.e. 00, 20, 40, etc.) is selected by the 'G' jumper block.

Within the selected group the base addresses of the serial port and the three parallel ports (blocks of four, i.e. 00, 04, 08, etc.) are selected by two jumpers in the 'E' block, one for the serial port and the other for the parallel ports. The upper two addresses of each 4-address block are merely echoes of the lower two when it's a serial port.

To place the RS-232 port at 00-01, jumper G 2-7, 4-8 and 6-9 (Group 00, the default) and E 1-3 (default is 1-4 and 2-5). Note that the defaults are pcb traces, not jumpers.

At least that's the way it is on my ZCB (REV 1). Do you have a manual to look at?
 
Last edited:
Success!

Success!

So I took Mike's advice and read through the I/O port strapping again. Turns out G doesn't do what I need, but E does. Well, E will allow you to set on 4-byte address boundaries; that is, 00 and 01, 04 and 05, 08 and 09, et c. Except the ZCB mirrors the ports for the 8251, so strapping for 00 and 01 also places it at 02 and 03, our magic numbers from before. I changed the strapping, booted, and jumped into E000 from the SCI monitor:

Code:
NORTHSTAR SYSTEM MONITOR V1.5
.
.D E000 E100
E000: C3 1E E0 C3 2D E0 C3 F0 - E6 C3 06 E7 C3 32 E7 C3  ....-........2..
E010: 41 E7 C3 46 E7 C3 AC E1 - C3 3A E1 C3 50 E7 31 32  A..F.....:..P.12
E020: FF CD D2 E6 CD 46 E7 21 - 6E E7 CD 32 E7 FB 31 32  .....F.!n..2..12
E030: FF CD 46 E7 3E 00 32 00 - FF 32 01 FF 3E 2E CD 06  ..F.>.2..2..>...
E040: E7 CD F0 E6 FE 0D CA 2D - E0 11 2D E0 D5 FE 42 CA  .......-..-...B.
E050: 86 E0 FE 45 CA 8D E0 FE - 44 CA C1 E0 FE 53 CA 2D  ...E....D....S.-
E060: E1 FE 4C CA AC E1 FE 4D - CA 2C E2 FE 46 CA 60 E2  ..L....M.,..F.`.
E070: FE 55 CA 95 E2 FE 47 CA - 7B E0 C9 D1 CD 41 E7 CD  .U....G.{....A..
E080: 8D E6 CD 46 E7 E9 D1 CD - 46 E7 C3 00 E8 CD 41 E7  ...F....F.....A.
E090: CD 8D E6 C3 97 E0 23 CD - 46 E7 54 5D 7A CD 67 E6  ......#.F.T]z.g.
E0A0: 7B CD 67 E6 CD 41 E7 1A - 67 CD 67 E6 CD 41 E7 CD  {.g..A..g.g..A..
E0B0: 92 E6 EB DA 96 E0 77 BE - CA 96 E0 21 BB E7 C3 11  ......w....!....
E0C0: E7 CD 41 E7 CD 8D E6 EB - CD 41 E7 CD 8D E6 F3 CD  ..A......A......
E0D0: 62 E6 D2 DB E0 21 AA E7 - C3 11 E7 CD 46 E7 7A CD  b....!......F.z.
E0E0: 67 E6 7B CD 67 E6 3E 3A - CD 06 E7 CD 41 E7 01 10  g.{.g.>:....A...
E0F0: 00 D5 1A CD 67 E6 CD 41 - E7 3E 09 B9 C2 07 E1 3E  ....g..A.>.....>
E100: 2D CD 06 E7 CD 41 E7 13 - 0D C2 F2 E0 CD 41 E7 D1  -....A.......A..
.

So, for those wishing to use the NorthStar Monitor with the ZCB, you should cut the jumper in E between 2 and 4 (default) and move it to 2 and 3. All other default jumpers are fine.
 
So I took Mike's advice and read through the I/O port strapping again. Turns out G doesn't do what I need, but E does. Well, E will allow you to set on 4-byte address boundaries; that is, 00 and 01, 04 and 05, 08 and 09, et c. Except the ZCB mirrors the ports for the 8251, so strapping for 00 and 01 also places it at 02 and 03, our magic numbers from before. I changed the strapping, booted, and jumped into E000 from the SCI monitor:
Yeah, that's exactly what I was trying to explain; the default sets the serial port to 04 & 05 and the console is connected to a Flashwriter or a Bitstreamer I/O card, so you have to cut the trace from E1 to E4 and connect E1 to E3 instead if you want the console on the ZCB (with a standard monitor); I installed an IC socket in mine to make it easy to move the jumpers and switch the console back and forth.

What's a Dajen SCI?
 
Yeah, I didn't understand the first time around about the port mirroring...that's why I thought 02 and 03 was an impossible combination. What's odd is that I cut the factory jumper for the serial port in group E...perhaps it was working with a Bitstreamer or other 8251-based serial board before?

What's a Dajen SCI?

Dajen == maker, SCI == System Central Interface. It's a S-100 board with a cassette port, two parallel chips (one channel of which can be used for a parallel ASCII keyboard), a 6850 ASIC, three sockets for 2708 EPROMs (two of which contain the monitor, the third can not only read 2708s but /program/ them too), and 256 bytes of RAM in 2x 2112 SRAMs. The monitor is pretty nice...I like it better than the Cromemco 4FDC monitor. The 2708 programming is also /really/ cool, especially since I was able to copy the monitor PROMs with it. There doesn't seem to be a ton of information on it, so I'm going to do a write-up and make the manual/ROM images available when I get a spare moment.
 
...So, for those wishing to use the NorthStar Monitor with the ZCB, you should cut the jumper in E between 2 and 4 (default) and move it to 2 and 3. All other default jumpers are fine.
Did you mean 1-4 vs 1-3 by any chance (instead of 2-4/2-3)? It is confusing, since 1 and 2 would be pins 2 and 3 if there were a socket there...
 
My other VG MZ system uses a Z80 card with a PROM/RAM card instead of the ZCB combo card; I believe it also has the ability to program 2708s, so it'd be nice to sort out the intermittent problem on the PROM/RAM card. FWIW, both my systems have 64K and use the Micropolis FDC (Bootstrap PROM @F800 IIRC) and drives; the Tandon versions have the boot code in the monitor.
 
Working on a DAJEN now, I see from this thread that I have to disable the autojump on the ZCB to allow the DAJEN to boot, etc.
bd
 
Yep, disable the ZCB jump and enable the jump on the DAJEN. Alternately, put a Jump ROM in the ZCB's PROM socket with a jump to the SCI's base address (default 0xD000).

Is this the SCI I worked on, or have you found another?!
 
We already talked, but to wrap up this thread...for future reference to anyone with a DAJEN SCI

1. I set up a serial switch box. I plugged each card into the switch box using the ribbon cable

A: The ZCB
B: The SCI (with null modem adapter)

2. I loaded the system and did not disable the ZCB. It booted into the Northstar Monitor 1.5 as always (9600/8/N/1) and gave me the . prompt

3. I ran the command G D000 to jump to the SCI monitor

4. I switched to channel B, hit return, and got to the SCI > prompt. I switched the terminal to 9600/7/N/1.

(Since then I learned I could just boot the ZCB 7/N/1)

5. I was able to run commands using the SCI monitor

NEXT -
1. Try using the prom burner on the SCI
2. Try running the SCI in my Altair 8080 style, which is the original CPU intended by DAJEN for it's SCI board. I understand that the little jumper wire needs to be pulled out of the upper plug and put into the lower plug, in order to autojump to the monitor. In the upper plug position the autojump is disabled.

Bill
 
I have the ZCB jumpered as Jon describes here in this thread, and it boots to the monitor prompt using a generic California Computer Systems 2200 "mainframe" S-100 system. I can run the same dump as SystemGlitch from E000 E100 and I get the same exact output. I have a working Northstar horizon MDS-AD3 controller installed, attached to a working set of drives, with a working N* DOS 5 disk (in an external enclosure) - all tested with a northstar horizon. I have 40K in RAM plus what's on the monitor card.

When I run the "B" command the system hangs.

1. Would I be better to try a Vector Graphic disk controller with this configuration?
2. Is it possible to have the monitor boot and then initiate the DOS boot, or do I have to re-jumper the system to use the I/O of the N* DOS, losing the ability to use the monitor?

I don't have the ZCB manual, this may all be in there.

BIll
 

Actually I had the manual on my site..I should try to remember such things...but actually what I'd like is the manual for the Northstar monitor 1.5.

The question is - what control does one have over how the ZCB-driven northstar monitor works with a northstar drive controller? One thing I could try is to use the B command to boot the system with a Vector Graphics controller and disk/drive assuming that this is the default. I am guessing there is a flag or series of flags for many of the major brand controlers at the time. Or at least my wishful thinking that something called "northsar monitor 1.5" would have provision for a MDS controller. I have eliminated a lot of the variables by making sure the MDS controller, drive, cable, and disk work so now I just need to find the rest.

It is possible that I need another 8K of RAM to take the system up to 48K, as this was what the test North* system has.

Jon and I have the same goal I believe, to put together a portable diskette system for S-100 chassis.
 
IIRC, the ZCB puts its boot ROM at 0xE000 - 0xEFFF, correct? If so, it'll interfere with the operation of the NorthStar floppy controller, which lives at 0xE800-0xE9FF. I'd dump the monitor ROM (you can use the monitor itself to do this) and see where it tries to jump to for the B command.

If the ROM monitor leaves a hole at 0xE800-0xE9FF, you could add /PHANTOM assertion to your NorthStar disk controller (I assume the MDS-AD* series doesn't have it...the MDC-A* series definitely doesn't). This would allow the NorthStar controller to map itself over anything else present. I've actually been looking into doing this with my NorthStar MDC controller so that I can make better use of upper memory...the MDC series provides a board select signal from the address decode PROM, which should suffice for driving /PHANTOM once it's inverted to the correct polarity (may be elsewhere on the board) and fed into something with an open collector output.
 
I'm not at home so it's inconvenient to check, but I believe the monitor source is in (at least) one of the Vector manuals; ISTR that it expects the controller to be at either F000 or F800.
 
Back
Top