VIC-1210 3K RAM Expander with RTC V-Link

History and Preservation Issues

Moderator: Moderators

User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

VIC-1210 3K RAM Expander with RTC V-Link

Post by Mike »

I found this on one page of the Personal Computer Museum. Never heard of this one before. Googling "VIC-20" and "V-Link" didn't turn up with more info.

It is supposed to add BASIC 4.0 commands to the interpreter. Would be interesting to make a dump of its ROM.
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

I sent E-mail to Syd (the guy which runs Personal Computer Museum) to ask if he is interested in having ROM from this cart dumped.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

6502dude wrote:I sent E-mail to Syd (the guy which runs Personal Computer Museum) to ask if he is interested in having ROM from this cart dumped.
Road trip? :wink:
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

Schema wrote:Road trip? :wink:
Sadly, no time for trips. :(
Will need to do this via mail.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

I'll be in Brantford this weekend to do some visiting, and will drop by the PC Museum for part of the day. I'll have the opportunity to dump this cartridge.

Can someone point me to a cartridge dumping tool for the VIC?

I'll take my cartridge port expander so I can map it in without it autostarting. Can I assume I just dump the 8K in Block 5 to get the interesting stuff?
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

OK, managed to dump the V-Link cartridge, I think.

It was quite interesting, with the cart enabled I couldn't access any IEC drives, it always said "?DEVICE NOT PRESENT". I wonder if it expects some kind of IEEE interface??

So I ended up powering up with the cart in a cartridge slot expander with the slot turned off. Then powered the slot on to map the cart into memory (though the extra 3K RAM showed up regardless). and ran EASYDUMP.

I'm sure all the good stuff was in Block 5 but I did a full dump anyway, here it is. I haven't looked at them yet except a superficial inspection.

http://www.jammingsignal.com/vic/V-LINK.zip
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

Some pics for the curious (click for bigger)

Box
Image

Address of the place where it was from, an invoice was in the box. Someone paid $25 for it in 1986. Sadly, no other documentation.
Image

Cartridge
Image


Plugged in
Image

Startup screen - Note V4
Image

Testing the BASIC 4.0 CATALOG command
Image
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

I fully expect a VIC MIDI cart to show up someday. :D
High Scores, Links, and Jeff's Basic Games page.
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

I'm just at the moment dissecting the ROM. Only BLK5 is used, and from this only the range $A000 to $AFFF.
Schema wrote:It was quite interesting, with the cart enabled I couldn't access any IEC drives, it always said "?DEVICE NOT PRESENT". I wonder if it expects some kind of IEEE interface??
I found some hints in that regard, indeed. These are the new commands supported from BASIC V4: CONCAT, DOPEN, DCLOSE, RECORD, HEADER, COLLECT, BACKUP, COPY, APPEND, DSAVE, DLOAD, CATALOG, RENAME, SCRATCH, DIRECTORY.

To these added are some other commands, which seem specific to this card: IEEE, SERIAL, PARALLEL, MONITOR, MODEM, DATA,

the last one which use escapes me inthusfar as the token could never be reached (the V2 DATA takes precedence). By issuing the SERIAL command I could again access the serial port.

I also found some form of copy protection already. These two commands:

Code: Select all

.A07B  49 38    EOR #$38
.A07D  8D 3D A1 STA $A13D
overwrite part of the IEEE routine when the cartridge is softloaded to RAM.

In the range of $A100 to $A500 I found lots of reference to addresses $935x which seem to act as some I/O registers - quite strange, as on an stock VIC-20 this range ($9200 .. $93FF) points to unconnected memory. I'm also wondering how this could have been realised as external expansion, as no chip selects in that range are visible over the memory expansion port.

More to come when I've reconstructed the source code.

Greetings,

Michael
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

Mike wrote:More to come when I've reconstructed the source code.
Here we go: (download vlink.zip, *.prg and source code).

I found several places in the cartridge code where it tries to overwrite itself, so currently this will only run from ROM.

What I've found out:

SERIAL (re-)enables access to the standard serial port.

The BASIC V4 commands use the same syntax ingredients (U8, etc.) as their pendants on the C16, C116, Plus/4, C128.

Shift + (Run-)Stop loads and runs the first program from disc.

The built-in monitor (which is also invoked when a BRK is executed) understands the commands:

Code: Select all

M aaaa bbbb (memory display, 5 bytes each line)
R (display registers)
X (exit monitor)
G aaaa (start ML program at aaaa)
:aaaa xx xx xx xx xx (change bytes starting at address aaaa)
;pc sr ac xr yr sp (change registers, pc has to be 4 digits)
L (load, syntax unknown)
S (save, syntax unknown)
What PARALLEL, MODEM and IEEE are supposed to do remains to be seen. Especially the accesses to $935x could give some hints here. I've provided the source code for further analysis.

It's now 12:12 A.M. local time. Time to go to bed. Good night. :)

Greetings,

Michael
Last edited by Mike on Thu Feb 20, 2014 6:03 pm, edited 2 times in total.
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

Great work.
Mike wrote:I found several places in the cartridge code where it tries to overwrite itself . . .
:shock: I'm confused. Overwrite itself on a ROM?
High Scores, Links, and Jeff's Basic Games page.
Leeeeee
soldering master
Posts: 396
Joined: Fri Apr 23, 2004 8:14 am

Post by Leeeeee »

Yes, to thwart those who would try to run a ROM copy in RAM in BLK 5.

Lee.
sydbolton
Vic 20 Drifter
Posts: 24
Joined: Mon Feb 15, 2010 6:52 pm

Post by sydbolton »

Schema - thank you for coming down and dumping the cartridge. We are very excited that we had a cartridge that wasn't out there and even more so to help contribute the item to the community.

I am going to talk to someone who might know more information about the product itself, and if he provides any other info I will post it here.

Syd
Visit the Personal Computer Museum online (http://www.pcmuseum.ca) or in PERSON for all your vintage computing needs.
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post by Schema »

So it turns out there was a related C64 version - thanks to sjgray for pointing this out.

http://www.6502.org/users/sjgray/comput ... index.html

There are ROM dumps on his page too, and a manual.
sjgray
Vic 20 Hobbyist
Posts: 115
Joined: Thu May 03, 2007 6:46 pm
Location: Markham, ON, Canada

Post by sjgray »

Schema wrote:So it turns out there was a related C64 version - thanks to sjgray for pointing this out.

http://www.6502.org/users/sjgray/comput ... index.html

There are ROM dumps on his page too, and a manual.
So, my guess is this cart works in conjunction with the commodore vic1112 IEEE cartridge. I just picked up the 1112 cart and I have a regular 3k expansion cart but I'm not too familiar with the internals. Is there an empty rom socket inside? If so I could try burning an EPROM from the dump and give it a try...

Steve
Post Reply