I think I might have found an undocumented VIC cartridge...

History and Preservation Issues

Moderator: Moderators

User avatar
Mikam73
2049er
Posts: 1264
Joined: Tue May 18, 2004 4:34 pm

Postby Mikam73 » Fri Oct 20, 2006 6:39 am

What that cartridge does?

It adds some extra basic commands?

User avatar
Schema
factor
Posts: 1414
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Postby Schema » Fri Oct 20, 2006 7:45 am

Very cool find indeed!

I attended the University of Waterloo from 1992-1997 and never had a clue about all the Commodore connections there. But the C64 or VIC weren't really of interest to me then anyway.

Yeah, Centallica and I saw Ernie at the TPUG meeting last night, could have asked him about this cartridge.

You should have his email address from the 1541-II sale, he's always happy to talk about Commodore so you might as well ask him about it. He's even registered on Denial but never posted and doesn't follow it often.

I really hope you can make it to the World of Commodore in December! If you haven't dumped the cart by then, bring it along and one of us can help you out.

User avatar
ral-clan
plays wooden flutes
Posts: 3533
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Postby ral-clan » Fri Oct 20, 2006 7:54 am

Mikam: The cartridge is a complete programming language - a variant of BASIC developed at the University of Waterloo in Ontario, Canada. The brochure I have (which also shows the box) says it was to come with a tutorial book providing lessons on programming in this language.

Schema: I have indeed e-mailed Ernie about the cartridge. Hopefully he'll have a manual, or know some more history of the development of this cartridge. Unfortunately, I doubt I will be making it down for the World of Commodore in December, although I would love to go. It's a little far for me. I remember the old World of Commodore and World of Amiga shows at the International Centre (I grew up in Brampton).

I'm going to try and dump it tonight if I get a chance.

User avatar
Centallica
Pinballer
Posts: 1079
Joined: Wed Feb 02, 2005 11:26 am

Postby Centallica » Fri Oct 20, 2006 8:53 am

Schema wrote:Yeah, Centallica and I saw Ernie at the TPUG meeting last night, could have asked him about this cartridge.


Ya, I'm still a bit aroused from the "Naughty 64" demo's shown last night to type right now still :oops:

You take a peek in that box of stuff I gave you last night....all the good stuff is on the bottom 8)

Brian

User avatar
Mikam73
2049er
Posts: 1264
Joined: Tue May 18, 2004 4:34 pm

Postby Mikam73 » Fri Oct 20, 2006 1:58 pm

ral-clan wrote:Mikam: The cartridge is a complete programming language - a variant of BASIC developed at the University of Waterloo in Ontario, Canada. The brochure I have (which also shows the box) says it was to come with a tutorial book providing lessons on programming in this language.



Do you know whats difference to normal Vic20 basic?

I guess it has some extra commands like Super Expander?

User avatar
ral-clan
plays wooden flutes
Posts: 3533
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Postby ral-clan » Fri Oct 20, 2006 7:53 pm

Okay folks. Here it is!

http://www3.sympatico.ca/clarke-santin/vic/WATERLOO.PRG

...download it. Play with it. Spread it around on VIC archives all over the internet so it's never lost again.

If anyone can figure out how it works, please post back here so we can re-construct a rough manual for this cartridge.

