PDA

View Full Version : Osborne 1 how to enable 80 column mode?



mvno_subscriber
March 1st, 2017, 11:53 PM
Hi,

I'm trying to enable 80 column mode on my Osborne 1 screen pac - after some googling, I realized that the SETUP.COM on my system disks was too old, and that I needed a newer version. I'm not sure how to get hold of this, but then I thought I could probably modify the IOBYTE to achieve the same? Or does this need to be on disk and initialized during boot?

Does anyone have the spec, or an updated system disk? Any help would be greatly appreciated, as WordStar with 52 columns is a real pain.. :)


Bonus question: Is there any way to make WordStar wrap to a new line after 52 columns, instead of scrolling the screen? This would help immensely when typing using the built-in monitor :)

Adventurer
March 2nd, 2017, 01:03 AM
Hi,

Bonus question: Is there any way to make WordStar wrap to a new line after 52 columns, instead of scrolling the screen? This would help immensely when typing using the built-in monitor :)

Not sure about particular version, but some word processors of that era had an adjustable ruler, even ruler file, which was read when the program was launched, and it told the program when to start a new line.

KC9UDX
March 2nd, 2017, 03:00 AM
Did you run the Wordstar configuration?

ef1j91
March 2nd, 2017, 03:34 AM
Do you have a rig to write image files to disks? If so, find the extended utilities image "OS1XUTLS.IMD". The SETUP.COM on that disk has the ability to change screen size. (Mine says Osborne 1 Configuration Program Rev 2.6).

The settings can be written back to the boot tracks so the disk boots into 80 column mode.

I haven't delved too deeply into how it's actually controlling the 80 column mode, but earlier came across this discussion on an emulation board:

"It appears to take H=52/H=100 and HC-LEFT from the low two bits on the data bus when A10 is high, A11 is low, /IOSEL is low, and the CPU is making a write request."

at http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=102215&page=2

ldkraemer
March 2nd, 2017, 04:30 AM
I've located the files at:
http://www.retroarchive.org/maslin/disks/osborne/index.html

Then downloaded the two .TD0 files, created the two .IMD files (and the two .RAW files) extracted ALL files, and Zipped them
in two .ZIP files. (They were renamed to .PIZ because of gmail's actions.) Just download, save, rename to .ZIP, extract what
you need, transfer the file to your Osborne and execute your SETUP.COM. Or use Imagedisk to create a Floppy from the
.IMD file and access the floppy directly.

Link to both files:
https://drive.google.com/drive/folders/0B8jyUh4taKvqNUh0dHhsOGNvTDQ?usp=sharing

cpmtools [HOWTO] located at:
http://forums.debian.net/viewtopic.php?f=16&t=112244&hilit=[HOWTO]+Access

Good Luck!

Larry

mvno_subscriber
March 3rd, 2017, 06:35 AM
Thanks a lot! Currently my XT is down so I can't do disks, but I'll try to set up transfer through serial port. Looking forward to this!! :D

mvno_subscriber
March 3rd, 2017, 06:39 AM
Did you run the Wordstar configuration?

The WordStar INSTALL.COM basically only lets me set up printer configuration. I don't know of any other config apart from what can be done with SETUP.COM -- where I, with my version, can only set logical number of columns on screen. WordStar is set to 128 columns; if I change this to 52, display gets messed up as WordStar still thinks it has more columns per line.

KC9UDX
March 3rd, 2017, 06:40 AM
The WordStar INSTALL.COM basically only lets me set up printer configuration. I don't know of any other config apart from what can be done with SETUP.COM -- where I, with my version, can only set logical number of columns on screen. WordStar is set to 128 columns; if I change this to 52, display gets messed up as WordStar still thinks it has more columns per line.

Strange. Do you have an Osborne specific Wordstar? Or generic?

ef1j91
March 3rd, 2017, 10:20 AM
Did you try the SETUP.COM in the OS1XUTLS files that Larry posted? That should be the correct version.

36695

mvno_subscriber
March 5th, 2017, 05:56 AM
I'm currently trying to transfer files from my Win10 laptop (it's all I got that works right now) to the Osborne. I have a USB to serial adapter, trying to send data using DosBox configured to use COM1 (it comes up as COM1 in device manager).

However, apart from the 1200 baud bit, I don't know what to set for parity bits, stop bits etc. I also have no idea whether the USB-to-serial is actually sending anything. MODE COM1 in command prompt Win10 gives me the following:

Status for device COM1:
-----------------------
Baud: 1200
Parity: None
Data Bits: 8
Stop Bits: 1
Timeout: OFF
XON/XOFF: OFF
CTS handshaking: OFF
DSR handshaking: OFF
DSR sensitivity: OFF
DTR circuit: ON
RTS circuit: ON


