Page 2 of 5

Posted: Fri Oct 20, 2006 6:39 am
by Mikam73
What that cartridge does?

It adds some extra basic commands?

Posted: Fri Oct 20, 2006 7:45 am
by Schema
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.

Posted: Fri Oct 20, 2006 7:54 am
by ral-clan
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.

Posted: Fri Oct 20, 2006 8:53 am
by Centallica
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

Posted: Fri Oct 20, 2006 1:58 pm
by Mikam73
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?

Posted: Fri Oct 20, 2006 7:53 pm
by ral-clan
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...

Posted: Fri Oct 20, 2006 8:56 pm
by gklinger
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.

Posted: Sat Oct 21, 2006 10:36 am
by ral-clan
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.

Posted: Sat Oct 21, 2006 12:14 pm
by eslapion
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.

Posted: Sat Oct 21, 2006 4:01 pm
by Schema
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.

Posted: Sun Oct 22, 2006 12:12 am
by eslapion
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.

Posted: Sun Oct 22, 2006 10:29 am
by ral-clan
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.

Posted: Sun Oct 22, 2006 11:18 am
by Jeff-20
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.

Posted: Mon Oct 23, 2006 2:41 am
by Mike
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

Posted: Mon Oct 23, 2006 5:24 am
by eslapion
Wow! This type of Basic is just plain great for the kind of maths application I do.