Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    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

    Comment


      #47
      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 by daver2; April 18, 2020, 07:00 AM.

      Comment


        #48
        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

        Comment


          #49
          >>> 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%20Sy...oard/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

          Comment


            #50
            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

            Comment


              #51
              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

              Comment


                #52
                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

                Comment


                  #53
                  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

                  Comment


                    #54
                    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

                    Comment


                      #55
                      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 by Marty; May 10, 2020, 06:48 AM.

                      Comment


                        #56
                        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

                        Comment


                          #57
                          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

                          Comment


                            #58
                            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

                            Comment


                              #59
                              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

                              Comment


                                #60
                                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

                                Comment

                                Working...
                                X