This doesn't matter but on the TPDD1, if you set the dip switches to
OFF ON ON ON, then you can dump the rom at 19200, and in that case I need to add a sleep after each S-record. I added 30ms just based a note for something else somewhere in the service manual that you should wait 25ms to between sending and reading, and 20ms didn't work, 25 did. So I just padded that to 30 to be safe.
No per-char delay, just one per S-rec.

The other "init 19200" setting in the manual seems to be something that reads the disk automatically like tpdd2 does.

The tpdd1 software manual dip switch table says:
"
mode     baud   1   2   3   4
init     9600   ON  ON  ON  ON *
init    19200*  OFF ON  ON  ON *
init    19200*  ON  OFF ON  ON
[...]
* First 19200 is for initialization. Second 19200 is for boot sequence (operation mode).
"

And the rom dumper works at 19200 with OFF ON ON ON,

And ON OFF ON ON does the following right at power-on:

- With no drive inserted, door open or closed:
  Batt light flash rapidly and continuously.

- With a disk inserted but not the tpdd1 util disk, this includes a regular filesystem disk, a raw data disk (no filesystem, ie the sardine dictionary disk), or a tpdd2 disk that the drive can't read at all.: Drive access light and disk motor on for about 1 second, then off, repeat forever.

- With the tpdd1 util disk inserted:
Drive access light and disk motor on for about one second, then off, and stays off.

But although something about the tpdd1 util disk satisifies the drive in some way, it doesn't work like the tpdd2 bootstrap where you just open the com port before powering on and the drive will start spitting something out the serial port without having to send those srecords from the normal tpdd1 boot directions.

I can only guess this was never intended for the fb-100 or knitting machines, since the fb-100 has only solder-jumpers in place of the dip switches. But maybe the same drive was going to be built in to some word processor or typewriter.

On 1/28/24 13:11, Darren Clark wrote:
Nice find! I wasn't looking at port 4 data since I assumed it was all address outputs, but P43, P44, P45 are configured as inputs on the TPDD2 (not on the TPPD1).

;Port4.B0    I/O        Pin37    P40    A8
;Port4.B1    I/O        Pin36    P41    A9
;Port4.B2    I/O        Pin35    P42    A10
;Port4.B3    Input    Pin32    P43    A11 E1    *Config jumper pulled hi
;Port4.B4    Input    Pin31    P44    A12 E2    *Config jumper pulled hi
;Port4.B5    Input    Pin30    P45    A13 E3    *Config jumper pulled hi
;Port4.B6    I/O        Pin29    P46    A14 *CS1 on CPLD
;Port4.B7    I/O        Pin28    P47    A15 *CS0 on CPLD

I've renamed the variable from '(RAM_INT)SerDatTX_2' to '(RAM_INT)PCB_ConfigSwitchesE1E2E3' this makes more sense.

I see in the code (F1FE to F210) the firmware is looking at E3 to determine while transmitting data to the serial port if it should use hardware flow control or XON (0x11) / XOFF (0x13), and then reads the serial data looking for an XON or XOFF byte.

E1 = ??

E2 = ??

E3 = Flow control - open is hardware, closed is software.


Another TPDD2 secret discovered! I'll do some more documenting in the code and update my GitHub tonight.


Daren Clark


On 1/28/24 08:48, Stephen Adolph wrote:
I'll add some info from your nicely documented code.

* A13 value is tested at 0xF1FE, and controls a branch to 0xF1EB; seems to change the way serial data is transmitted. hardware default is to branch. * A12 value is tested at 0xF071, not sure what it does yet.  hardware default is to branch. * A11 value is tested at 0xFF48, seems to change hardware interrupt handling. hardware default is to branch.

On Sun, Jan 28, 2024 at 8:31 AM Stephen Adolph <[email protected]> wrote:

    Darren, another question,
    There are some inputs on pins 30,31,32 (called A13, A12, A11) that
    correspond to P45, P44, P43 on the HD6301.

    Port 4 of the HD6301 is hooked up to pins 73.36,35,32,32,30,29,28
    for P40-P47.

    I'll go look at the code, but these 3 inputs are configurable.   I
    wonder what they do?

    Steve





    On Sun, Jan 28, 2024 at 8:21 AM Stephen Adolph
    <[email protected]> wrote:

        Thanks Darren.

        Now that we have the real tpdd firmware I wonder what we can
        do with it.  Some of those variables look tempting, like side
        and # of tracks.

        Another question.. it looks like was there a second
        unpopulated serial port on the drive? Anything in the code on
        that?
        P7 is unpopulated and not in the schematic, but it is there.

        Steve






--
bkw

Reply via email to