Page 1 of 2

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

Posted: Sun Jul 03, 2011 3:11 pm
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.

Posted: Tue Jul 05, 2011 2:06 pm
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.

Posted: Tue Jul 05, 2011 2:18 pm
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:

Posted: Fri Jul 08, 2011 9:33 am
by 6502dude
Schema wrote:Road trip? :wink:
Sadly, no time for trips. :(
Will need to do this via mail.

Posted: Wed Sep 07, 2011 9:42 am
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?

Posted: Sun Sep 11, 2011 8:55 am
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

Posted: Sun Sep 11, 2011 9:27 am
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

Posted: Sun Sep 11, 2011 1:07 pm
by Jeff-20
I fully expect a VIC MIDI cart to show up someday. :D

Posted: Sun Sep 11, 2011 1:15 pm
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

Posted: Sun Sep 11, 2011 4:13 pm
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

Posted: Sun Sep 11, 2011 7:36 pm
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?

Posted: Sun Sep 11, 2011 11:51 pm
by Leeeeee
Yes, to thwart those who would try to run a ROM copy in RAM in BLK 5.

Lee.

Posted: Mon Sep 12, 2011 4:35 am
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

Posted: Thu Sep 15, 2011 10:23 pm
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.

Posted: Fri Sep 16, 2011 12:31 pm
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