I run DosBox in administrator mode. If I try to make a quick QuickBasic program that opens COM1 and sends some data, it times out.

ldkraemer
March 5th, 2017, 06:18 AM
I'm assuming you have a DB9 for the USB to Serial Adapter. Since DTR and RTS are ASSERTED (HIGH)
try just leaving the port unconnected and try to get an echo back from your transmitted data.
Jumper:
DTR to DSR on the DB9
RTS to CTS on the DB9

You can probably leave XON/OFF OFF and then try CTS & DTR handshaking ON. Windows may or
may not use hardware handshaking, or the same with XON/XOFF. You just need the echo of data first.

Once you get an echo back of what was transmitted then connect the two computers.

You can also download Hyperterm for Win10 and try Hyperterm.

Larry

mvno_subscriber
March 5th, 2017, 07:36 AM
Ok, so I've tried Putty and Hyperterm, but none of them did anything.

However, I noticed that when not connected to the Osborne, the BASIC program would time out when opening the COM1 device, whereas when it was connected, it would open the connection and time out only after having sent a little data. So it was getting a connection somehow, except the Osborne didn't read any data.

On the Osborne side, I've tried reading by using PIP (i.e. PIP a:test=rdr: ), however I'm not really sure the Osborne uses RDR: as a reference for the serial connection? Didn't find anything in the manual, but it might simply be I haven't looked hard enough.

I don't have a female-female DB9 adapter, but I'm using my modem cable which has both DB9 and DB25 on one end - I assume they are connected, so I put jumper wires between pin 4-5 (RTS-CTS) and 6-20 (DSR-DTR). This didn't work at all, but I'm not sure if that's just because of my setup.

ldkraemer
March 5th, 2017, 02:50 PM
YEP, that is because I forgot to include TX to RX. On the DB25 it will Be Pin 2 TX connected to Pin 3 RX.
Pins 4-5 (RTS to CTS) and 20-6 (DTR to DSR) is also correct.

Try with just those pins jumpered, and the RS-232 not connected to anything. It should echo back what you type.
Once you get the echo you know it's working correctly. Then, you can try removing the jumper from DB25 Pins 4-5.
See if it still works. If so, remove the jumper from 20-6 and see if it continues to work.
That will tell you what Pins need to be connected for Your Terminal software to function under Windows.

Sorry for the confusion.

Larry

