6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 14, 2024 9:26 pm

All times are UTC




Post new topic Reply to topic  [ 114 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next
Author Message
PostPosted: Wed Apr 20, 2011 1:21 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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): " "


Last edited by ElEctric_EyE on Mon Aug 29, 2011 12:00 am, edited 2 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 20, 2011 10:13 am 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
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é


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 20, 2011 1:38 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 20, 2011 8:28 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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!


Last edited by ElEctric_EyE on Thu Apr 21, 2011 1:53 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 20, 2011 8:29 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8485
Location: Midwestern USA
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.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 20, 2011 10:44 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 20, 2011 11:41 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
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é


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Apr 21, 2011 6:34 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Apr 26, 2011 12:40 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Apr 26, 2011 7:27 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Apr 26, 2011 9:09 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
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é


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Apr 26, 2011 10:03 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 27, 2011 7:36 am 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
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é


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Apr 27, 2011 11:49 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Apr 29, 2011 11:40 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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....


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 114 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron