I ran a packet station on the Iditarod Race start line in 1987. the equipment was a Yaesu FT221R transceiver a MFJ 1270 TNC and a Model 100. We were the backup for the starting timer. Great Fun and a Little cold. The rig was a red Toyota Land Cruiser, and we parked on Knik Lake. 73's to all Mike, KL7ILA

On 4/19/2021 10:38, Alex ... wrote:
Douglas,
You make a very good point. I'd never even considered that the UART might get in the way. After a look over the datasheets for the chip, there doesn't seem to be any way to disable the stop bit functionality and turn it into a dumb shift register.

Now I'm wondering if the old modem chip could still be utilized in a hybrid approach: Bypass the UART and read/write bits directly to the modem via the 8085's SID/SOD lines? It could be less work for the CPU this way, since the modem can deal with the waveforms and frequencies in hardware. That's another hardware mod, and still leaves the timer problem.

Regarding hardware mods to the M102, the way I see it is: When am I going to use this modem on a telephone line ever? Using the RIT is a good idea though. 🙂

Jeff,
If you want to use the Tandy as a terminal with an external TNC like I've been doing the past week, you just hook it to the serial port with the necessary adapters and use TELCOM to type commands to the TNC. Make sure you turn on flow control or your TNC will probably outrun the old model T. So far I've used it to send Winlink email through a local VHF RMS node and made a couple of contacts on HF.

On Sat, Apr 17, 2021 at 8:19 PM Douglas Quagliana <dquagli...@gmail.com <mailto:dquagli...@gmail.com>> wrote:

    >How much of the 8085's time will be left to do anything useful at
    all with the data with it essentially bit-banging the waveforms
    like that?

    Probably not much CPU time will be left while receiving.  But
    packet radio is half-duplex on HF and VHF.  If you are connecting
    to a packet radio BBS or having a keyboard to keyboard chat with
    another human, there isn't much that the CPU needs to do except
    display the received data and look for keys being pressed on the
    keyboard.

    > With the modem and UART hardware doing the hard layer 1 work,
    the CPU should have plenty of cycles to spare to deal with the bit
    stuffing, encoding, CRC checks, AX25 packet structure, etc.

    Can the Model 100's modem/UART hardware be configured to just
    demodulate bits synchronously?  The way the modem/UART would be
    used over the phone lines would be asynchronously (the "A" in
    "UART"), where every 7 (or 8) data bits are placed in between a
    start bit and a stop bit, and maybe with a parity bit at the end
    of the character being sent.  "8N1" is really a start bit, eight
    data bits, no parity bit and one stop bit. These ten bits for a
    character are sent, then there could be a pause for a small
    fraction of a second and then the start bit for the next character
    is sent.  That's "asynchronous" serial.

    However, AX.25 packet radio doesn't work that way. It's
    synchronous. AX.25 uses an HDLC flag byte (0x7E) as a "start of
    data frame" indicator and then a continuous stream of bits (all
    the data bits for the whole packet one after another) with zero
    bits stuffed in after five contiguous one bits and then another
    HDLC flag for the end of the packet.  In AX.25 there are no start
    bits, no stop bits and no parity bits.  If there is a way to tell
    the Model 100's modem/UART "Hey just send me straight bits for
    what you see, synchronously, not asynchronously" then maybe we can
    receive 300 baud AX.25 packet radio but if the UART is expecting
    start/stop/parity bits, then the modem/UART won't be able to
    receive 300 baud AX.25 packet on HF.

    You could still use the internal modem/UART to send/receive ASCII
    Bell 103, start/data/stop/parity, but I don't know if anyone still
    uses that on HF anymore. Probably, I just don't know. W1AW used to
    send ASCII bulletins, but they replaced ASCII and AMTOR with PSK31
    and MFSK16 back in 2009.  If you go this route, I would just
    adjust RIT and XIT on the radio so that the tones are what the
    modem expects for ORIG and ANSWER so that you don't need to make
    hardware mods to the M100.

    On the other hand, the cassette port data is similar to AX.25
    packet in that there is a sync/header byte and there (usually)
    aren't start/stop/parity bits, just straight bits. (Some NECs
    write two stop bits after the data byte.) The challenge is that
    the cassette port/RIM instruction only gives you "signal is above
    zero" or "signal is below zero" so all you can get is above/below
    and the timing information on the zero crossings of the waveforms.
    It's not really an analog-to-digital converter except for that one
    bit. See Figure 3-9 "Demodulation Circuit of Cassette Interface"
    on page 17 of the Model 100 Technical Reference Manual.  But, the
    nice part about this small circuit is that it doesn't care much
    what the baud rate or the frequencies of the signals are.  It just
    takes an analog input waveform and outputs a square waveform to
    the CPU pin.  All of the cassette reading and writing is done in
    software in the ROM routines. The cassette "format" that the M100
    uses of 1500 baud with a mark of 2400Hz and space of 1200Hz is
    entirely implemented in software timing routings independent of
    any hardware. The challenge for receiving packet radio is to
    rewrite the cassette ROM routines to change the baud rate to 1200
    and the mark to 2200Hz.  This would have to be done in 8085
    assembly as BASIC just isn't fast enough. Note that some other
    laptops similar to the Model100 like the NEC PC-8201A/PC-8300
    already use a different baud rate for cassette I/O. (The NEC
    laptops use 600 baud if I recall correctly.)  "It's only software."

    Ok...I'll be going back to looking at zero crossing demodulators....

    Does anybody have a ROM disassembly for the NEC PC-8201A/PC-8300
    ?  I'd like to see how they do the timing for their 600 baud
    cassette format.

    Regards,
    Douglas
    *"The task of receiving 1200 baud AX.25 as cassette signals would
    be easier if there was a timer that ran at 1200 Hz, but the
    uDP1990 chip can't generate 1200 Hz. By default its timer runs 256
    times per second and while you CAN hook that in software, 256 Hz
    won't help when we want a 1200 Hz timer. But I digress...(More
    info on the uDP1990 and the 256 Hz interrupt that you can hook see
    https://ftp.whtech.com/club100/ref/watchdog.doc
    <https://ftp.whtech.com/club100/ref/watchdog.doc> and note that
    this file ends in ".DOC" but it is a text file not a Microsoft
    Word document.)



--
Disclaimer: Any resemblance between the above views and those of my employer, my terminal, or the view out my window are purely coincidental.  Any resemblance between the above and my own views is non-deterministic.  The question of the existence of views in the absence of anyone to hold them is left as an exercise for the reader. The question of the existence of the reader is left as an exercise for the second god coefficient.  (A discussion of non-orthogonal, non-integral polytheism is beyond the scope of this article.) Thanks /usr/games/fortune

Reply via email to