I briefly tried typing some commands. It seemed to recognise ELSE (it didn't choke on it), but I couldn't get ELSE to actually function in a program...

User avatar
gklinger
Vic 20 Elite
Posts: 2051
Joined: Tue Oct 03, 2006 1:39 am

Postby gklinger » Fri Oct 20, 2006 8:56 pm

ral-clan wrote:
gklinger wrote: I would be very interested in checking it out once you've got a dump of the cartridge.

I guess you were using a SuperPET with the Waterloo Structured BASIC ROM installed.

Actually they were standard PET 8032s with an additional ROM board.
When I upload this cartridge and you have a look at it, would you be able to give us a few tips on how to use it (if you can figure it out).

It has been more than 20 years but I'm hoping it will come back to me and I would be glad to make a posting detailing whatever I can remember. In the interim answers might be found by checking out the documentation and Waterloo language software for the SuperPET (which can be emulated with VICE). They can be found here. I also think that this document (in PDF form) might prove helpful.

User avatar
ral-clan
plays wooden flutes
Posts: 3533
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Postby ral-clan » Sat Oct 21, 2006 10:36 am

gklinger wrote: I also think that this document (in PDF form) might prove helpful.


Oh, thanks! If the version of WSB from that manual is the same as is in this cartridge, it should answer all my questions.

eslapion
ultimate expander
Posts: 4549
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Postby eslapion » Sat Oct 21, 2006 12:14 pm

Inspecting the PRG file with WinHex reveals the data in the upper 4k is only a mirror of the lower 4k.

In other words, your cartridge is really only 4k.

In fact, of these 4K, less than 2k actually contain useful data.

User avatar
Schema
factor
Posts: 1414
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Postby Schema » Sat Oct 21, 2006 4:01 pm

Worked fine for me on a real VIC with RAM in BLK5. Haven't figured out any of the new commands though.

If it's really only 4K, it would be trivial to use in my blue utility cart, or eslapion's expander.

eslapion
ultimate expander
Posts: 4549
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Postby eslapion » Sun Oct 22, 2006 12:12 am

Schema wrote:Worked fine for me on a real VIC with RAM in BLK5. Haven't figured out any of the new commands though.

If it's really only 4K, it would be trivial to use in my blue utility cart, or eslapion's expander.


If anybody wants to have this as an option in my 32k expander, then I offer it but... not guaranteed.

I noticed, sifting through the code, some commands that exist in other implementations of BASIC, but not normally on the VIC, such as ELSEIF, ELSE, WHILE, LOOP, ENDLOOP, PROC, ENDPROC.

User avatar
ral-clan
plays wooden flutes
Posts: 3533
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Postby ral-clan » Sun Oct 22, 2006 10:29 am

eslapion wrote:I noticed, sifting through the code, some commands that exist in other implementations of BASIC, but not normally on the VIC, such as ELSEIF, ELSE, WHILE, LOOP, ENDLOOP, PROC, ENDPROC.


I briefly read through the PDF manual (link provided above). It should be useful in figuring out this cartridge. Certainly LOOP and ENDLOOP worked when I tried them. The manual shows examples with "!" being used for remarks, but this character does not seem to function as a substitute for REM with this particular cartridge.

User avatar
Jeff-20
Denial Founder
Posts: 5452
Joined: Wed Dec 31, 1969 6:00 pm

Postby Jeff-20 » Sun Oct 22, 2006 11:18 am

eslapion wrote:I think this thread should be moved to "Collecting and History".


Sounds like a volunteer to me! You'll now notice four small buttons at the bottom of your page when you visit that section.

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

Postby Mike » Mon Oct 23, 2006 2:41 am

I found that this BASIC redefines the IF command. And then, taking a quick shot at the cartridge dump I got the following programs to work:

Code: Select all

conditional statements: IF, ELSEIF, ELSE, ENDIF

0 REM IF ... ELSEIF ... ELSE ... ENDIF
1 INPUTX
2 IF X<2:REM ** no THEN!
3 PRINT"X<2"
4 ELSEIF X<5
5 PRINT"X>=2 AND X<5"
6 ELSE
7 PRINT"X>=5"
8 ENDIF


looping statements: LOOP, ENDLOOP, UNTIL, WHILE, QUIT

0 REM LOOP ... QUIT ... ENDLOOP
1 X=0
2 LOOP
3 PRINTX:X=X+1
4 IFX=10THENQUIT : REM note IFs now *must* stand at the beginning of lines!
5 ENDLOOP

0 REM WHILE ... ENDLOOP
1 X=0
2 WHILE X<10
3 PRINTX:X=X+1
4 ENDLOOP

0 REM LOOP ... UNTIL
1 X=0
2 LOOP
3 PRINTX:X=X+1
4 UNTIL X>=10

a WHILE ... UNTIL program would also work, but I couldn't find a good demonstration program.


procedure calls: CALL, PROC, ENDPROC

0 REM PROC ... ENDPROC, CALL
1 CALLA:CALLB
2 END
3 PROCA
4 PRINT"HELLO, ";
5 ENDPROC
6 PROCB
7 PRINT"WORLD!"
8 ENDPROC

These commands all put together, one now doesn't need both GOTO and GOSUB anymore.

Greetings,

Michael
Last edited by Mike on Mon Oct 23, 2006 6:28 am, edited 1 time in total.

eslapion
ultimate expander
Posts: 4549
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Postby eslapion » Mon Oct 23, 2006 5:24 am

Wow! This type of Basic is just plain great for the kind of maths application I do.


Return to “Collecting and History”

Who is online

Users browsing this forum: ops, orion70 and 1 guest