Boot disk for c1p

Mark
Posts: 297
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: Boot disk for c1p

Post by Mark »

Glad to hear your OSI is working.

After reset there should be no garbage characters on the screen. Garbage in columns could be bad video RAM or address decoding & I/O. Many times just cleaning the 8T26 sockets and reseating chips & boards will resolve those kinds of problems.

So the first thing is to get the OSI talking to the outside world using the serial port. I don't have links to specific modification articles handy, but you need a serial connection of at least 300bps or preferably 9600bps. Does your system come with a OSI 502 or OSI 505 CPU board? (I'd guess 505).
There is a way to speed up serial transfer by 16x, so a 300bps connection can run at 4800bps by changing the clock divider of the ACIA in software from /16 to /1. Let me know if you need to go that route.

To check RAM, you can use a small OSI memory test program at http://osi.marks-lab.com/software/files ... estMem.zip
You'll need to connect the OSI via serial port, then after <RESET> press 'M' and then 'L' to begin to load a ".lod" or OSI 65V monitor file.
Send the file contents as raw ASCII to the OSI. Be sure to use 8N2, the default OSI serial word format.
(It's a very simple memory test as it only occupies 1K of RAM, however it is good at finding errors.)

Once RAM is verified, you can use David Gesswein's OSI floppy disk test program to verify your floppy drive read & writes correctly.
http://www.pdp8online.com/osi/osi-floppy-test.shtml

When your floppy drive is working you can use my OSI Disk Tool to write any OSI floppy disk dump image without need for transferring partial images into memory etc. You will need a terminal program that can transfer via Xmodem. Be sure to use 8N2. I've used Tera Term with good results.

All these OSI programs are at https://osi.marks-lab.com/software/tools.html#OSITools

You can find many OSI disk images at https://osi.marks-lab.com/software/osios5.html

Good Luck!
Mark
Posts: 297
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: Boot disk for c1p

Post by Mark »

Here's a 21-byte program you can enter from the monitor to echo characters from the OSI serial port input to output.
After RESET on the OSI, press M to enter the monitor and enter the following, press <RETURN> after each line.
This program will echo any character received to the serial output, allowing you to test the connection and speed.
(Or assuming serial input is actually working, you could send the attached .lod files as ASCII data.
After RESET press M then L to load from serial.)
-Mark

Code: Select all

.0300/AD
00
FC
4A
90
FA
AC
01
FC
AD
00
FC
4A
4A
90
F9
8C
01
FC
B0
EB
.0300G

Code: Select all

;Echo characters from serial In to serial Out
ACIA=$FC00		;C2/C4/C8 ACIA. For C1 change to $F000
*=$0300
	.EXE *      ;emit A65 "go" address
START
	LDA ACIA	;wait for character on serial port in
	LSR A
	BCC START
	LDY ACIA+1
OUTWAIT
	LDA ACIA	;write character to serial out
	LSR A
	LSR A
	BCC OUTWAIT
	STY ACIA+1
	BCS START
Here is a slightly longer program to copy echoed characters to the display. (No character processing is done, it just shows raw data).

Code: Select all

.0300/A9
D0
8D
1D
03
A2
00
AD
00
FC
4A
90
FA
AC
01
FC
AD
00
FC
4A
4A
90
F9
8C
01
FC
98
9D
00
D0
E8
D0
E6
EE
1D
03
AD
1D
03
C9
D8
90
DC
B0
D3
.0300G

Code: Select all

;Echo characters from serial In to serial Out and display
ACIA=$FC00		;C2/C4/C8 ACIA. For C1 change to $F000
*=$0300
	.EXE *		;emit A65 "go" address
START
	LDA #$D0
	STA SCRN
	LDX #$00
INWAIT
	LDA ACIA	;wait for character on serial port in
	LSR A
	BCC INWAIT
	LDY ACIA+1
OUTWAIT
	LDA ACIA	;write character to serial out
	LSR A
	LSR A
	BCC OUTWAIT
	STY ACIA+1
	TYA
SCRN=*+2
	STA $D000,X
	INX
	BNE INWAIT
	INC SCRN
	LDA SCRN
	CMP #$D8	;change to D4 for C1
	BCC INWAIT
	BCS START
Attachments
OSI_Echo.zip
Source and object files
(1.49 KiB) Downloaded 525 times
Post Reply