Laser 310 Home Computer
Laser 310/Vz300 tech. spec.
Some laser/Vz machine language tips
The Laser 310, known also as Vz 300 (in Australia, was built under licence by Dick Smith Electronics) was a little 8-bit home computer made by Video Technologies Hong Kong. I Had it one in 1985. Today its chips are fried, fortunately some guys continue to support it via emulation and two nice emulator for PC (DOS & Win) now exists! Please remember that Laser/Vz roms are property of Vtech and Laser/Vz commercial games are property of the game publisher so you can use it only if you're legally entitled to. It means you've the computer & the original games. Finally I would like to thank all people involved in emulation as they keep ours dreams alive.
Vzem : emulates Vz 200/300 and Laser 110/200/210/310 computers. It's written by Guy Thomason (aka Intertek) and works very well except for joystick support. It emulates sound via PC speaker, it's written in Borland C++ 3.0 for DOS. It requires at least a P200 and a Svga card. Has an interesting utility to convert Wav files (eg. cassette programs recorded via Soundblaster) into Vzem loadable files (with .vz extension). Mess: a similar project to MAME that emulates a great variety of micro/home computers (Vz/Laser, Commodore, Tandy, Coco, Atari, Dragon... and many others). It emulates sound via Soundblaster. It's more difficult to use than Vzem as .vz files must be loaded in command line, as for DOS MAME. Laser/Vz drivers are by Juergen Buechmuller. It's compatible as Vzem if not better (nearly perfect).
Laser games archive 1: The first archive containing: Formula 1, Laser Pong & Rocket Command. Formula 1 is a car game in which you have to avoid other cars while riding in a straight road. It's a complex game as uses intensive machine language, hires graphic and machine coded sounds. Laser pong is a clone of breakout with some twists, hires graphic and irritating sound. Rocket Command is a text game in wich you have to destroy a spaceship fliyng around with a limited number of missile.
Laser games archive 2: The second archive containing: Space Vice & Bomber Space Vice is an action game in which you have to kill a robo-alien before a vice kills your ship. It has 3 level of difficulty. It's a complex game as uses intensive machine language, hires graphic and machine coded sounds. Bomber is a simple text game (graphic is made with predefined character) in which you have to land your ship (rans out of fuel) safely to the ground while destroying the buildings that block your way.
VZ200/300 Resource web page :The page of the author of Vzem. You can find games, utilities, technical infos and other cool Laser/Vz stuffs. Vz Alive : A very nice looking site, full of Laser/Vz things. Mess roms : Here you can find Mess and ALL existing Laser/Vz roms.
Technical manual: This manual provided owners of the VZ200/300 series of personal colour computers with additional information to assist in programming, operation and expansion. it was released by Dick Smith Management Pty Ltd in Australia.
LASER310/VZ300 TECH. SPEC.
Follows: Video Technology Laser 110, Video Technology Laser 210.
Followed by: Video Technology Laser 500, Video Technology Laser 3000, Laser 128.
CPU: Z80A, 3.54 MHz (a curiosity: Laser 210, its precessor, was clocked at 3.58 mhz)
ROM: 16 kbytes
RAM: 16 kbytes, expandable up to 64 kbytes.
Keyboard: A new, serious-looking typewriter keyboard with 46 dark plastic keys in almost the same layout as that of the VZ-200 and Laser-200 (the only difference being the space bar which is the right size and where it should be). There are loads of glyphs per key (three to four). There are two shift keys at the right places and a Control (CTRL) key. The standard ASCII characters are at the right places for a US QWERTY keyboard. No cursor control keys as such (they're accessible by using shift or control key combinations). Colour attributes and 2x2 block graphics are accessible in the same way, as are BASIC keywords. The keyboard includes an auto-repeat feature and key-click sound (see my tips to disable it). Display: Two display modes available: Text at 32 x 16. 8 colours can be displayed. All characters reside in ROM, so they can't be redefined. Low resolution graphics (64 x 32) can be displayed by using the 16 2x2 block graphics characters. Graphics at 128 x 64. 8 colours can be displayed in group of 4 with 2 different background color (white or green). Audio: Simple beeper driven directly by the CPU. 31 different pitches and 9 different durations are available (obviously this is an operating system limitation, since the beeper can produce normal 2-bit sound).
Input/Output: Tape player/recorder connector, 600 baud interface. TV connector (RF modulator) Composite monitor connector. Memory expansion port. General expansion port. Known pheripherals:
Laser JS 20: 2 Joysticks with 2 fire buttons each (first to the left and second to the right of joy basis!), connected to the Laser trough the only. Expansion port (they had to be plugged with Laser turn off or an hard reset occour!). They were of horrible design and very difficult to use. Surely the strangest joys ever seen!
Laser DR 15-30: a tape driver with Rec level volume (DR 15) or automatic Rec level volume (DR 30). Compatible with most 8-bit computers. (Today mine works as a walkman! (ndSTEVE)).
Laser DD 20: a floppy disk drive that reads 5,25 inch floppies single headed, with 48 tpi of density, 40 tracks / disk, 16 sector / tracks, 128 Bytes / sector, 80 Kb of capacity and 80 RPM of rotating speed.
Laser PP 40: a printer plotter with a Centronics interface, 4 colors (red, green, blue, black), 40/80 columns, 96 ASCII characters, 64 different height of char., 0.2 mm of resolution, paper max. 114 mm, compatible with Apple II, Vic 20, Dragon, Spectrum, TI99/4A.
Laser LP 20: a light pen. Useless. The only program made for it was the demo cassette included with pen!
SOME LASER-VZ MACHINE LANGUAGE TIPS
NO LISTING: With this you can protect your programs. List command won't work anymore ('til you reset machine and free ram of program) and run will work only one time after you load program. Be careful as with this it's not possible to break programs running (use it only when you're sure your program is correct). What to do:
1) Load the program you have to protect.
2) Insert this line as it is (be sure you haven't line 1 in your program or renum it): 1 poke30884,17:poke30885,123:poke31154,205:run:rem
3) Digit this (after each line press -return-): poke 31467,255 poke 31468,255 poke 31502,0 poke 31503,0
4) Save your program
AUTOMATIC LINE NUMBERING
This insert the line number in automatic every time return key is pressed. It's useful when you write long basic programs as it speeds up your work and prevent errors. What to do:
1) Digit this: (after each line press -return-... don't digit comments!!!) poke 30946,x poke 30947,y (This 2 pokes define from what line number it will start.) (For example to start from line 10 digit x=10, y=0) (To start from line 1000 digit x=232, y=3) (To start from line 256 digit x=256, y=0) (To start from line 257 digit x=1, y=1)
2) And this: poke 30948,z (z stands for the incremental number. Next line = previous line + z.) poke 30945,255 (Starts automatic line numbering.)
Poke 30776,255 (inverse on)
Poke 30776,0 (inverse off)
Poke 30779,32 (sound on + keyboard beep on)
Poke 30779,9 (sound on + clear screen)
Poke 30779,0 (sound off + keyboard beep off)