• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.

I can't make John's serial board with His Z-80 Board

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
Yes, don't damage the cards! Use a current-limiting power supply - my recommendation!

The ZFDC web page identifies that this test code is NOT part of the Z80 Monitor that you have already put onto the Z80 CPU board into EPROM - but a SEPARATE piece of diagnostic code (downloadable from the ZFDC web page) that is required to be burnt into a separate EPROM and swapped for the monitor on the Z80 CPU board.

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave I have a couple of newer switchable set of power supplies in my Altair, I have had that for a Long tine..
The origional Power supply, is still there, but it is not connected..

I Looked and downloaded the files from John's zfdc site, and both of the ones I see would not fit even in a 2764, they do fit, (which I have already done when I built the zfdc Board), in a 27C256 type of eprom, which is what is on the zfdc board..

I don't see anything small enough to fit even in a 27C64 Eprom, for the Monitor in the Z-80..

THANK YOU Marty
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
You are right. My understanding is incorrect.

There is an EPROM fitted to the ZFDC board itself. If this doesn’t work, then the ZFDC card won’t either.

The diagnostic program is a CP/M program - so you have to get the ZFDC card working to boot CP/M to test the ZFDC...

Chickens and eggs come to mind here.

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, Thank You for Your response..

So, I still need to figure out, how to get to the ZFDC Command to display..

