[sebhc] Fw: Re-creating actual floppies from archive
Robin England
robin.england at dial.pipex.com
Wed Mar 22 13:15:11 CST 2006
Hi Dwight
I replied to your email off-list (please see below) but I think you may not
have received it due to spam filter?
Apologies if you've already seen it and haven't had time to reply. Also I
was wondering what 8080 assembler
you recommend for writing code on the H89? I think I need to write something
to test the LP port!
Regards
Robin
----- Original Message -----
From: "Robin England" <robin.england at dial.pipex.com>
To: "Dwight Elvey" <***********>
Sent: Monday, March 20, 2006 10:34 PM
Subject: Re: Re-creating actual floppies from archive
> Hi Dwight
>
> Thanks for your help so far. Sorry to hear about your video problem;
funnily
> enough the same happened to one of my H/Z89s the other day when the 53v
> regulator transistor decided to go short circuit for no reason!
>
> No, unfortunately I've still not got to the bottom of the problem with the
> loader. Quite simply, the H89 does not appear to be dealing with the
serial
> input from the PC. The area of memory that should be overwritten by the
> loader (starting at 046-133) remains unchanged when I go back & check it.
>
> I've thoroughly tested my serial cable and the wiring right up to the LP
> connector on the serial card. I've checked the schematic I have to confirm
> that the correct signals are connected to the right pins on the 8250 (via
> the RS232 / TTL level shifters of course). The -12v, +12v and +5v rails
are
> present and correct.
>
> I'm not sure but I think that perhaps the 8250 is not at the right address
> (you've got 0x0E0 as the base address for the LP 8250 in your bootloader).
> There are no jumpers on the serial card (other than IRQ) and I guess that
> the address decoding for the three 8250s on the serial card is done in the
> I/O map decoder U550. Is the address for the LP port fixed in all H89
> variants?
>
> As mentioned before, if I connect the brown molex connector to the
terminal
> board instead of the LP port, I can send and receive characters between
the
> H89 terminal and the DOS PC. If I send a ? to your H89TRANS program after
> I've sent the loader (which gets dumped to the H89's screen of course)
then
> it returns to the command menu, however this does not happen when the LP
> port is connected.
>
> In case I've missed anything, and as you've suggested, here is a
> step-by-step account of what I have done :-
>
> 1) Connect a serial cable between COM1 of a PC running (pure) DOS and the
> Line Printer serial connector on the H89. The LP port is wired as a DCE
and
> connects to P603 (top connector, marked LP) on the serial card. The serial
> cable has been made up by me and I have checked that the wiring is
correct.
> It is a 9-way to 25-way d-type lead (the DOS PC has a 9-way port) so the
> TX/RX pins go 2-2, 3-3 etc.. I've wired the handshaking lines up correctly
> too (rather than just loopback).
>
> 2) Switch on the H89. With no disk in the drive, press B followed by
return.
> The disk drive spins. At this point I have tried waiting for the "Boot
> Error?" message to appear, or have pressed right-shift RESET to interrupt
> the load attempt and go back to the H: prompt, with the same results.
>
> 3) At the H: prompt, I then enter the octal listing you have given in the
> file BOOTSTRP.OCL using the S (substitute) command and beginning at
address
> 43000. I enter each value for each address, pressing space to
automatically
> go to the next value. After entering the value for the last address, I
press
> enter to return to the H: prompt.
>
> 4) At the H: prompt, I then start the bootstrap loader with G 43000. The
> cursor on the H89 jumps to the next line. No other characters are printed
on
> the H89 screen.
>
> 5) On the DOS PC, I change to a directory in which I have all the files
that
> are included in the archive H89LDR9. I start H89TRANS.COM and the program
> prompts me for the COM port. I enter 1 (there is only one COM port on the
> DOS machine). The program displays the value "1AC" followed by the command
> menu. I then press L to send the next loader to the H89.
>
> At this point nothing further happens. I've left it for ten minutes plus
> with no change. The command menu is never redisplayed. I can escape the
DOS
> program with the ESC key. On the H89, I can do a shift-RESET and then look
> at the locations from 43000 where I find the bootstrap loader still in
> memory, but nothing has changed!
>
> Do you think that the address of the LP port's 8250 could be the problem?
> Unfortunately I don't have an 8080 assembler, so I'm unable to do what you
> suggested with the code changes.
>
> Thanks for any further ideas you may have, hope you had a good weekend !
>
> Robin
>
> ----- Original Message -----
> From: "Dwight Elvey" <***********>
> To: <robin.england at dial.pipex.com>
> Sent: Monday, March 20, 2006 9:55 PM
> Subject: Re: Re-creating actual floppies from archive
>
>
> > Hi Robin
> > I was wondering if you made any progress?
> > Dwight
> >
> >
> > >From: "Robin England" <robin.england at dial.pipex.com>
> > >
> > >Dwight, many thanks for your suggestions. The one about the TX/RX lines
> > >being swapped on the header to the serial card is an interesting one. I
> have
> > >got an RS232 light box somewhere, so I'll dig it out and have a look.
> > >Incidentally yes I was pressing B with return, then shift-reset and
then
> > >entering and starting the 50 or so bytes of boot code from location
43000
> > >and the DOS program was not responding with the command menu or an
error,
> so
> > >I guess it never got a ? back from the H89.
> > >
> > >I'll try a few things out and will let you know how I get on. Hope your
> > >weekend in the mountains goes well, cheers Robin.
> > >
> > >----- Original Message -----
> > >From: "Dwight Elvey" <***********>
> > >To: <sebhc at sebhc.org>
> > >Sent: Friday, March 17, 2006 1:20 AM
> > >Subject: Re: [sebhc] Re-creating actual floppies from archive
> > >
> > >
> > >> >From: "Robin England" <robin.england at dial.pipex.com>
> > >> >
> > >> >Hi Dwight
> > >> >
> > >> >Thanks for your comments. Well I've tried it but cannot get it to
> work.
> > >I've
> > >> >followed the instructions to the letter, but can you clarify a
couple
> of
> > >> >points for me? First, when you initially turn on the H/Z89 and press
B
> > >with
> > >> >no disk in the drive, I assume that it *is* necessary to press enter
> at
> > >this
> > >> >stage to actually start the boot attempt in order that the BIOS
> variables
> > >> >are initialised? Secondly, what should the DOS utility H89TRANS
> respond
> > >with
> > >> >after you've pressed L and it has successfully sent the loader (e.g.
> > >should
> > >> >the command prompt re-appear?).
> > >>
> > >> I assume that after doing the B ( and yes, on some machines you need
> > >> the return. I don't think it is need on the old H89's ) you then
> > >> enter the 50 or so bytes from the monitor and started that program?
> > >> Note that you need to use the reset button and not cycle the power
> > >> to restart after the B command ( I had another fellow do this.
> > >> See my note at the end of the post. I took forever for me to
> > >> get him to tell me what he was doing. ).
> > >>
> > >> >
> > >> >I'm finding that when I start H89TRANS and select the correct COM
port
> > >> >(COM1) I get the command menu. Then I press L (obviously with cable
> > >> >connected and H/Z89 running the loader code) and it just sits there.
> As
> > >the
> > >> >loader seems to be only about 800 bytes I'd expect it to complete
> fairly
> > >> >quickly at 9600 baud, but it does nothing. I can exit the DOS
program
> > >with
> > >> >ESC, so the DOS PC hasn't hung.
> > >>
> > >> It shouldn't hang, it should return with the menu. ( 686 bytes to be
> exact
> > >> or about 6 seconds ). I think you also need the H89LDR2.BIN file
> > >> to be in the same directory you were in when you started H89TRANS.
> > >> I think that error aborts back to DOS,though.
> > >>
> > >> >
> > >> >I'm pretty sure that the problem is not with the RS232 side of
things
> > >(cable
> > >> >etc). If I connect the internal serial cable (brown molex conn) to
the
> > >> >terminal board instead of the serial card, I can happily send
> characters
> > >> >from the DOS PC (using Procomm) and receive them from the Z/89
> keyboard,
> > >> >which suggests all is OK there. If I keep this setup and run your
> > >H89TRANS
> > >> >on the DOS PC, upon pressing L the loader is clearly sent because I
> can
> > >see
> > >> >it dumped to the H/Z89 screen.
> > >> >
> > >> >So, I believe that the problem I have is related to the internal
H/Z89
> > >> >serial configuration. On my serial card, the LP port is labelled on
> the
> > >> >silkscreen of the PCB as being the topmost connector (when viewed
with
> > >the
> > >> >card as mounted normally). However I have tried both the other
serial
> > >ports
> > >> >without success. I have also looped the CTS/RTS DSR/DTR handshaking
> lines
> > >at
> > >> >the Z/89 connector just in case the BIOS serial routines require the
> 8250
> > >to
> > >> >use these.
> > >>
> > >> Then, I suspect that the top one is the right one but you may
> > >> have to swap lines 2 and 3 or move the brown connector cable.
> > >> As I recall, there are some jumpers to select this on the serial
> > >> board but my memory is a little fuzzy here as to if that was
> > >> the H8 or the H89 that had the jumpers to swap these lines.
> > >> I do recall that the LP port had the 2 and 3 wires swapped
> > >> relative to the normal serial port. Do you have a serial status
> > >> light box? If not, you should have one.
> > >>
> > >> >
> > >> >The serial card itself only has jumpers for IRQ setting. In the case
> of
> > >both
> > >> >my machines, the IRQ setting is OFF for all three 8250s. I'm not
sure
> > >what
> > >> >other jumper / switch settings may be important? As far as I can
tell,
> > >the
> > >> >DIP switch on the logic board is concerned only with the serial I/O
> > >between
> > >> >terminal board and logic board.
> > >>
> > >> I don't use interrupts so that is correct, IRQ off. I'll check these
> > >> this weekend.
> > >>
> > >> >
> > >> >Also, is it possible that your code will not work on certain BIOS
> > >versions?
> > >> >I'm not sure but I think I've got MTR-90 on this machine (it
supports
> the
> > >> >(V)iew function).
> > >>
> > >> There was an issue with the motor timeout that another had
> > >> with a Z90. He was able to get it to work after I patched
> > >> the code so I suspect it should work with your code. The first
> > >> part of the code doesn't use any of the ROM code so it is
> > >> unlikely that this is an issue. It isn't until it is actually
> > >> reading and writing a disk that it uses anything in the ROMs.
> > >>
> > >> >
> > >> >Have you any suggestions or perhaps some code that will dump input
> from
> > >the
> > >> >LP serial channel to the H/Z89 screen as a test? I will look at
> writing
> > >this
> > >> >myself if not, however my time with these machines has been more
> focussed
> > >on
> > >> >restoring the hardware itself and not the programming yet!
> > >>
> > >> Look to make sure that the 2 and 3 signal lines are both driven.
> > >> Use the top connector if that says LP. I suspect that that is the
> > >> correct port if the board says LP. I won't be able to check my
hardware
> > >> setup until this weekend and won't be at a computer on the web
> > >> until Monday ( the place is in the mountains ).
> > >>
> > >> For the loader part, the boot strap you enter into the H89 just
> > >> sets up the serial port and reads the bytes into memory. It writes
> > >> the data starting at the high end of the code and then continues
> > >> to write until it writes over the last byte of the loader. This
> > >> causes the code to go forward to where there is some code that isn't
> > >> position sensitive to reposition the actual code such that if there
> > >> were any additional bytes ( up to 3 more or less bytes by 1 ) that
the
> > >> code was off, it'll put things in the right place.
> > >> Once the code is moved, it will then flush any remaining '0'
> > >> from the serial ( NOP's ) and wait for the PC to send the first
> > >> real command. The command ( as I recall ) an illegal command.
> > >> As I recall, the H89 should then respond with a '?'. If so,
> > >> the PC believes that the main code has been loaded and is
> > >> ready to run.
> > >> Knowing this, you could setup your terminal program on the H89
> > >> and wait until you think the loader is done loading. You can then
> > >> reply with a '?' character sent from the H89 to the PC. It
> > >> should then bring the menu back. This will tell you that the
> > >> serial connection is working both ways for the PC program.
> > >> I don't think that the terminal program should echo for
> > >> the first part as the code is load but you might try it
> > >> both ways, with and without echo ).
> > >> I'll try and look at my code on the PC tonight and see if
> > >> I'm correct about the last handshake. I believe the assembly
> > >> source code is in the release for the part that is transferred
> > >> to the H89 from the PC as H89LDR2.ASM. After the code has been
> > >> transferred, you can drop back to the monitor on the H89 and look
> > >> to see what is in the location 043 141 (split octal) and on.
> > >> This code should match what the assembly code would create
> > >> at the location of MAININT in the assembly code. Bytes before
> > >> that may not match exactly the posistion.
> > >> I don't recall if the H89LDR2.BIN file is stored byte reverse
> > >> order or if I just reverse send it on the fly from the PC.
> > >> One other thing. When talking to others to trouble shoot, I
> > >> find that they tend leave out important details about what
> > >> they did( similar to me not having the 'CR' after the B ). In
> > >> order to make sure I know just what you've done could you
> > >> give me a complete step by step report of what you did?
> > >> Please be complete or it will be a waste of both our time.
> > >> Include an estimate of the delay in time between each step.
> > >> This may seem trivial to you but otherwise I'm working blind.
> > >> This should give you enough to get things get started.
> > >> Dwight
> > >>
> > >> >
> > >> >Regards
> > >> >Robin
> > >> >
> > >> >----- Original Message -----
> > >> >From: "Dwight Elvey" <***********>
> > >> >To: <sebhc at sebhc.org>
> > >> >Sent: Thursday, March 16, 2006 12:36 AM
> > >> >Subject: Re: [sebhc] Re-creating actual floppies from archive
> > >> >
> > >> >
> > >> >> Hi
> > >> >> Do make sure and let me know how it works for you!!!
> > >> >> Also, make sure and follow the steps. When I do it,
> > >> >> I forget to do the first disk attempt after powering on.
> > >> >> It just won't work because I depend on the bios to
> > >> >> initialize the variables and the controller. I need
> > >> >> to carefully read my own instructions.
> > >> >> Later
> > >> >> Dwight
> > >> >>
> > >> >>
> > >> >> >From: "Dwight Elvey" <***********>
> > >> >> >
> > >> >> >Hi Robin
> > >> >> > I don't recall which jumper setup was correct for the
> > >> >> >serial but as I recall, things were just what was the
> > >> >> >
> > >> >> ---snip---
> > >> >>
> > >> >>
> > >>
> > >>
> > >> --
> > >> Delivered by the SEBHC Mailing List
> > >
> > >--
> > >Delivered by the SEBHC Mailing List
> >
> >
>
--
Delivered by the SEBHC Mailing List
More information about the Sebhc
mailing list