6502.org
http://forum.6502.org/

Software for the 65Org16.x (formerly 6502 SoC Project)
http://forum.6502.org/viewtopic.php?f=10&t=1808
Page 1 of 8

Author:  ElEctric_EyE [ Wed Apr 20, 2011 1:21 am ]
Post subject:  Software for the 65Org16.x (formerly 6502 SoC Project)

At this point of some real 6502SoC hardware, I am realizing I need some potent software. So I started digging in my past (i.e. garage), and decided to start this thread...

I started setting up my old C-64 system to see if any of my 20+yr old 5.25" floppies could still be read...

I've had interest in using Bill Yee's Micromon-64, an old assembler/disassembler for the C-64 that I've used very successfully for other C-64 based projects a long time ago.

I know I have the program on floppy, but I also have the code for it in a book I have called Compute!s First Book of Commodore 64. I would like to hack it and adapt it to the 6502SoC. Either his program, or Jim Butterfield's Supermon-64 (may he rest in peace)...
Right now it appears I will have to type in the machine code for Micromon, and do all the translation myself cross referenced to the C-64 memory map...
I know Mike Naberezny, owner of 6502.org, said he had the Supermon-64 code in the old Delphi post, but he's not been around for awhile now...

Even though the C-64 (and C-64C below) both worked, not one of the 3 1541's drives worked. When I did a LOAD"$",8 to list the directory, neither of the tan 1541's was recognized by the C-64. I got a very quick "device not recognized" on both. Using the same serial cable, the eldest VIC-1541 acted like it was trying to search but I think the motor driver is shot, it wouldn't even spin on power-up...

Still, was nice to see that BSOL (blue screen of life)...
Image

...The "device" under the 3 drives is a VCR. I used it to quickly test the composite monitor, which tested positively.
I've got 2 other original C-64's that I had tested first to no avail. 1 was my original, fully socketed now, but much smoke has been let out of it and it's been rebuilt many times by my Dad's friend (20 yrs ago).
Alas neither were outputting video, so I brought out the VCR just to confirm the monitor worked...

EDIT (08/15/11): Updated title to reflect intent.
EDIT (08/28/11): " "

Author:  fachat [ Wed Apr 20, 2011 10:13 am ]
Post subject: 

Nice work! I hope you have more success over time.

I have a C2N232 that on one side connects to the tape port (C64, PET, or others) and on the PC side to a serial port to transfer my files to and from the CBM. You may want to have a look at http://www.6502.org/users/andre/petindex/transfer.html or zimmers.net for file transfer options.

Having some software (that knowingly works) is a great advantage when testing new systems. That's one of the reasons I built my system basically (and nowadays 100%) Commodore PET compatible. One of the first things that worked there was a Commodore ROM :-)