mvno_subscriber
March 6th, 2017, 11:28 AM
Tested, and loopback works fine (only needed tx/rx pins), but what do I do now? Ozzie still doesn't seem to take any input, baud rate is set correctly at 300 (just to be sure). I send some characters down the line, then when I'm done I press CTRL+Z on the Osborne to indicate end (doing so from my PC doesn't affect it). Is there any other way than using PIP I can monitor the serial input?

mvno_subscriber
March 6th, 2017, 12:07 PM
So this is from the technical manual:

The serial port is configured as a DTE device

RS232 Pinouts
Below are the pin assignments for the RS-232 serial interface:

DB-25SRS-232Pin Definition
1AAFrame ground (optional)
2BATransmitted data (low = 1)
3BBReceived data (low = 1)
4CARequest to send (high or no connection enables)
5CBClear to send (always high on acc 1)
6CCData set ready (always high on acc 1)
7ABSignal ground
8CFReceived line signal detected (always high)
20CDData terminal ready (high or no connection enables)


Does this mean I have to ensure certain pins are set high? How does this translate to "normal" serial port settings?

ldkraemer
March 6th, 2017, 01:55 PM
Let me try to explain. The two computers you are using have hardware ports that are setup by software.
Each computer is different. One has a Serial Port that has a DB25 Connector and is wired as a DTE.
DTE is Data Terminal Equipment, meaning that the Transmit line is on Pin 2. That is likely your
Osborne, and it's running some Modem software, which uses either a Hardware Handshake or
the XON/OFF Protocol to not overrun the buffer on the receiving computer.

Your PC type computer also has a USB port and has a USB Dongle that creates a Serial port with a
DB9 connector (or DB25 Connector). That DB9 connector is likely wired as a DTE also. (versus a DCE
Data Communications Equipment. DCE's are typically things like a printer or Modem, but there is a VERY
loose STANDARD.) And your PC is using some terminal or modem program to control the hardware to
communicate with the Osborne.

But two different guys wrote the software and you have no clue as to how they coded their software, or how they
designed it to work. But you have a method of testing each end to see how it works. So, just follow along.

To test the Osborne's DTE Port, set your Baudrate, BitsperChar, StopBits, and Parity to some setting.
I'll pick 1200, 8, 1, None for this test. Now on the DB25, short Pin 2 (TX) to Pin 3 (RX), Pin 4 (RTS)
to Pin 5 (CTS) and Pin 20 (DTR) to Pin 6 (DSR). This gives you one end of what is called a NULL MODEM
CABLE. Now use your Modem Program (Terminal) to transmit an ASCII Test file out the selected Port.
You should see the lines of ASCII Text scroll up the screen. (Try picking a file that is around 5-10K so
it's large enough to give you some time to test.

If the screen scrolls and displays the complete ASCII TEXT, then remove the Jumper from Pin 20 to Pin 6.
And repeat the test. If everything still works, then you don't need that jumper on this end to be LOOPED
BACK to the Osborne. But it still might need to be sent to the other Computer's Serial Port.

Now remove the Jumper from Pin 4 to Pin 5 and repeat the test. If everything still works, then you don't need
that jumper on this end to be LOOPED BACK to the Osborne. But it still might need to be sent to the other
Computer's Serial Port.

Now, set the PC to the same RS-232C Parameters. Try the PC Computers Software doing the exact same testing,
only use the proper Pins for a DB9 (or the DB25). You should have similar results, so make good notes of what
Jumpers need to be installed and removed for each end.

Finally connect the OSB DB25 TX pin to the PC DB9 RX Pin. Same for the OSB DB25 RTS Pin to the
PC DB9 CTS PIn. Same for the OSB DB25 DTR Pin to the PC DB9 DSR Pin. Same for the PC DB9
RTS Pin to the OSB DB25 CTS Pin. Same for the PC DB9 DTR Pin to the OSB DB25 DSR Pin.
Of course you need the OSB Pin 7 (GND) connected to the PC DB9 Pin GND.

Now, Send the same ASCII File from OSB to PC, and capture it on the PC. Then SAVE the File and view it.
If it's good then transmit it from the PC to the OSB and save it, then View it.

Further testing can be to remove the unnecessary jumpers as needed, but it's not required.

Once you can send a large ASCII file, then you can use the Xmodem Protocol to send the files you need
to the appropriate Computer.


I typically draw out the connections on paper after the initial testing of each computer using the following.
Note that if you are connecting a DTE to DTE you will cross the Lines for TX & RX, RTS & CTS, and
DTR & DSR. Plus you need GND to GND on both ends.


DB25
2 ........TXD ........--> ........Transmit Data
3 ........RXD ........<-- ........Receive Data
4 ........RTS ........--> ........Request to Send
5 ........CTS ........<-- ........Clear to Send
6 ........DSR ........<-- ........Data Set Ready
7 ........GND ........--- .........System Ground
8 ........CD ..........<-- ........Carrier Detect
20 .......DTR .......--> ........Data Terminal Ready


DE9
1 ........DCD ........<-- ........Data Carrier Detect
2 ........RXD ........<-- ........Receive Data
3 ........TXD ........--> ........Transmit Data
4 ........DTR ........--> ........Data Terminal Ready
5 ........GND ........--- ........System Ground
6 ........DSR ........<-- ........Data Set Ready
7 ........RTS ........--> ........Request to Send
8 ........CTS ........<-- ........Clear to Send
9 ........RI ...........<-- ........Ring Indicator



Larry

ldkraemer
March 6th, 2017, 02:28 PM
I send some characters down the line, then when I'm done I press CTRL+Z on the Osborne to indicate end (doing so from my PC doesn't affect it). Is there any other way than using PIP I can monitor the serial input?

It would be easier if you test by using some type of Terminal Program or Modem Program. Modem7 is for the Osborne and should work well.


;
; M7OS-2.ASM - Osborne Overlay for MDM7xx - 5/16/84
;
; You will want to look this file over carefully. There are a number of
; options that can be used to configure the program to suit your taste.
;
; Use the "SET" command to change the baudrate when desired. It starts
; out at 300 baud when the program is first called up.
;
; NOTE: Any programmer updating the main program should check the
; address: SETUPADR -- it may have changed with your update.
; Alter accordingly.
;
;
; TO USE: First edit this file filling in answers for your own
; equipment. Then assemble with ASM.COM or equivalent
; assembler. Then use DDT to overlay the the results
; of this program to the original .COM file:
;
; A>DDT MDM7xx.COM
; DDT VERS 2.2
; NEXT PC
; 4A00 0100
; -IM7OS-2.HEX (note the "I" command)
; -R (loads in the .HEX file)
; NEXT PC
; 4A00 0000
; -G0 (return to CP/M)
; A>SAVE 73 MDM7xx.COM (now have modified .COM file)
;

http://www.retroarchive.org/cpm/cdrom/CPM/MODEMS/MODEM7/


Larry