VIC-1210 3K RAM Expander with RTC V-Link
Moderator: Moderators
- Mike
- Herr VC
- Posts: 4901
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
VIC-1210 3K RAM Expander with RTC V-Link
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.
It is supposed to add BASIC 4.0 commands to the interpreter. Would be interesting to make a dump of its ROM.
- Schema
- factor
- Posts: 1430
- Joined: Tue Mar 23, 2004 7:07 am
- Website: http://www.jammingsignal.com
- Location: Toronto, Ontario
- Schema
- factor
- Posts: 1430
- Joined: Tue Mar 23, 2004 7:07 am
- Website: http://www.jammingsignal.com
- Location: Toronto, Ontario
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?
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?
- Schema
- factor
- Posts: 1430
- Joined: Tue Mar 23, 2004 7:07 am
- Website: http://www.jammingsignal.com
- Location: Toronto, Ontario
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
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
- Schema
- factor
- Posts: 1430
- Joined: Tue Mar 23, 2004 7:07 am
- Website: http://www.jammingsignal.com
- Location: Toronto, Ontario
- Mike
- Herr VC
- Posts: 4901
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
I'm just at the moment dissecting the ROM. Only BLK5 is used, and from this only the range $A000 to $AFFF.
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:
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
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.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??
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
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
- Mike
- Herr VC
- Posts: 4901
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Here we go: (download vlink.zip, *.prg and source code).Mike wrote:More to come when I've reconstructed the 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)
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.
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
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.
- Schema
- factor
- Posts: 1430
- Joined: Tue Mar 23, 2004 7:07 am
- Website: http://www.jammingsignal.com
- Location: Toronto, Ontario
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.
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...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.
Steve