About your setup. I seem to remember that having the floppy drive close to the video or TV can produce interferences. Maybe you can try to move the drives more away. Although your description of the symptoms does not look like such interferences. In the VC1541 the IEC bus drivers ('LS06 IIRC) were quite prone to failure so I read. That could be the cause for the device not present, maybe you should look there first.
Over at the vintage computer forum there are some more helpful people for the repair of Commodore equipment: http://www.vintage-computer.com/vcforum ... -Commodore

André

Author:  ElEctric_EyE [ Wed Apr 20, 2011 1:38 pm ]
Post subject: 

fachat wrote:
...I have a C2N232 that on one side connects to the tape port (C64, PET, or others) and on the PC side to a serial port to transfer my files to and from the CBM. You may want to have a look at http://www.6502.org/users/andre/petindex/transfer.html or zimmers.net for file transfer options...André


I was wondering how I would go about getting the data off of the C-64 IF everything had worked. Thanks for pointing me in the right direction.

fachat wrote:
...About your setup. I seem to remember that having the floppy drive close to the video or TV can produce interferences. Maybe you can try to move the drives more away. Although your description of the symptoms does not look like such interferences. In the VC1541 the IEC bus drivers ('LS06 IIRC) were quite prone to failure so I read. That could be the cause for the device not present, maybe you should look there first.
Over at the vintage computer forum there are some more helpful people for the repair of Commodore equipment: http://www.vintage-computer.com/vcforum ... -Commodore

André

You're right! I remember that too about any slight kind of magnetic interference. I definately need to move the drives...
I am very interested in getting at least one of them to work, especially the tan 1541's. The white VIC1541 was a very finicky drive!
I'll be posting in there soon. Excellent forum there. Thanks again Andre!

Author:  ElEctric_EyE [ Wed Apr 20, 2011 8:28 pm ]
Post subject: 

One on the guys on the forum suggested the drives may be hardwired to #9. So instead of Load"$",8 I did Load"$",9 and it worked! Turns out both of the tan drives work under device 9...

I got a floppy from my old high school science fair project, this disk is 24yrs old! and it still listed the directory!!! WOOOOO!

Now to find Micromon...






EDIT: 24 years old NOT 34 years old!

Author:  BigDumbDinosaur [ Wed Apr 20, 2011 8:29 pm ]
Post subject: 

ElEctric_EyE wrote:
One on the guys on the forum suggested the drives may be hardwired to #9. So instead of Load"$",8 I did Load"$",9 and it worked! Turns out both of the tan drives work under device 9...

I got a floppy from my old high school science fair project, this disk is 34yrs old! and it still listed the directory!!! WOOOOO!

Now to find Micromon...

You can easily change them back to eight. Look for a jumper pad that has been cut through with an Xacto knife and bridge it with a bit of solder.

Author:  ElEctric_EyE [ Wed Apr 20, 2011 10:44 pm ]
Post subject: 

BigDumbDinosaur wrote:
... Look for a jumper pad that has been cut through with an Xacto knife and bridge it with a bit of solder.


I found a few semi-circles on the drive circuit board, meant to obviously be solderable jumpers. I tried about 3 with no luck. I decided not to push my luck because it really doesn't matter at this point unless I need to use both drives which I don't currently forsee.
Gonna wrap one of these drives, and the original C-64 very nicely and store it in better conditions...

I found my floppy. I was a fan of multiple backups it seems.
Had TurboTape, Superbasic, and Micromon, among others. All typed in from Compute! from the old days...

I expect to be sidetracked for a week or 2 building an interface to get this very useful data off of the C-64 and into some sort of .bin file.

Thanks all, I am seriously motivated right now!

Author:  fachat [ Wed Apr 20, 2011 11:41 pm ]
Post subject: 

If you need more technical information about the VC1541, you can have a look at the CBM archive, esp. here http://www.zimmers.net/anonftp/pub/cbm/ ... index.html

It has the technical manuals, including schematics of these drives.
You can match the jumpers with the schematics to find out what they mean then.

André

Author:  ElEctric_EyE [ Thu Apr 21, 2011 6:34 pm ]
Post subject: 

fachat wrote:
If you need more technical information about the VC1541, you can have a look at the CBM archive, esp. here http://www.zimmers.net/anonftp/pub/cbm/ ... tml...André


Ok thanks alot for your help! Definately need to review all the stuff I forgot about, like not to plug/unplug stuff when power is on, etc...

I did find an XM1541/XE1541 adapter, on ebay for $15US, that plugs into the PC printer port, so I won't have to sacrifice my current serial cable.
Now, it will just be a matter of maybe a couple hours to figure out Star Commander and get an image of Micromon-64 to a PC bin file for conversion back into assembly by M. Kowalski's assembler.
Hopefully Star Commander can produce a straight binary file. Even if it can't I'm sure a Hex editor can strip out any kind of header info.

Author:  ElEctric_EyE [ Tue Apr 26, 2011 12:40 am ]
Post subject: 

Cannibalization is taking place here! AHHHHHHHHH!!!!
I need a small chunk of vectorboard (in the upper left) real estate to make an 8Kx8 adapter socket.
Too bad for those discrete ABT and ACT parts, Iteration #1 of PWA is no more. Iteration #2 is still alive and well. You can see it to the right.

Image


Q. What 8Kx8 memory has 24 pins?
A. A MOS 2364 C64 Basic Rom, and a MOS 2364 C64 Kernal ROM.
The 2364 pinout is much more like a 24-pin 4Kx8 industry standard memory...

So I made this 2364 to 2764 adapter socket...

BTW, Good luck if you think you can rely on the internet for a true binary image!
Image

Author:  ElEctric_EyE [ Tue Apr 26, 2011 7:27 pm ]
Post subject: 

Doesn't work reliably. When comparing 2 images I made reading the ROM, there are many data that are different. Maybe in the entire 8K image there will be ~200 data that are not consistent, differing by only 1 bit. Some off by 01000000, some 00001000, some 00000001, etc.
Thought it might be an access time issue. I actually went so far as to open up the programmer and insert a 74AC161 to divide down the 3.3V 4MHz 1/2 can oscillator to 1MHz. Didn't help.

I'm just impatient for my cable adapter to get these reliable images!
Should be here in 3 days...

Author:  fachat [ Tue Apr 26, 2011 9:09 pm ]
Post subject: 

Sorry but only now I've actually realized what you want to do. You can find the binary image of the chip on your picture here: http://www.zimmers.net/anonftp/pub/cbm/ ... index.html
(plus other C64 ROM images).

Or do you just want to test your setup/adapter?

Sorry, late here.

André

Author:  ElEctric_EyE [ Tue Apr 26, 2011 10:03 pm ]
Post subject: 

fachat wrote:
Sorry but only now I've actually realized what you want to do....Or do you just want to test your setup/adapter?
André


I would like to use Micromon-64 or Supermon-64 as a larger part of my OS. Preferrably, Supermon64 because it is much smaller at 2543 bytes, even though I am very much used to working with Micromon-64.
Not only for this project, but also for the next iteration of the PWA project, which I hope to use a 144-pin QFP Spartan 6 to raise speeds...

I know both Micromon and Supermon use routines from the Kernal and Basic.
Instead of cutting subroutines out, I would prefer to have the entire C-64 OS on FPGA for initial reliable testing.

The primary routines I am interested in now are:
1) Keyboard input routines
2) Display output routines ($0400-$07FF)