I know it can be done, Before, a year or two ago, when I last had things running, I had the system working, now (If I remember correctly I had 8" floppies), but it worked and I was able to Display the commands for the ZFDC Board..

I could use some input from someone who has worked with this System on bringing it up, piece by piece..

THANK YOU Marty
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
Everything you can do via the Z80 CPU monitor is defined in the text strings at the end of the monitor source code.

No more, no less...

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, Yes, I can do everything from Z80 CPU monitor as it is defined in the text strings at the end of the monitor source code.

But, what I don't know is what commands are needed to be used so that the Monitor menu for the ZFDC Floppy Controller would be displayed..

That is really what I am asking..

Anyway, I am going to make an attempt at taking Your Monitor and taking out some of the code that I don't and won't use, like the code for going to the 68000 and then deleting that or commenting it out and taking the Xmodem code from the second half of John's Monitor code and putting it into the code that You changed..
And hopefully, I can still make it all fit in the 2732 Eprom, I will also see if I can put Your code in the 2764 and get it to work as well, especially if by adding the Xmodem code is too large for the 2732 Eprom..

Anyway, that is the Plan.. Have a Good Day and Weekend..

THANK YOU Marty
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
The command characters are in this table:

Code:
TBL:	DW  FLUSH	; "@"  SEND FF to LaserJet printer
	DW  MEMMAP	; "A"  DISPLAY A MAP OF MEMORY
	DW  SWITCH_68K  ; "B"  SWITCH CONTROL TO 68000 CPU 
	DW  ZBOOT	; "C"  BOOT IN CP/M FROM 8" DISK WITH WITH ZFDC FDC 
	DW  DISP	; "D"  DISPLAY MEMORY (IN HEX & ASCII)
	DW  ECHO	; "E"  ECHO CHAR IN TO CHAR OUT
	DW  FILL	; "F"  FILL MEMORY WITH A CONSTANT
	DW  GOTO	; "G"  GO TO [ADDRESS]
	DW  SHOW_DATE	; "H"  SHOW CURRENT DATE
	DW  SHOW_TIME	; "I"  SHOW CURRENT TIME 
	DW  RAMTEST	; "J"  NON-DESTRUCTIVE MEMORY TEST 
	DW  KCMD	; "K"  DISPLAY THE LIST OF MONITOR COMMANDS
	DW  ZVBOOT	; "L"  BOOT IN CP/M FROM 8" DISK WITH VERSAFLOPPY II FDC
	DW  MOVE	; "M"  MOVE BLOCK OF MEMORY (START,FINISH,DESTINATION)
	DW  XMEMMAP	; "N"  Display extended memory Segment:Address
	DW  UP8086	; "O"  SWITCH CONTROL TO 8088, 8086 or 80286. 
	DW  HBOOTCPM	; "P"  BOOT IN CPM FROM IDE HARD DISK
	DW  QUERY	; "Q"  QUERY PORT (IN OR OUT)
	DW  INPORTS	; "R"  Read ALL Input Ports
	DW  SUBS	; "S"  SUBSTITUTE &/OR EXAMINE MEMORY
	DW  TYPE	; "T"  TYPE ASCII PRESENT IN MEMORY 
	DW  BEGIN	; "U"  SPARE
	DW  VERIFY	; "V"  COMPARE MEMORY
	DW  SWITCH_8086 ; "W"  INPUT Port ED (switched in 8086/80286)
	DW  XMODEM	; "X"  DOWNLOAD A FILE FROM PC VIA XMODEM TO THIS S100 SYSTEM
	DW  BEGIN	; "Y"  SPARE
	DW  SIZE	; "Z"  FIND HIGHEST R/W RAM

What I did (when I built my code) was to use MASTER0 and ignore MASTER1. As I understand it, the code in MASTER1 is for use with the XMODEM command. Unfortunately, the SCC port that is used for XMODEM communication is also the port you are using for a CONSOLE port. As a result, I don't think you can use the 'X' (XMODEM) command (as the code is not present).

My monitor build SHOULD fit in a 4K 2764 without editing...

I am still a bit confused as to what ZFDC menu you are referring to though. The only disk code I can see is to BOOT CP/M.

There are a load of text messages in the code for the ZFDC. I will have look through that code to see what it is up to.

Perhaps John can help?

Dave
 
Last edited:

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, Thank You for Your Input..

I am out on a limb, but, I commented out the "B" code for the 68000, the "L" code for the Verafloppy and coppied over the Xmodem code on the Master1 to Master0..
As You said it might flopp..
" I am still a bit confused as to what ZFDC menu you are referring to though. The only disk code I can see is to BOOT CP/M. "
The menu I am talking about is when the ZFDC has control, then like the Z-80 Monitor code it has a set of Commands, like Step the heads, and Format the Floppy and such, they are for Testing the ZFDC Controller and setting up the Floppy, so the Controller can read it into Memory..

I have to go Walk the Dog, I will be back in a bit..
THANK YOU Marty
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
>>> The menu I am talking about is when the ZFDC has control, then like the Z-80 Monitor code it has a set of Commands, like Step the heads, and Format the Floppy and such, they are for Testing the ZFDC Controller and setting up the Floppy, so the Controller can read it into Memory.

Isn't what you are talking about the picture about a third of the way down this page http://www.s100computers.com/My System Pages/ZFDC Board/ZFDC.htm?

It contains menu items such as "FORMAT DISK", "Step IN Test", "Read TRACK", "READ a Sector", etc.

If so, this is the CP/M program ZFDCDIAG and is not EPROM based.

I have just been for my walk...

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, " If so, this is the CP/M program ZFDCDIAG and is not EPROM based. "

I could be mistaken, but, since I never had CPM up and running, and when I have the ZFDCDIAG Eprom plugged into the ZFDC Board, that it would come up with that menu.. So, that is in the ZFDCDIAG Eprom, and the file is in a 27C256 Eprom..
I Just Don't know How to make it work..
But, I am going thru the Building of the ZFDC Board, I am thinking that something is amis, and that is why the Z-80 Monitor Won't see it, it is showing up at the wrong Address, which is what I am pursuing at Present..
When I do an R Command on the Z-80 Monitor, it shows Port 11, not 10, and I am not sure if this is correct.. Also, I don't know "How" to enter very small Programs for Testing of the ZFDC Board, with the Z-80 Monitor, With the Z-80 Board in place, I can't use my Altair Front Panel to enter code directly into Ram..
And as far as I can see John Doesn't tell me How, but just says "enter it" into Ram, so there is no Explanation of the Various Z-80 monitor Commands..

THANK YOU Marty
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, I got the usb port for the serial board, the serial board has a parallel (8255) to run the Led's and to interface to the USB to parallel chip/board, so I can download from USB, which I think is by Xmodem, or where xmodem comes in..

I have just tried the older board from John, I think it's a preprototype board, and it works better than the current version 1 of the ZFDC Board..
I have to do some ohming and make sure I have the Jumpers correct for 3.5" Drive A and B..

So have a good night, hopefully, I can report something tomorrow..

THANK YOU Marty
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Since the last Entry, I have been busy, trying to figure things out..
Some things were to my Mis-understanding of some of the commands..
Anyway, I am building up my ZFDC Board, in stages, as per John's Web page..
And, because of my not knowing, and doing alot of breadboarding, I am now making progress on making the Board Work, as per John's Instructions..

THANK YOU Marty
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

I am looking for ZSYSGEN.z80, I have from John ZSYSGEN.PDF..
To complete the build of Z80 CPM3, which I hope I can use to build ZFDCDIAG to Diagnose where or what might be the Problems with either of my ZFDC Boards..

My biggest problem is John uses ports '00 and '01 for Diagnostic on everything, and His Serial board is addresses at 'A0..

THANK YOU Marty
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
Hi Marty,

Well, since you have a way of assembling John’s source code, why don’t you take a copy of ZFDCDIAG.Z80, delete the symbol BDOS, and modify the code so that it doesn’t require COM to work? From what I have seen (although I haven’t checked all 84 pages of source), not much use is actually made of CPM itself.

Did you ‘fix’ the Z80 monitor so you could use XMODEM to download code to the Z80? If so, this is an ideal opportunity to use it.

It didn’t seem logical to me to have a diagnostic program to test out a disk controller that is required to be working to load the diagnostic program in the first place (unless you have two disk controllers - one working and one unknown).

By modifying the diagnostic to be stand-alone makes more sense to me...

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, "Well, since you have a way of assembling John’s source code,"
And it does a great job of that..
" why don’t you take a copy of ZFDCDIAG.Z80, delete the symbol BDOS, and modify the code so that it doesn’t require COM to work?"
I though that's what I have been trying to do, but I have not had much success..
" From what I have seen (although I haven’t checked all 84 pages of source), not much use is actually made of CPM itself. "
I don't think there is except for I/O in and out..
" It didn’t seem logical to me to have a diagnostic program to test out a disk controller that is required to be working to load the diagnostic program in the first place (unless you have two disk controllers - one working and one unknown). "
That is what makes sense to me..
By modifying the diagnostic to be stand-alone makes more sense to me...
And I agree, completely.. Thank You for Your Input, I need more of it at this time..
" Did you ‘fix’ the Z80 monitor so you could use XMODEM to download code to the Z80? If so, this is an ideal opportunity to use it. "
I do have the Z80 Monitor working, Thanks to You, I had to take and print out Your Code listing, and then Edit another Version to "Look" like what You had sent me, and then I had a working Copy of the Monitor.. And that was without the XMODEM code, I'LL have to see what I need to cut down in the Monitor Code to make it fit in the allowable space..

THANK YOU Marty
 
Last edited:

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
I’ll check the source for the diagnostics presently (when I fire up my laptop) and see what it does use.

Apart from WARM BOOT and (perhaps) console I/O, and the odd reset drives BDOS call, I didn’t think it did anything more.

Most (if not all) of the ZFDC transfers seem to be done by itself using direct I/O instructions.

Most of the other stuff we should be able to delete, or call the Z80 monitor to perform the console I/O on our behalf.

If you can now assemble John’s code, why can’t you download and assemble both ‘halves’ of his Z80 monitor? You don’t need to delete anything? We modified the ‘first half’. We may need to do something similar with the ‘second half’.

I seem to remember your original problem was using offsets with your EPROM programmer to load the upper and lower half of the EPROM.

What EPROM programmer have you got and which version of software are you using to drive it?

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, Thanks for the Input..

" If you can now assemble John’s code, why can’t you download and assemble both ‘halves’ of his Z80 monitor? You don’t need to delete anything? We modified the ‘first half’. We may need to do something similar with the ‘second half’. "

Yes, I have to mostly make both Halfs, look alike, then everything should be Ok..

" I seem to remember your original problem was using offsets with your EPROM programmer to load the upper and lower half of the EPROM. "

I figured out "how" to do that, but, that was awhile ago, and I will need to have a go at it again, when the time comes..

" What EPROM programmer have you got and which version of software are you using to drive it? "

It is a Needham, model EMP-11, it runs on one of my other machines, which has Windows XP, which is all that it will run on, and it works fine..

I have ordered some parts, for the ZFDC Board, just to make sure that a Bad Part is not the Problem, they should be here in about a week or so..

THANK YOU Marty
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
7,355
Location
UK - Worcester
BDOS is only used at one place - just after label FINISH:. This can safely be removed...

The CO and CI routines will require modification to talk to the correct serial port (in the same why that we did with the Z80 monitor). We don't need to initialise the serial device, this has already been done for us by the Z80 monitor.

The code that JUMPS to location 0 will also have to be modified to re-start the Z80 monitor (leaving the screen results up) - or just doing a HALT to stop the CPU in it's tracks!

If you don't want to implement the XMODEM stuff etc. as pat of the Z80 monitor, you will have to find some alternative means of downloading code to the Z80 and executing it. There appears to be some form of 'memory modify' command within the Z80 monitor, so you could convert a binary output file from the assembler into a series of 'memory modification' commands to act as a very fast Marty typing things in at the serial port (assuming you are using hyperterminal or PUTTY or something similar).

You could also find the Z80 source code for a simple Intel HEX file downloaded and integrate that into the Z80 monitor program. It should be much shorter than the XMODEM code.

Dave
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

Dave, I'm printing up the two Master files, and then have a look at them, and compare them with what we did..

I am going to stay with the XMODEM program that John has and work with that, as it's already intragated into things and the problems are worked out..

Thank You for Your Help..

THANK YOU Marty
 

Marty

Veteran Member
Joined
Jul 26, 2009
Messages
3,141
Location
Boulder , Colorado USA
Hi All;

I have a new twist of a problem on the Serial Board, I don't know if it is the Serial Board itself, or the Z-80 Board which is the Problem..

On the Indicator Bar Led's, I have only the signals for RTS and DCD on, but, not the signals for CTS and DTR..

THANK YOU Marty
 
Top