Re: 8201a docs etc -- this is a helpful site. Not sure if it has exactly what you're looking for.
https://www.web8201.net/default.asp?content=tech.asp --Brad On Sat, Apr 17, 2021 at 6:19 PM Douglas Quagliana <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 and > note that this file ends in ".DOC" but it is a text file not a Microsoft > Word document.) > > -- -- Brad Grier