fachat wrote:
If you need more technical information about the VC1541, you can have a look at the CBM archive, esp. here http://www.zimmers.net/anonftp/pub/cbm/ ... dex.html...
André

fachat wrote:
...You can find the binary image of the chip on your picture here: http://www.zimmers.net/anonftp/pub/cbm/ ... index.html
(plus other C64 ROM images)...André

This guy is a serious C-64 fan! I have checked out the ROM images from him, as well as the 82S100 PLA abel files! Treasure trove!
The Kernal is a different version than I have, so I can't confirm it.
When I get my cable adapter, I'll be able to compare at least the Basic ROM, before I dedicate quite a few man hours.

Author:  fachat [ Wed Apr 27, 2011 7:36 am ]
Post subject: 

ElEctric_EyE wrote:
This guy is a serious C-64 fan! I have checked out the ROM images from him, as well as the 82S100 PLA abel files! Treasure trove!


No, he "just" maintains "the CBM archive", formerly known as "the funet archive". Existing for years actually

André

Author:  ElEctric_EyE [ Wed Apr 27, 2011 11:49 am ]
Post subject: 

Ok, that's nice to know. Then I would imagine the ROM images are trustworthy. I see he does have all versions of the Kernal too.

I'll put the Basic @$A000, the Kernal @$E000, Micromon sandwiched right in between @$C000, change the reset vector to point to Micromon, and run ISim to find out where the main loop is.

I guess, I can put the Basic & Kernal in now without changing the reset vector and see where it's looping. "Mapping the Commodore 64" by Sheldon Leemon will be an invaluable tool!

Author:  ElEctric_EyE [ Fri Apr 29, 2011 11:40 pm ]
Post subject: 

Been re-thinking about how to go about this. I think I would like to try to keep the C-64 Basic & Kernal Roms as intact as possible.
Maybe even get Basic to work, and do a SYS 49152 to enter Micromon.

Right now 4 Routines in the Kernal are of interest to me:
$FEC2: Power-On Reset Routine. From here, the chase begins.
$F69B: Update clock, 60x/sec from interrupt. Obviously part of the main loop.
$EA87: Read the keyboard device at $DC00. Reads the keycode being pressed and put it in $CB. Also sets the shift/control flag. Looks like a good place to intercept with my code.
$E716: Output to the screen. Takes an ASCII character number from the Accumulator and outputs it to the screen. I will have to investigate how it goes about outputting to the screen.
__________________________________________________________________________________________________________________________

Yesterday, I got the adapter that's able to switch from XE1541 to XM1541 using 2 jumpers. It plugs directly into the PC parallel port, and uses the original C64 serial cable to directly connect to the 1541. It consists of a small open circuit board containing the C64 serial connector, the PC male parallel connector (25-pin D-Sub), a LED (Not just power. It goes on /off during WindowsXP b00t process), and some diodes/resistors.
From what read up on, the XE1541 can be used for OpenCBMunder WindowsXP. The XM1541 is used for Star Commanderunder a DOS environment. So far I've tried OpenCBM 0.4.2 with gui4cbmwintogether with userport11 with no luck on a Compaq Presario R3000. In the CPR3000 BIOS there are 4 settings for the LPT (parallel) port. Bidirectional, ECC, Unidirectional, & ECC/ECP. When have you seen such settings on a newer computer?! It is likely they will say it is for security, they say...

Anyway, still wrastling with this BS.
Trying to put DOS 6.22 on another CPR3000....

Page 1 of 8 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/