Yuichi Toyama
"LOG iN" Dec. 1985 Issue
Japanese title name:
D-pad left/right: Rotate left/right.  Hold and release trigger 1: Shoot.   Trigger 2: Thrust.
Arrow left/right: Rotate left/right.  Space: Shoot.   GRAPH: Thrust.
F1: ASC ON (Your ship gets air resistance. Default setting, but it costs more fuel.)
F2: ASC OFF (No air resistance. It saves fuel, but it would be more difficult to return to the mother ship.)
F3: MODE A (Can rotate by D-pad(or arrow) up/down, too.)
F4: MODE B (Can't rotate by D-pad(or arrow) up/down. Default setting.)
F5: Open the hatch of the mother ship.

The game:

The controls themselves are similar to "Asteroid", but the game's style is unique.
You must control your ship and save the mother ship called "VILZAM" from enemies.
There are 26 levels (!) in total.
The fuel of your ship is also its HP, which is also reduced by enemy attacks.
However, if you open the hatch of Vilzam and go inside, you can get a full fuel supply.
It means that you can consider that your ship can recover its HP as many times as you want until Vilzam's HP runs out.
Incidentally, Vilzam itself also sometimes fires bullets from its batteries to attack the enemy.

For Disk users:

This game is originally for tape only. This is because part of the program's area of use overlaps with the 1st disk's work area.
It is clear from the figure below that there is no space for offsetting compared to other "Tape only" games.
The disks' work area of RAM is from around DE7AH onwards.
Therefore, the part from D800H to EFFFH is copied to VRAM in advance, and transfer to the the original addresses(D800H to EFFFH)
after you load and run the loader.
At that point, the disk's work area is broken and it makes Disk Basic disable, but since you don't have to save the game, there is no problem.

Anyway you cannot even save/load the games' memory dump file on Disk Basic.
In order to get this game to work from diskette, try following method.
(Modern emulator users can refer following, too.)

First, enter all data using a binary editor on Windows to create one.
In such cases, we Japanese usually use freeware called "DumpWithRTCS".
Choose "Tool(T)">"Address Offset(A)...". Enter "8300". Then enter all hexadecimal numbers to EFFFh.
Make sure that each checksum matches the checksum listed in the magazine.
Then split it into 2 files. One is from 8300h to D7FFh, and the other is from D800h to EFFFh.

The 1st file named "VILZAM1.BIN":

Add a header as shown below to complete. When you want to insert numbers, press INS key.

The 2nd file named "VILZAM2.BIN":

Add a header as shown below to complete.

The 3rd file:

First, the 2nd file(its size is 1800 bytes in hexadecimal) is loaded at 0000h~17FFh of VRAM by the line #3.
It will be transferred to E000h~EFFFh of RAM by the line #4~6 that reads the line #8.
BD78h is just an execution address of the game.
About the line 8:
"21,00,00" means 0000h, the start address of the 2nd file that was written at 0000h~17FFh of VRAM.
"11,00,D8" means D800h, the start address of the 2nd file that should be transferred to D800h~EFFFh of RAM.
"01,00,18" means the size of this data is 1800 byte in hexadecimal.
"CD,59,00" means that this machine language can transfer the 2nd file from VRAM to RAM.
"C9" means that it returns to MSX Basic.

The problem, however, is the value of the second parameter of the CLEAR statement in the Basic file that directs these data transfers.
Since the game's data starts from 8300h and the machine language for data transfer is written from 82F3h just before it,
that value should normally be "&H82F3".
However, if you do so, you will get an "Out of memory" error.
So I reluctantly set that value to "&H8400".
Naturally, it assumes that some data will be overwritten by the Basic file between 8300h and 83FFh.
However, I can't see any issues as far as I played the game.

Your ships:

The range of the bullets is short if you don't hold a fire button.
It has a long range, but eventually, you must hold a fire button.


They shoot bullets at you while moving slightly off axis with your ship.
It will track and stick with your ship.
It shoots bullets while circling around Vilzam.
Shoots bullets while moving erratically. It escapes so fast.
An even nastier version of DUELUS, it can teleports to avoid your bullets.
It shoots bullets in 8 directions.
It crosses the screen from right to left and crashes into your ship. High attack power.
The most dangerous enemy in the game. It escapes so fast and shoot BOLBs.
A missile released by VALZERD. If it collides with your ship, the game is over immediately.
It releases HARK and always tries to keep your distance from your ship.
A boomerang-shaped flying object that puts mines near your ship.

Official cheat:

Press SELECT+INS+("a"~"z") during the playing demo scene, you can start from the level you want.
e.g. If press SELECT+INS+"c", the 3rd level starts.
CD32+FDD users must press F6+F9+("a"~"z") keys on Amiga Keyboard.
Of course SNES+AD adapter users (or GBA users) must use a virtual keyboard of MSXAdvance.

Hidden message:

The author, Yuichi Toyama, is known as the programmer of the famous shooter "MUSHA" (Mega Drive) and other games.
He was also famous for putting hidden messages in his works.
This game, VILZAM, also had a message hidden in its dump file.
English translation:
This game was designed with William Electronics' "Defender" (hereafter referred to as "DF") as a goal,
but it was far inferior to that game. DF was created in 1980, I believe.
Five years later, the quality of Japanese action games has yet to surpass DF.
XEVIOUS, for example, seems to be considered good as long as it has a large number of enemies.
Whether arcade games or microcomputer games,
it will be a long time before Japanese games can compete with USA games.


...Am I the only one who finds it far more interesting than "Defender"?

>>Return to the "Type-in MSX programs" page

Yellow colored links
are external links.

Return to
the top page.