Page 1 of 1

Super Expander vs. plain 3k expansion

Posted: Sun Sep 03, 2006 1:59 pm
by mercifier
Hi!

Just got myself a Super Expander, and I wonder if there are any major differences comparing it to a plain 3k expansion. I mean, will all programs made for 3k expansion work with the super expander?

And the other way round: will all programs that I make which work with my super expander work also on a vic with just a 3k expansion? (Given that I don't use any of the special functions of the super expander, of course.)

Does the S.E. alter any vectors for instance? (I bet it does!) The S.E. is said to increase the graphic capabilities of the vic, but are there any hardware-wise capabilities inside it, or is it just an addition to the BASIC-interpreter?

It would also be interesting to know where in memory the extra rom appears... Is there anything useful for a machine code programmer?

Any experienced and talented Super Expander owner who knows?

Posted: Sun Sep 03, 2006 4:05 pm
by Jeff-20
We discussed some strange difference in memory here:
http://sleepingelephant.com/ipw-web/bul ... r+expander

Re: Super Expander vs. plain 3k expansion

Posted: Mon Sep 04, 2006 1:20 am
by eslapion
mercifier wrote:Hi!

Just got myself a Super Expander, and I wonder if there are any major differences comparing it to a plain 3k expansion. I mean, will all programs made for 3k expansion work with the super expander?

And the other way round: will all programs that I make which work with my super expander work also on a vic with just a 3k expansion? (Given that I don't use any of the special functions of the super expander, of course.)

Does the S.E. alter any vectors for instance? (I bet it does!) The S.E. is said to increase the graphic capabilities of the vic, but are there any hardware-wise capabilities inside it, or is it just an addition to the BASIC-interpreter?

It would also be interesting to know where in memory the extra rom appears... Is there anything useful for a machine code programmer?

Any experienced and talented Super Expander owner who knows?
The super expander uses exactly the same PCB as the 3k RAM expander. It adds graphics capabilities by addding sophisticated commands to the BASIC language built into the VIC. These extra commands use the graphics capabilities of the video chip that's inside the VIC.

The super expander does not include a special video chip of its own. The only piece of hardware it contains are 6 1kx4bit RAM chips and one 4kx8bit ROM chip residing at BLK5's lower half ($A000-$AFFF).

That is why the super expander is easy to duplicate and is offered as a ROM option on the VIC 32k Ultimate expander. http://www.eskimo.com/~areed/vic/ultexp.htm

Re: Super Expander vs. plain 3k expansion

Posted: Mon Sep 04, 2006 9:58 am
by carlsson
mercifier wrote:Does the S.E. alter any vectors for instance?
Not sure, maybe CHRIN since it supports function keys.
mercifier wrote:It would also be interesting to know where in memory the extra rom appears... Is there anything useful for a machine code programmer?
The Super Expander is autostarting, thus it loads to $A000 (4K). No idea if anyone disassembled it in any detail, but remember that a machine code program that would call parts of the code still requires the cartridge to function.

Posted: Mon Sep 04, 2006 1:54 pm
by Thomas Hechelhammer
The super expander uses several locations in the zero-page and many locations above $028E.
And it changes nearly all of the OS-vectors, beginning at $0300.

remarkable feature: The expansion offers an interrupt-player for music, similiar as used in the C128.


Using the GRAPHIC-instructions the following will happen:

BASIC-Code will be transfered to $2001 ++ from its current location at $1201 when using any expansion with at least 8k.

When using only the 3k Expansion the BASIC-memory will be limited to $0FFF.
$1000 ++ will be used by the character-set.
$1E00 ++ will be used by the screen-memory.

(for high- and low-res graphics the super-expander uses a redefined character-set which starts at $1000).

For more detailed informations take a look at the code between memory-locations $A88B and $AA22, there is the implementation of the GRAPHIC command.

The ASCII-Content for the different Function-Keys are between charset and screen-RAM.
You can assign up to 128 characters to one function-key.

The management of the keys is not very intelligent, changing the key assignments will not override the old values and begins eating up memory.

--------------------------------------------

For using the whole 3k Expansion you can try :

POKE643,255:SYS58232

This gives you full 6654 bytes free and switches the ROM-Expansion off.

Switching it back ON just do a reset or SYS64802.

---------------------------------------------

The ROM of the expansion ranges from $A000 to AFFF (4k).
AFE6 is unused and contains $00.
AFFF is unused and contains $AA.

-- Thomas

Posted: Thu Sep 07, 2006 1:24 pm
by mercifier
There were indeed some talented and experienced S.E. owners! Thanks for all the information! :D
Thomas Hechelhammer wrote: For using the whole 3k Expansion you can try :

POKE643,255:SYS58232
So I must do this procedure before loading a program which expects a plain 3k expansion?


It does not surprise me that the only thing added to the system is a number of new BASIC commands, but somewhere it was stated (can't remember where) that the S.E. would add new colors and increase resolution. Simply advertisement bogus, eh?

Posted: Thu Sep 07, 2006 1:52 pm
by Thomas Hechelhammer
The commands POKE643,255:SYS58232 have to be executed before loading a program (the other way round the program would be deleted).

These commands only corrects the pointer of the highmem and initialises the system (no complete reset-routine).

Here are some lines out of the manual:
1.1 Introduction
The VIC1211A SUPER EXPANDER CARTRIDGE is an interesting and versatile programming aid. It adds new colors, new sets of graphics and an enlarged music-writing potential to the operating system of your VIC 20 computer.
I think they talked about the much easier usage of auxiliary colors ("new" colors) and the redefined charset which are really not directly supported by the VIC 20 operating system.


-- Thomas

Posted: Thu Sep 07, 2006 5:47 pm
by carlsson
The VIC chip doesn't have any video in/through port anyway, so if the cartridge contained its own enhanced chip, it would have its own output, much alike the 40/80 column boards. But yes, the auxillary colour (high nybble of the volume register) might've been seldom used or known in those days, and a multi colour graphics kit that could utilize this might've gotten away with new colours.

Posted: Sat Jan 27, 2007 4:59 pm
by Alan
Thomas Hechelhammer wrote:remarkable feature: The expansion offers an interrupt-player for music, similiar as used in the C128.
I have never been able to get this to work. When I use the SE's music playing command everything stops while the music plays. Does anyone have an example of this so-called interrupt player?