Upgrade 610 from 2114 RAM to 6264 8K x 8

davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

Hello again. Back from vacation.

I tried to write a small machine code program to loop in the new 6264 memory and display a count on the
display by writing to D000- D3FF video RAM, but for some reason that did not work so I wrote the following
program and used the monitor to key it into locations 3800, 5800, and 7800 to test each memory chip and
show success by incrementing location 0500 from a value of 0000. It was a success, so I agree with Mark
that the memory is working properly.

A21F LDX #$1F
AD0000 LDA #$0000
8D0005 STA #$0500
A0FF LOOP1 LDY #$FF
88 LOOP2 DEY
D0FD BNE LOOP2
EE0005 INC #$0500
CA DEX
D0F5 BNE LOOP1
F0FE HANG BEQ HANG

So now I have to analyze why DOS/65 does not boot in the new memory after track 0 is loaded. But I
first need to know if it gets loaded successfully. Looking at the documentation it appears that it tries
to dynamically load at the highest possible memory location. Does anyone know if that is correct?

So my plan is to boot the working system and use the monitor to learn where DOS/65 gets loaded and go
from there. Any insights into the inner workings of DOS/65 bootup would be appreciated.
bxdanny
Posts: 335
Joined: Thu Apr 16, 2015 2:27 pm
Location: Bronx, NY USA

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by bxdanny »

What is the procedure you are using to try to boot DOS/65? Do you have a boot disk that you then replace with Disk #1 when prompted? Does that procedure work on your other system if you use the normal ROM routine for booting OSI diskettes, and not the special option for booting DOS/65 directly? As has been discussed, DOS/65 can't be directly loaded with the normal OSI bootstrap loader, because it doesn't use the special, simplified track 0 format which that routine expects. The DOS/65 "loader" disk for the C4P which is available online should work on the C1P as well, if you are able to create an actual disk from the image using the DiskTool program. It won't produce the expected prompt to change disks, but if you switch disks and press <enter> after the loader disk loads, it will work. (I verified this using WinOSI.)
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
Mark
Posts: 297
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by Mark »

If you are worried, I encourage you to test your RAM with an OSI memory test program that can be loaded from the serial port OR cassette port.
It can test, fill & read RAM at $0400+ (above 1K) https://osi.marks-lab.com/software/file ... estMem.zip

No one seems to have your version of DOS/65 for the C1P. The one I have for C4P loads each track to $2506-$2D06 via the Dos/65 loader disk and moves the loaded tracks to $9B00-BA80 one at a time, finally executing DOS/65 at $AF00. It is made for a 48K system.

All code and indirect writes happens using zero page and addresses below $2506. The loader does not rely on any valid memory above $2506 until execution is transferred to the loaded DOS/65 code after all tracks have been read. It could be empty RAM or ROM and tracks 0-3 would still load, the disk drive would still step to track 3. It DOES check for valid track headers and parity errors at least for the 1st 128 bytes, and will stop on error. Perhaps the disk has read problems on the 2nd system? It appears that all DOS/65 disks I have contain the OS on track 0-3, so any disk should be bootable after the loader has run.

I'd expect a DOS/65 version for a 32K system to start loading to somewhere above $5B00 to $8000, ending at $7A80 to $9FFF (Did you specify 32K RAM total or 32K additional RAM on top of an 8K OSI base?) The DOS/65 OS seems to be a bit under 8K in size.

If you send a hex dump of your DOS/65 disk or at least the 1st 4 tracks we can determine what addresses are involved. You can use OSIDump to create a hex dump. http://osi.marks-lab.com/software/files ... SIDump.zip

Also, please send a dump of your custom ROM. You can use the BASIC program mentioned earlier to create the dump via serial or cassette port. An audio capture would work fine but it should be captured as a raw wav file or other non-lossy compression (not MP3/AC3) at at least 22050 samples per second/8bit/mono (or better). We can use OSIKCS to convert it back to binary later.

Attached is the C4P DOS/65 loader patched for the C1 std screen.
To load via serial, at reset press M then L, send file. Loader should start @ $2200 when loaded [2200-2506].
It should work to boot DOS/65 as well as the original.

Cheers,
-Mark
Attachments
DOS65_loaderC1@2200.zip
DOS/65 loader @ $2200
(982 Bytes) Downloaded 166 times
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

Well, it turns out that once I did the memory logic rework and was able to boot HEXDOS and OS65D the system has been capable of booting DOS/65. But the process to do so has been lost to my memory since I don't ever remember booting OS65D, followed by the LOADER disk, followed by disk #1. I had determined to provide for direct booting, and don't remember any other way of booting DOS/65.

to bxdanny,

The mind is the first thing to go....your post shook some latent memories, but I have no memory of what code I changed, and I never tried the modified ROM in the new system because I was trying to make it functional with the stock monitor ROM. So after reading your post I installed the modified monitor EPROM, changed the board jumper, and the system magically booted DOS/65 for the first time!

So my plan now is to disassemble portions of the modified monitor EPROM to reveal my changes and post the disassembly here. I don't have easy capability to capture it from the serial port to my PC. And I will document this project here for posterity and my own memory.

Attached is the document I must have used for my modifications.

Thanks to everyone for your help and suggestions.
Attachments
Dos-65_OSI Manual.pdf
(123.56 KiB) Downloaded 166 times
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

Since my last post I have spent hours disassembling my changes to the Monitor ROM and it DEFINITELY includes additions to boot DOS/65 directly from a menu selection. And I remember making the changes for my S-100 expansion of my first Superboard. But I don't remember the details of obtaining the DOS/65 boot object code and burning it to ROM. What follows is a set of screen shots of the disassembled ROM, but I've been unable to verify the boot code is in fact from the source code supplied on my diskettes.


So my current objective is to restore my S-100 development system so that I can duplicate and modify the Monitor ROM for the Superboard with the 6264 RAM. And I have lots of questions about DOS/65 that I will put in a new thread titled, "DOS/65 improvements and additions".
Last edited by davisgw on Thu Dec 14, 2023 3:30 pm, edited 2 times in total.
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

I got an idea to confirm that the code in my modified Monitor ROM is in fact the DOS/65 Loader. I booted OS65D, loaded the DOS/65 Loader, entered the Extended monitor, and disassembled the code that was loaded. The disassembled code matches the code in my modified ROM almost completely. This means I made the modifications for the Loader to reside in ROM, mentioned in the DOS/65 documentation, and burned it into my ROM. So this question is answered.

I should mention at this point that there were 2 unlabeled diskettes in the sleeves with the set of 10 DOS/65 diskettes that are unreadable due to mildew damage on the magnetic surface. I suspect that they contained the source code with my modifications.
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

If those of you following this thread are still interested in a dump of my modified Monitor ROM, please provide the detail to allow me to capture a dump on my PC. I still have the serial cable I used in the '80s to connect to a printer so I assume that would work. I need to know what software to run on both the PC and the Superboard, but I don't have an easy way to download any new software to the Superboard so hopefully point me something included in HEXDOS, OS65D, or DOS/65 (perhaps the terminal program?). Or if a diskette readable on the Superboard could be provided that would also be great.

In any case I would appreciate instructions on how to load source code or object code from the internet to the Superboard.

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

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by Mark »

In order to send and receive data from your PC you need to ensure your C1P is wired for bidirectional RS-232 support. If so, you may have installed a switch to toggle between RS-232 and cassette input. If not, you may want to add one. Serial printers generally needed only RS-232 out from the OSI along with a busy signal (CTS) sent back to indicate busy/pause printing. This is fine for dumping data from the OSI but won't help loading data.

There is an article that describes the modifications for Superboard-II here: https://osiweb.org/computes_gazette/Com ... _RS232.pdf
It includes a note on populating RS-232 in and out.

Once you are able to hook up your PC serially you can start BASIC, type "SAVE" and anything you type, PRINT or LIST should be sent to the PC. Then if you type "LOAD" anything you type on the PC should be echoed to the OSI screen. Original baud rates will be 300bps unless modified, although with a programming trick you can get it to 4800bps.

On the PC side I have used Tera Term with good success. See https://osdn.net/projects/ttssh2/releases/ along with real PC COM ports on older machines and USB->RS-232 adapters with more modern ones. You will need to wire RS-232 out on the OSI to RS-232 in on the PC and vice versa.

Once this is working we can proceed with actual data transfer methods.

Other more involved possibilities include using a digital floppy drive (search for Gotek or FlashFloppy here), or using a 5.25" drive with a digital floppy archiving device like the GreaseWeazle on the PC which can also write OSI compatible floppies.

Good Luck!
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

I'm in a holding pattern awaiting a couple 5.25 inch floppy drives from eBay to evaluate. In the meantime I have formalized my schematic for the 6364 memory modification to the 610 board since it seems stable, but I think I still have RFI issues from the switching power supply. I've also ordered some ferrite cores to clean up the RFI.

Here is my formalized schematic. All address, data, and power are obtained from the unpopulated U35 and U59 RAM sockets on the 610 board.
I will further update on the success/failure to clean up the switching power supply.
OSI_610MemoryMod.pdf
(326.42 KiB) Downloaded 176 times
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Upgrade 610 from 2114 RAM to 6264 8K x 8

Post by davisgw »

I have resolved the issues caused by marginal 5V supplied by the ATX power supply. See this discussion "C1P Superboard power supply issue" for details.
And I have been repairing some of the defective floppy drives I purchased from eBay so that I can boot OS65D, HEXDOS, DOS/65, and WP6502 reliably. I also found a VERY informative video on how to restore moldy 5.25 floppy disks on YouTube: https://www.youtube.com/watch?v=28yeDgwT2hY
I plan to try restoring my moldy floppies when I receive the helper frame from eBay.

I have also ordered a USB to RS232 adapter to allow my oldest Superboard, with fully populated RS232, to communicate with one of my Windows laptops.
So, Mark, I'm ready for instructions on transfer methods: "Once this is working we can proceed with actual data transfer methods." Lets start with how to transfer the contents of my modified Monitor ROM to a binary file on the PC, that can be downloaded and burned by others so they can directly boot DOS/65. Assume that I don't have a floppy drive to do the transfer so I think I'm limited to BASIC to send the data. If that's not possible, tell me what I can do. Attached is a screen shot of the boot menu.
20230206_130159.jpg
20230206_130159.jpg (3.67 MiB) Viewed 2277 times
Thanks.
Post Reply