Contents

- Title Page

- Editorial

- Commodore Free E-Cover Tape #11

- General News

- Vince Clarke Video Interview In 'Electronic Sound' Magazine

- Arcade Evolution Amiga/C64 Joystick (2 versions)

- Borderline BBS guided tour

- Revival Studios

- USB Joystick Adapter

- Commodore LCD Emulator

- C64 News

- Phase Out

- Demo Coding On The C64

- 8 Bit Chord Tables Tutorial

- PETSCII Editor V4

- Reset Issue 2 Released

- C&A Games Issue 08 Released — [Polish Language]

- SID-Wizard PDF Files Released

- SID-Wizard 1.6 Released With HerMIDI-1.0b

- GPS View

- Crazy Dog Racing

- VIC 20 News

- Realms of Quest IV (Official Release)

- Flash Memory Expansion

- C16 & Plus/4 News

- Moldi's Treasure 6/10

- Text Resizer

- PET News

- Paddle Shooter

- Amiga News

- X500+ Special Promotion - Amedia Computer

- 20 Years Of Morgue Soft Ltd. ISO-CD

- Review: Micro Hexagon [C64]

- Review: ViColumn — For The Unexpanded VIC

- Review: Android 2 [C16]

- Review: Double Or Nothing [C64 SEUCK]

- Review: The Frog [C16]

- The Assembly Line — $01: 65x Processor Architecture – The Registers

Editor

Nigel Parker

Spell Checking

Peter Badrick
Alex Leonardi

TXT, HTML & eBooks

Paul Davis

D64 Disk Image

Al Jackson

PDF Design

Nigel Parker

Website

www.commodorefree.com

Email Address

commodorefree@commodorefree.com

Submissions

Articles are always wanted for the magazine. Contact us for details. We can’t pay you for your efforts but you are safe in the knowledge that you have passed on details that will interest other Commodore enthusiasts.

Notices

All materials in this magazine are the property of Commodore Free unless otherwise stated. All copyrights, trademarks, trade names, internet domain names or other similar rights are acknowledged. No part of this magazine may be reproduced without permission.

The appearance of an advert in the magazine does not necessarily mean that the goods/services advertised are associated with or endorsed by Commodore Free Magazine.

Copyright

Copyright © 2014 Commodore Free Magazine
All Rights Reserved.

Issue 78

http://www.commodorefree.com/
Free to download magazine dedicated to Commodore computers

Available as PDF, ePUB, MOBI, HTML,
TXT, SEQ and D64 disk image

Editorial

Well I never thought I would make the issue this month, After a rather scary road crash were a car shunted into the back of me, and saw my good-self carted away in an ambulance. Phew let’s hope that’s all the bad news new as I can’t take any more this year!

So in this issue

The usual news and Richards E-Covertape, we haven’t had any other submissions from owners of VIC, PET or C16 machines so again it’s a Commodore 64 only version on the E-tape. And part 2 of the assembler course, I received some good comments about part one and sent them to the author, so get your pencils sharpened as its time for more schoolin”

I finished off this issue with just some reviews of games, some articles that were promised never arrived, we may see those next month.

That’s it for the editorial short and sweet

Thanks for reading and feel free to email me your comments

Regards

Nigel, Editor

www.commodorefree.com

Commodore Free E-Cover Tape #11

Wowee. Another tape crammed full of hot stuff. I best tell you what is in store on this issue's E-Cover Tape? Well, we have for you just 5 games today. 2 shoot 'em ups, a racing game, a classic Breakout game and a Poker game. To round off the tape we have some stunning tunes in a little music compilation by Mayhem called Zax Box 31. The highlight for this issue's tape is probably “Dark Force – Special Edition”, which is a SEUCK game with a big difference. Paying homage to the classic C64 title called Light Force.

Dark Force – Special Edition

(C)The New Dimension

Programming

Richard Bayliss (Enhancements), Alf Yngve (Using SEUCK)

Graphics

Alf Yngve, Richard Bayliss, Johan Janssen

Music

Richard Bayliss

To kick off this issue's E-Cover Tape, comes our tribute to Light Force by FTL and Hewson. This game was created using the Shoot Em Up Construction Kit, and features some stunning in game enhancements. Unlike the version released on the TND web site, this is the special edition of the game. Which features some front end and in game enhancements which were never used.

It is the year 2173, and a major threat has been signalled through space. Cygons have built a giant laser beam, and they are threatening to fire it. First they must charge up a generator and the other 19 backup generators. Should this happen, and the laser gets fired, it will destroy all of the planets in the solar system. Since this threat had taken place, a huge war broke out. Not everybody could take on the Cygons, with the extremely powerful ships and battle stations.

Planet Earth sends you to take on a huge mission. To battle against the Cygons and put a stop to the laser beam. The only possible solution to prevent this laser from firing would be to destroy all 20 generators (the main generator and the backup generator). Six of these generators will reward you an extra life. All generators are placed in three different sectors. The deep space, Planet Hox, and the Finale (The Cygon Fortress). You will encounter various forces of the Cygons. If those get in your way, you must zap them to their doom – before your ship is doomed. Should you miss one generator, then we are doomed. Can you fight carefully and destroy the laser beam – or will all planets of the solar system perish.

Crazy Dog Racing

(C)2013 Krissz + Rihardo

Programming

Krissz

Graphics

Krissz + Rihardo

Music

Rihardo

During the Christmas period of 2013 / New Year 2014, one particular game caught my attention. While I was searching for stuff for this issue's E-Tape, I decided “PERFECT”, a freeware racing game. So behold the original game, 'Crazy Dog Racing'.

This is a racing game for one or two players. If you chose a 1 player game, you'll only be racing on your own. Sounds boring doesn't it? Well, not necessarily, since there are a variety of challenging courses for you to choose from, you can try and keep beating the best time. Two player mode is even more fun, as you can race against a friend – as well as try to beat your own time.

Each course has a different level difficulty, in which you can battle through. There are loads of hard bends and obstacles which could make life more harder for the dog racers. This game also comes with full instructions as well.

If you would like to read the blog about Crazy Dog racing, check out this link below (Language is Hungarian):

Source: http://blog.krissz.hu/2013/12/22/crazy-dog-racing/

Enigma

(C)1988 David Kinder

Programming

David Kinder

Graphics

David Kinder

Music

N/A

This is a little fun shoot 'em up, which was written back in 1988 by David Kinder. The game is a real tough horizontal scrolling shoot 'em up, which looks really simple. It can also be pretty addictive as well.

Your mission is to fly your space craft along a planet, and fight as many alien fighters as you can. Watch out because those aliens will also fight back. To complete a wave of aliens, you must shoot a whole fleet of them – otherwise the same aliens will come back.

You will have 3 ships to fight against those aliens. Once all 3 lives have been taken out, you will lose the game. If you lose the game, and your score is a good score, you'll appear in the high score table. Good luck

Stud Poker

(C)Public Domain Software

Programming

G. Anderson

Graphics

G. Anderson

Music

N/A

This is a classic public domain gambling game for the grownups. Stud Poker, is a game which I found on an old PD games compilation disk (And still have that disk today). The game was of course programmed in BASIC

You are sitting at the table amongst other poker players. The aim of this game is to beat all of your opponents by having the correct full set of cards.

At each turn, you must call / raise your bet. The bet will go into the dealer's money pot. The dealer will hand the cards over to each player, unless the player has folded. If you fold, you will fore-fit the game. Further instructions are in the game itself.

Hallax

(C)Public Domain Software

Programming

Mega Yat / Relax Designs

Graphics

Mega Yat / Relax Designs

Music

Charles Deen / Maniacs of Noise

To round up the games section on this issue's E-Tape comes a classic breakout style game with nice graphics by Mega Yat. Also stunning music by Charles Deenen (A tune that was used quite a lot in the demo scene).

Not only is Hallax a breakout game, but it also comes with its own built in level editor. The disadvantage to the level editor is that there is no load / save option. So you'll just have to try and save the whole game with a M/C monitor and pack it, or freeze the game with a freezer cartridge and save it.

The object of Hallax is to simply knock out all of the bricks on screen. You control a bat which will can move left or right. Your score will depend on the type of bricks which get knocked out. However, during play, there will be some distractions for your bat and ball. Those of which are spinning discs. Are they good, or are they bad? They are power up disks. The following colours represent the type of power up, should the player collect it during play. Should the ball exit the bottom of the screen, it will cost a life.

Green disc – Sticky ball. This will allow the player catch the ball when it hits the bat.

Grey disc – Expanded bat. Your bat will be bigger, to make hitting the ball much easier.

Blue disc – Freezer - AVOID AT ALL COSTS. It will stop your bat from moving for a period of time.

Brown disc – Shoot 'em up – Your bat is able to blast at the bricks.

Red disc – Moves you to the next level

There are 10 levels in which to complete. Which can be quite tricky and awkward, depending on the bricks that get hit.

There is a built in editor, in which allows you to design your levels over the existing levels. Press F1, in the front end then press F3 to enter the editor.

The editor has a series of bricks in which you can choose from. Pressing + / - will advance forward or move back one level. Pressing F5-F7 will select the brick which you wish to place on to the screen. Using a joystick in port 2 will move the cursor, and pressing fire will place the selected brick in place.

As mentioned before, there is no option to save your edited levels, but you can always use the capture / pack / freeze method if you want to share your level designs with other gamers. Hallax is of course Public Domain Software.

Zax Box #30

(C)1995 Mayhem

Programming

Motion

Graphics

Motion + Bren

Music

Various Musicians

To round up this issue's E-Cover Tape, comes this nice music demo from Mayhem, written back in 1995. It is called “Zax Box #30” and consists of some great tunes by various demo scene musicians in the past. This is a bass special, which features 7 nice tunes which may have appeared on different C64 demos.

Using a joystick in port 2, move the arrow next to a tune and then press the fire button to start playing it and enjoy this old-school piece of C64 history.

SYS 64738 :)

Do you have any programs which you'd like to submit to Commodore Free for the next E-Cover tape? If you do then please don't hesitate to email your submissions to Nigel at commodorefree@commodorefree.com or to Richard at richardbayliss.c64@gmail.com Please provide instructions if you can if we like your program, it could appear in the next E-Cover tape. We also welcome SID tunes for the TS6 loader system, if you want to submit those.

SYS 64738

See you next issue with more tape goodies.

General News

Vince Clarke Video Interview In 'Electronic Sound' Magazine

COMMODORE FREE Ok I know it’s not Commodore news and Vince in an interview said he had never owned a Commodore 64 but it’s interesting if you’re a retro synth type person especially as you can download this section of the magazine for Free

Vince Clarke Video Interview In 'Electronic Sound' Magazine

If you don't know the digital magazine 'Electronic Sound' https://www.facebook.com/electronicmagazine then it's worth checking out anyway (I'm a subscriber!), but the current issue of the magazine is not only free and gratis for you to download and own, but it also features a filmed interview with Vince Clarke conducted by The Gadget Show's Jason Bradbury at Vince's The Cabin Studio... the digital magazine is available https://itunes.apple.com/gb/app/electronic-sound-magazine/id628044956?mt=8 if you want it for an Apple device, or https://electronic-sound.dpdcart.com/cart/add?product_id=75598&method_id=78421 if you want it for any other device

Arcade Evolution Amiga/C64 Joystick (2 versions)

http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=1172

Arcade Evolution is a new joystick compatible with Amiga, Commodore 64 and Minimig.

Product Features

- Micro switched Fire Buttons

- Metal shaft with micro switched contacts, metal base plate

- Independent Fire A or B buttons (switchable on/off)

- Robust, stylish plastic case (20x20.5x5 cm)

- Curved front lip for additional comfort on wrist

- 8-directional control

- New and guaranteed

- Cable with D-Sub 9-pin connector

Two versions are available :

Joystick shaft on right hand side and fire buttons on left

Joystick shaft on left hand side and fire buttons on right

The device is not compatible with Amiga 600 joystick ports unless an adapter used.

Where to buy:

UK Store:

http://amigakit.leamancomputing.com/...oducts_id=1172

Europe Store:

http://amigakit.leamancomputing.com/...oducts_id=1172

USA Store:

http://www.amigakit.us/product_info....oducts_id=1172

Canada Store:

http://amigakit.leamancomputing.com/...oducts_id=1172

Borderline BBS guided tour

From: Andrew Wiskow
To: Commodore Free
Subject: Borderline BBS guided tour

I just posted a video on YouTube of a guided tour of Borderline BBS. For anyone who doesn't already know, Borderline BBS is running from my home and is the only dial-up BBS anywhere in the world right now running on a Commodore 64. If you no longer have a modem and/or a home phone line, this is for you. If you have no idea what a BBS is, this is for you, too. :)

Here's the link to the video: http://youtu.be/wCicz04EwwQ

The YouTube comments say

If you have a modem and a phone line, you can call it today at 951-652-1690. Running 24/7 at 300/1200 baud on a Commodore 64 using All American BBS software. For more information, check out the website at

http://cottonwoodbbs.dyndns.org

Revival Studios

FROM Revival Studios

Hi everyone,

First of all, let me thank you all for supporting my retro gaming efforts and wish you all a happy new year!

Last year was very successful in terms of my retro gaming efforts. I've released quite a few games and organised a successful retro gaming event in the Netherlands, with many interesting talks and over 400 visitors!

Last year was also the year that paved the way for me diving into indie-game development under the Bitstorm Games label. As of the new year, I’m all set up and ready to bring some nice retro inspired games to modern systems as well (keep an eye out for cool stuff by following me on http://www.facebook,com/bitstormgames and twitter (@bitstormgames). The good news is that some of these projects (like the upcoming run 'n gun Wildforce) will probably make their way onto retro platforms like the Dreamcast and Neogeo in the future as well.

Of course I will also continue to develop for classic game systems, so it will be a balancing act between both ;-)

To start of the new year proper, and help me startup, I’ve got 2 things for you guys:

- Massive sales from my personal game collection (both spares and complete collections).

- Sales for some special/limited items

- New year’s sale for my homebrew stuff (10% OFF on games in stock)

More info below...

Collection Sale

Sorting out my videogame collection, I’ve decided to shift focus on completing some systems (like Saturn and Dreamcast), while letting go of other systems. This means trades are also accepted.

For my latest WANTED LIST: http://www.revival-studios.com/collection/wanted.html

Collections for sale:

- Large Japanese Sega Dreamcast collection. System (boxed), steering wheel (boxed), various accessories and +- 100 games (some new/sealed)

- Large Japanese Sega Saturn collection: System HST (boxed), keyboard/netlink (boxed), +- 100 games (some new/sealed)

- Virtual boy collection - Mint/boxed System (jap), 13 games boxed+protection box, flashboy, ac adapter(boxed)

- Atari collection (bunch of systems + games)

- System + Almost complete videopac collection 1-55

- VIC-20 cartridge collection (boxed + loose)

- Sizable ZX-81 tape collection (+ system)

- +- 40 XBOX (PAL) games

- +- 100 PS2 (PAL) games

- +- 100 PS1 (PAL) games

excel sheet with 1000s of other systems/games at: http://www.revival-studios.com/collection/console_tradesale.xls

You can find the tabs at the bottom for the different systems.

Consider selling only for a good offer:

- Complete GAME.COM collection (all new)

- Large collection of Colecovision homebrews (including many rares like Mario bros)

- PS3 PAL game collection (+- 150 games)

- Mint/Complete Sega 32X PAL Collection (serious offers only)

Revival Studios Homebrew Sale

So, if you are/were interested in one of my games, this would be a great moment to step in, as I am offering a 10% discount on all my games that are in stock. These include:

- MSX: Astrododge

- Vectrex: Vectoblox, Colorclash, Debris (only a few copies left), maybe a few v-hockey's

- Videopac: Astrododge, Mayhem, Colorclash, Air assault, Cavity

- Colecovision: Astrododge (US), Astrododge (PAL)

- Commodore PET: Most titles

- Commodore VIC-20: Avalanche, Mayhem

- Sega SG-1000: Astrododge (serialised run of 50 copies. few copies left)

There might be a few other titles here and there, but I would have to check.

Furthermore I’m accepting offers on my spare copy for a few hard-to-obtain Limited Editions:

- Vectrex: Debris VIP (Serialised run of #20. Serialised title screen, Box, cartridge, overlay and extras)

- Vectrex: Colorclash Limited Edition (Box, game, overlay, full color manual)

- Videopac: Mage: The Enchanted Crystals treasure chest (serialised run of 20)

- Videopac: Mage 2: The Dark Mirror (serialised run of 20)

few more rare items (not by revival studios)

- Vectrex: Vecsports boxing (small case, run of 20)

- Vectrex: Mint-colored last production run of European MB Hyperchase complete in box. (Game Cartridge has the same mint-colored logo as the Bandai Kousokusen version, Made in HK)

- Vectrex: 2 games that were sold to me as prototypes, however I have no way of verifying if this is true :S

- Atari 2600: Vulture attack (PAL), Pitfall II (PAL), Defender blue label (PAL)

- Atari 7800: Super Cobra (only 20 made)

So there you go, sales will help me complete funding on our first indie game project as well as materials for future homebrew releases.

Kind regards,

Martijn Wenting

USB Joystick Adapter

Sidchip has created an adapter that allows the connection of two Atari-style joysticks to a USB. Port.

Features

- Supports two Atari / C64 / Amiga etc. digital joysticks simultaneously

- Full-speed USB with up to 1000 Hz update speed (*)

- Supports paddles on port 1

- Supports SMS, Megadrive 3- and 6-button gamepads on port 1

- Works in Windows, Linux, Mac (standard HID game controller, no drivers needed)

(*) Seems to depend on OS. Windows 2000 polls at 1000 Hz, Linux and OSX poll at 500 Hz.

For more information click here

http://kair.us/projects/dual_atari/index.html

Commodore LCD Emulator

Black Lord has created a web site about the Commodore LCD. The Commodore LCD never went into production, but there are some prototypes floating about. On the webpage you can find out more information about the CLCD and you can also try CLCD emulator in your browser.

http://commodore-lcd.lgb.hu/

C64 News

Phase Out

Phase Out is a new game for the Commodore C64, created by Ernst Neubeck.

The goal of the game is to clear each level by swapping the position of the coloured gems in 'match-2-or-more' style. Game elements like black gems which can't be cleared and not movable wall bricks make this game to a great challenging puzzle game - and you'd better not run out of time!

Game Features:

- 50 levels of great brainwork

- Colorful title and in game graphics

- Superb title and in game music

- Optional in game sound effects

- Easy to use level password system

- RUN/STOP to abandon in game

http://inc-x.jimdo.com/phase-out-commodore-64/

Demo Coding On The C64

Some Video links were emailed to me, the sender wanted to remain anonymous so I will just leave you with the comments I received in the email (they are actually the YouTube notes)

Speaker: Michael Steil

Everything about the C64 in 64 Minutes

Retro computing is cool as never before. People play C64 games in emulators and listen to SID music, but few people know much about the C64 architecture. This talk attempts to communicate "everything about the C64" to the listener, including its internals and quirks, as well as the tricks that have been used in the demo scene, trying to revive the spirit of times when programmers counted clock cycles and hardware limitations were seen as a challenge.

The Commodore 64 was released in 1982 as an entry- and hobby-level machine competing against the Atari 8 bit series and the Apple II. Compared to other systems on the market, it had a lot of RAM (64 KB), and very sophisticated video and audio hardware. While it was quickly forgotten in the US, it reached its peak in the late 80s in Europe, being a very affordable hobby and game computer. Being the longest running computer of all time, being produced for 12 years, programmers understood the hardware very well, and continued finding new tricks how to create even better graphics effects. "AGSP" for example, a very sophisticated trick that makes it possible to arbitrarily scroll "multicolor bitmaps", e.g. for platform games, wasn't used in games until about 1993. This talk explains all the hardware details of the C64: The programming model of the 6502 CPU family, the Complex Interface Adapters (CIA), the Sound Interface Device, and the programming details as well as common ticks involving the Video Interface Controller (VIC-II). The disk interface will be discussed just as well as the design of the 1541 drive. The listener will get a good understanding of 8 bit programming and creative programming on extremely limited hardware, as well as common tricks that can be generalized to other systems.

More information about the 25th Chaos Communication Congress can be found via the Chaos Communication Congress website: http://bit.ly/25c3_program

https://www.youtube.com/watch?v=ZsRRCnque2E

https://www.youtube.com/watch?v=So-m4NUzKLw

Great Introduction into Demo-Coding on the 64, which was held 3 years later at the same event

8 Bit Chord Tables Tutorial

http://csdb.dk/getinternalfile.php/127562/8+bit+Chord+tables.txt

Released by: Johan Brodd

This could be all you need to know about creating Chord effects on the Commodore 64

PETSCII Editor V4

fieserWolf has released a PETSCII editor for the Commodore 64 you can download the program from here

http://csdb.dk/release/?id=128305

With the program you can edit characters and colours separately

FieserWolf says

doing so will permit you to first make a black & white picture and then colourize it afterwards.

Reset Issue 2 Released

From: Kevin Tilley

Reset #02 has just been released and features 70 packed pages of content!

Included is the first review of Shoot ‘em up Destruction Set 3 from Psytronik, RGCD 2013 16kb Cartridge Game Development Competition rundown, Developer Profile featuring Kelvin King, Games That Weren't, C64 Endings, Ocean the History Book review and much, much more. I hope you enjoy the issue! :)

http://reset.cbm8bit.com/

Sincerely,

Kevin Tilley (Unkle K/Reset Magazine Staff)

C&A Games Issue 08 Released

[Polish Language]

Recently released is another PDF based magazine, it’s the C&A Games Polish edition, you can download a copy from here

http://csdb.dk/release/?id=128768&rss

SID-Wizard PDF Files Released

Charts And Tables For SID-Wizard 1.6 and Creating Chiptunes With SID-Wizard - Second Edition

WitchMaster has released two PDF files to help with the creation of Commodore 64 SID tunes, these documents are to be used with the SID wizard Music editor software program released by hermit

http://www.witchmastercreations.com/dlt.php?file=files/charts_and_tables_for_sid-wizard_1.6.pdf

http://www.witchmastercreations.com/dlt.php?file=files/creating_chiptunes_with_sid-wizard_second_edition.pdf

SID-Wizard 1.6 Released With HerMIDI-1.0b

Some information is here

http://csdb.dk/release/?id=129031

To download the file you can grab a copy of Sourceforge here

http://sourceforge.net/projects/sid-wizard/files/release/SID-Wizard-1.6.zip/download

HerMIDI is a MIDI interface for the Commodore 64 The device itself has only a few components so you can easily built it yourself. The schematics, firmware and PCB are all available from the links. The device is designed to work with the SID-Wizard program.

The working tested devices so far:

Keyboards/synths:

- AKAI MPK25 MIDI-controller

- Elka MK88 master keyboard

- KORG 707 synthesizer's DIN MIDI-output

- Korg MS2000R

- Miditech "midistart music" USB MIDI-keyboard

- Roland XP-30

- Swissonic CK490 USB midi-keyboard's DIN MIDI-output

- Yamaha PSS-790 Keyboard

- Yamaha AN1X Keyboard

- Yamaha RM1X

- Yamaha DX7IID

Miscellaneous (computer/controller/etc. outputs):

- Arduino serial port (used for MIDI)

- Sonar X2 with M-Audio Delta 1010

Models that didn't seem to work:

- Roland D-50

Has released SID Wizard update, this program is for creating Sid ,music tracks on the Commodore 64

Features Include

- Calculated vibrato, 8x frame speed, keyboard-tracking, colour-themes

- XM, MID (back & forth) and Goat Tracker 'sng' conversion tools included

- MIDI-input hardware support and HerMIDI dedicated MIDI-interface.

- Stereo (2SID) version included, Verdi tuning system and Just-intonation

- Janko piano-keyboard layout support, Sound-effect (SFX) support

- One-step 'Undo' function for patterns/orderlists/instruments

- 324 example instruments and around 30 example tunes

Download

http://csdb.dk/release/download.php?id=160067

Discuss

http://csdb.dk/forums/?csdbentrytype=release&csdbentry=129030&entrytopic=1

GPS View

Timo Voutilainen has connected a GPS tracking device to the Commodore C64. Tim also provides information and a download of the software, in case you want to build your own C64 navigation system.

List of things you need:

- CRIUS NEO-6 GPS v3.0 + I2C-GPS NAV -combo (EBay)

- 3.3V USB FTDI cable (for configuring GPS and programming I2C-GPS NAV -board)

- Windows PC with FTDI drivers (http://www.ftdichip.com/FTDrivers.htm) installed

- u-centre software (Windows only) for configuring NEO-6 GPS -module http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html

- Arduino IDE 1.05 (Windows or Linux) for programming I2C-GPS NAV -board

- C64 Userport connector

- some wire

https://sites.google.com/site/dividedbit/home/c64-projects/gps-view

Crazy Dog Racing

Created by Kriss and Rihardo; this is a racing game but viewed from above. The main characters are dogs, the race is over twelve different circuits of the desert to the north pole. The game has a two player option with the fire button can be used to activate the turbo

http://blog.krissz.hu/2013/12/22/crazy-dog-racing/

VIC 20 News

Realms of Quest IV (Official Release)

Requirements: 16K/24K VIC-20 (for Realms IV), Unexpanded VIC-20 (for Realms I+II) and Commodore 64 (for Ultimate Quest: Catacomb). A disk drive is also required.

The adventure continues in Realms of Quest IV where you assemble a group of heroes to do battle against the mysterious Time Lords inside the Dungeon. Thus befalls you, brave adventurer, to accept the challenge and venture forth into the labyrinth below to ensure that evil and chaos do not rise. If you can survive the perils that await beneath, there lay riches, glory and the immortality of your name.

Realms of Quest IV Features:

- 10 Dungeon Levels which have been designed by hand with numerous rooms, secret passages, riddles and traps to traverse and overcome.

- 10 races and 12 classes to choose from to create 8 players for your party.

- You will meet other heroes to help and guide you during your quest.

- Over 100 unique graphical portraits that depict the various monsters that you'll encounter as you travel throughout the Dungeon.

- Over 135 types of equipment to represent weapons, armour, gems, jewellery, potions, scrolls and miscellaneous magical items.

- 60 magic spells that you can cast.

- 3 game fonts to choose from.

- A 16 page printed instruction manual is also included.

All of this for your Commodore VIC-20, a disk drive and 16K of expansion memory. 24K is recommended as it features reduced disk loading times, an improved 3D graphical perspective and game music.

Side two features the Special Anniversary Editions of Realms of Quest I & II for the Unexpanded VIC-20. Also featured is the long-awaited Ultimate Quest: Catacomb for the Commodore 64 - originally created in 1989, now finally completed.

To buy a physical copy of the game on disk and a 16 page printed instruction manual in its very own plastic jewel case, go here

http://www.binaryzone.org/retrostore/index.php?main_page=product_info&cPath=87_95&products_id=631

Go here to get a lower-priced budget disk-only version

http://www.binaryzone.org/retrostore/index.php?main_page=product_info&cPath=87_94&products_id=632

You can also obtain a digital copy of the game

http://www.binaryzone.org/retrostore/index.php?main_page=product_info&cPath=87_90&products_id=633

Discuss here viewtopic.php?f=10&t=6350

Flash Memory Expansion

Petri Häkkinen has developed a flash memory expansion for the Commodore VIC-20. Currently this is a working prototype. Petri uses a 256K x 8 flash memory chip, three 74HC541 8-bit tri-state buffers and ATMEGA32A micro controller. You can follow the progress of this project on the blog http://petenpaja.blogspot.fi/2014/01/vic-20-flash-memory-programmer-part-12.html

C16 & Plus/4 News

Moldi's Treasure 6/10

Plus4world has a number of programs, games and demos released from the Moldi collection.

A few examples are:

A Ninja Küldetese, Page-Setter, Dirsort LEH, Reformat V4.0, Osszeadas Es Kivonas, Pellicula-turbo, MicroText 2.0, 8.0 Csillagaszat, Characters 2 Kolumbusz Hajoja, Super-file 4.0, Digimix-1 , 2,3, Logo Demo, Lista, No AIDS, Loopz, Jump Jet, Solitude, Rakontakota, Rotary C16-ra and Pasziansz.

http://plus4world.powweb.com/forum/26998

Text Resizer

Miro has created a new utility for the Commodore C16 and Plus/4. The utility will print larger version of text on the screen. Options available are: 4x tall & 4x wide, 8x tall & 4x wide, 4x tall & 8x wide and 8x tall & 8x wide.

http://plus4world.powweb.com/software/Text_Resizer

PET News

Paddle Shooter

http://www.youtube.com/watch?v=lFU2h9fBujY

Kozma Zsolt (Chizman) wrote written Paddle Shooter on commodore plus/4 in 2008 to demonstrate his working paddle interface: http://www.youtube.com/watch?v=HnOBNY...

He has now created a PET enhanced version of the game (with speech, main title, music, keyboard controlling, meteors, and some bug fixing)

The game can be download from here http://chizman.uw.hu/chizman/paddlesh...

Amiga News

X500+ Special Promotion - Amedia Computer

A Very Special Promotion on X500+ Cases from Lorinao Pagni !

A price drop to only 279 euros instead of 379 euros !

What you receive:

- The desktop case with its chicklet integrated keyboard (in qwerty),

- The SlimSATA DVD Writer,

- The Internal Multicard reader,

- Les stickers claviers français,

- And the choice of colour : Black or White.

The case can accept all Micro ATX or Mini ITX and one low profile expansion card. And are perfect for Sam440 or Sam460 (with one low profile PCI Express graphics card) motherboard.

Videos of the cases can be viewed on YouTube

- http://www.youtube.com/watch?v=IaGYAT_HrHY&feature=player_embedded

- http://www.youtube.com/watch?v=BGpcy4xZKdQ&feature=player_embedded .

20 Years Of Morgue Soft Ltd. ISO-CD

New From The Website Says

Available to download the ISO-CD with almost all Morgue Soft's software made during these last 20 years. Games, Tool, Programs, all for AmigaOS 2.x, Amiga OS3.x, Amiga OS4.x, MorphOS, AROS, WarpOS, Windows, Mac OS x86, the Morgue Soft's history in these 20 years with all Amiga classic games and tools.

FilePoke, AmiKiss, Eye Viewer, Strip Fighter, SirenaPlayer, V.A.M.P., JackPot Series, icons, guides and much more, available here: http://www.morguesoft.eu or to this direct link:

http://uploaded.net/file/fbwvfemg

20 Years from Morgue Soft Ltd.

COMMODORE FREE The download does try to install a download manager for windows and because not everything was in English I decided not to download as I didn’t relay know what I was downloading! Maybe another reader can verify and or send some instructions to this!

Review: Micro Hexagon [C64]

By Nigel Parker

You can find more news here

http://www.theverge.com/2013/12/2/5166812/super-hexagon-launches-on-commodore-64

And also RGCD`s Blog about the cartridge here

http://indiestatik.com/2013/12/01/micro-hexagon/

and news on RGCD website

http://www.rgcd.co.uk/2013/12/rgcd-c64-cartridge-development.html

DOWNLOAD it here

http://csdb.dk/release/?id=125132

http://csdb.dk/getinternalfile.php/123821/MicroHexagon.crt

Watch the game being played

http://www.youtube.com/watch?v=-HZS0_RW3cg

You’ll probably be familiar with the coder of this game that’s because Paul Koller’s work due his excellent port of Canabalt. Paul also won a RGCD C64 Cartridge Development Competition with a C64 demake (as they call it) of Super Crate Box, which is called Super Bread Box http://indiestatik.com/2013/10/23/super-bread-box/ and was released as a commercial 64KB edition.

Micro Hexagon is a demake of Terry Cavanagh’s game called Super Hexagon. So what’s a demake, well you take the original game and reduce it so the game essence is still there but with a much more limited color pallet and audio range, for the Commodore 64

Paul Koller and Mikkel Hastrup release is something "that should not be possible on a c64" ok so the game has been reduced and in a way It doesn't compare to Terry Cavanagh's original, but it’s as close as you can get for a Commodore 64 version. It’s still playable, and still has that core essence of the game and is still recognisable as its bigger brother title.

So with all that said you may wonder what the game actually is it and how does it play, so for anyone not aware of Super hexagon you may be wondering what all the fuss is about.

Well taking just the Commodore 64 version then, The game is another deceptively easy and simple idea as most of these puzzle games are! You have a blob towards the centre of the screen just outside of the hexagon that sits dead centre of the screen, and must make sure it goes through the breaks in the walls, the walls will move towards the hexagon in the screen centre, You can rotate the ball to the left or the right to try and escape, as you escape one set of walls more walls appear moving in on you.

The screen pulses and the walls change shape, and style, as the music begins to pump out an amazing soundtrack, its frustratingly simple but addictive and you will soon make a mistake and find the game has ended.

The game is expertly coded, but if stroboscopic effects cause you problems its possibly one to avoid, I went to bed after one long play session and all I could see was flashing coloured lights! Definitely one to play in the dark!

Scores

Graphics

5/10
minimal but all that’s needed

Sounds

9/10
Amazing soundtrack

Gameplay

9/10
simple but frustrating

Overall

9/10
you can’t pull yourself away

Summary

A superb conversion, excellent Sonics and game play, it’s another game where you will be late for the buss, work or girlfriend and have to think up a better excuse than I was playing hexagon. There is nothing you could change to improve the game.

Reviewer Nigel Parker

Review: ViColumn

For The Unexpanded VIC

By Nigel Parker

Programming:

T.M.R

Graphics:

T.M.R

Music:

4-Mat

Release date:

24th December 2005

Download from here

http://cosine.org.uk/products.php?4mat=vic&cat=game

ViColumn, is a game that needs no introduction as everyone will have played some variation of it however just for the one person who doesn’t know

You guide a group of three randomly coloured blocks down the screen or until they settle maybe on another block or set of blocks or on the screen bottom. if these blocks form a column or row with three or more blocks of the same colour, they're removed from the play area and everything moves down in the space where they were. The game gets faster each time blocks it best you can get more points by building more blocks like four and five brick rows.

Again it’s another simple idea, and the game just repeats until no screen area is available to add more blocks

As the game loads you see the familiar Vic screen scroll down then back up with the games menu, it’s simple but slick, However due to the nature of the format of the game and the VIC's resolution the gameplay is a thin screen down the middle , if this format wasn’t selected then you would have really fat bricks and the game would look squashed and rather odd, you get used to the game format quickly.

In the game you can see what’s coming next and your score, its simple but as they say the simplicity makes the game stand out. It’s quite old now well relatively as it was coded in 2005 but does seem to be fresh and has stood up to recent VIC releases

Sound wise the music track playing on the VIC is just unbelievable, if I heard just the music and was told this was a Commodore SID tune then I would be impressed, however because this is on the Vic then I am blown away, you won’t be humming it in the lift as its not that sort of tune but you will be stunned that the VIC can achieve such sonics, given the right musician.

Scores

Graphics

8/10
bright and colourful

Gameplay

8/10
frustratingly good

Sounds

10/10
absolutely amazing sonics on the VIC

Overall

8/10

Summary

You could say that Jason nailed the format on the unexpanded Vic, could anything be changed, Not relay!

Reviewer Nigel Parker

www.commodorefree.com

Review: Android 2 [C16]

By Nigel Parker

Title:

Android 2

Language:

English

Size:

64K

Machine:

PAL & NTSC

Code Type:

Machine code

Distribution:

Freeware

Released by:

Assassins (ASN)

Converted by:

K., Róbert (KiCHY)

http://plus4world.powweb.com/software/Android_2

The group Assassins' have released Android 2 for the commodore plus4 /c16 programmed by KiCHY

Released originally by Ocean software under license from Vortex software, the game was released for the Commodore 64 in 1984, it’s not a game you really think WOW; I must have another go, in fact; I had forgotten completely about the Commodore 64 version until I started reviewing this, and then started digging in my software archive, and wished I hadn’t bothered.

Your mission or the games aim is to destroy the five "MILLITOIDS", these are large worm like creatures that roam around in a large walled maze, you must destroy 5 MILLITOIDS in each of the 3 zones The maze is presented in a scrolling top-down view, using a pseudo 3D effect

Although the creatures are viewed from the side not top down!

The Zones are labelled

1. the maze of death

2. the paradox zone

3. The flatlands

You (Android 2) will be transported to each zone; where you need to kill the "MILLITOIDS" before returning back to the transporter to travel to the next Zone. You must work quickly because the transporter capsule will leave after a short period of time (a timer is shown on the right of the screen). You (android 2) are equipped with a head mounted photon blaster with unlimited power, (which is nice) Oh the MILLITOIDS need 2 shots in the head to kill them, others creatures need only one shot, but beware, some are creatures are indestructible! (full instructions are in the game and can be called on at the games start, to do this when prompted if you want instructions press Y bet you thought I was going to say something else didn’t you)

Oh yes make sure you beware of the landmines though, as they are mines on land and walking on them will kill you! The game is over after either, you are hit five times, or the timer runs out. The background music can be turned on or off with F1 while F2 and F3 turn the music up or down.

The game is a partial flip screen affair with the time remaining, enemies to find and control methods shown on screen as well as number of hits you have sustained. The sound effects are good for the type of game, but the play area is very small, the plus 4 version seem to have a faster version of the music than the C64`s and to be honest it sounds the better for it, on the C64 this game never set me alight with excitement, and although it does seem better on the plus 4 it still didn’t wow me, not 100% sure why that is but the plus 4 version seems better than the c64 version, playing them side by side the plus4 conversion feels slicker somehow, maybe it`s just the music, to be honest looking at them side by side you would be hard pressed to see the difference, it’s a really good conversion

Although the game conversion is good; the game itself wasn’t much to write about, the screen was flickery on the c64 and seems the same on the plus 4 version, when you come down to it the game really isn’t the most original title in the world; and on the c64 when you finished the last level I think your score was shown with the logo, and then you were dumped back at the start of level 1.

However on saying all that......

Before the game starts and your left pondering as to whether you should press y to read the instructions or n just to play the game you can scroll the play area around, you can view the maze of level 1 and get accustom to it, and the location of trees but the enemies are not visible.

Apparently Spectrum owners found the 3d graphics to be an outstanding feature and CRASH awarded the game 90% Comparing the game with 3D Ant Attack Spectrum, I guess they must have been quite drunk during the review. Amstrad and Commodore 64 versions were released but of course no plus 4 version was ever made until now, maybe this should be converted to the VIC, Personally I don’t like how the real-estate of the screen is take over by the score, timer and remaining enemies to find, but as this is a conversion, then you have to accept these things. Maybe if it was full screen I would have complained that it wasn’t 100% like the original, having never played the spectrum or Amstrad versions I only have the c64 version to compare the game with!

Stood On The Teleporter In Level 1

Scores

Difficult again because it’s a conversing do you score the conversion, original game or both! Here I plumped for scoring both

Graphics

6/10
nice maze 3d effect but no animations as such nice tiles though

Sounds

6/10
music sound better faster

Gameplay

5/10
well its better than 4 out of 10

Overall

6/10
it was never a good game to begin with

Summary

An excellent conversion, seemingly bettering the c64 efforts of the game, and the faster music makes for a racier environment, however although the conversion is good, the game wasn’t that much to begin with, however I would like to see a VIC version appear. Maybe part 3 could come out, have a smooth scrolling playfield, instead of flip screen and loose the right hand real-estate to more play area, maybe more levels as well and a proper top down view and maybe add some gameplay and .......

Review Nigel Parker

www.commodorefree.com

Review: Double Or Nothing [C64 SEUCK]

By Nigel Parker

Another game for the SEUCK 2014 game release

http://tnd64.unikat.sk/Seuck_Compo_2014.html

Direct download in various formats with instructions

http://tnd64.unikat.sk/seuck/SEUCKCompo2014/Double_or_Nothing.zip

Game design:

Alf Yngve

Graphics:

Alf Yngve

Music:

Richard Bayliss

Mods (if any):

Music on the front end, scrolling raster bars reversed, 2 players linked to 1 control

Synopsis

Your world is at war. But as the chaos rages around you, your mind seems to drift... your memories grow contradictory. You fear that you are going mad. Are you living in two places at once? Are you experiencing an alternate life in a parallel reality?

Are you one man in one world... or two identical copies sharing one mind and two realities?

You must survive the war to find the truth. You must stake everything on finding yourself. It's double or nothing.

With one joystick you control two alternate versions of the protagonist. One version (left-hand screen) fights an alien invasion of Earth, the other (right-hand screen) fights an army of robots. Occasionally both versions may enter the same reality. Eventually both men will enter a shared space outside normal space-time, where they can confront the source of the invasions.

Game Review

I had no idea SEUCK was capable of something like this, it does have some bizarre bugs, like when you die sometimes you appear twice in one world and not in the other than seem to flip back over to the other world, I guess this is limitations in the SEUCK engine more than anything that the game programmer can prevent or fix.

Graphically the game is sound again, and with Alf showing yet again he is the SEUCK master, I like the idea of 2 players under one controller and it works well, you find you have to look at both screens or your players will get stuck behind or next to objects, until you realise you need to move left for the right hand player and right for the left hand player etc. Sometimes I seemed to get one player stuck and no matter how I tried to move him I couldn’t get out of or around the obstacle, even though the other altered ego was totally free. Not sure if this is by design or again some bug, it maybe you need to look out for these situations beforehand

Player on the right seems to be stuck but the left player can move freely

It feel like you are watching one of these Andy Warhol movies, where he shot two separate movies and pays them spit screen, the idea is that one side of your face takes in one file and the other side takes the other side of the file, you get to watch two files in the time it takes to watch 1 film.

Sonically the game is sound, again Richard manages to produce a superb theme tune, totally matching the bizarre game play, it’s a little trancelike with pulsating rhythms and interesting warbles of filtered effects.

None Scores Are

It’s unfair to score a competition entry as this will defeat the object of the competition

Reviewer Nigel Parker

www.commodorefree.com

Review: The Frog [C16]

By Nigel Parker

Size:

32K

Machine:

PAL Only

Code Type:

Machine code

Distribution:

Freeware

Ending Type:

No end (highscore)

Coded by:

E., Jens (angelsoft)

http://plus4world.powweb.com/software/The_Frog

From the title I am sure you can work out what the game is, but for those who don’t know or who missed out this type of game the first time around :

The idea is, you are a frog and have to travel over a busy road avoiding cars and so not getting squished then you need to make your way over the water by jumping on the floating logs, you die if you are run over or you jump on a scrolling log and it hits the side of the screen, also you are up against a timer as each frog has to make it safely across to “the other side”

The Frog is a version of this game idea for the Commodore C16 and was written by Jens Engel in 2012. The game is written in machine code, with a stripped down version that can run on the C16 (16 KB version) or the full version for the Plus / 4 (32 KB version). In the C16 version on the disk image is a level editor to create your own levels in the game, the plus4 version has the editor built into the main game, saving the haste of having to load a spate program to edit the levels and has music on the title screen where the c16 version doesn’t.

The game is all there, other variations add more hazards to the game, but nothing is really needed, its bright has sound and a musical piece plays on the title screen, the plus 4 version has a nicer title screen then the c16 version but hey you don’t play the title screen! Controls are via a joystick and everything works as expected, some amusing things happen when you’re squished but you can find this out for yourself. The game difficulty seemed quite high, but I guess you need to persevere and watch the timer closely, too many mistakes will see you running out of time.

Scores

Graphics

6/10
bright colourful

Sounds

5/10
spot effects and title music

Gameplay

6/10
decent version of the game and it plays well

Overall

5.5/10

Summary

It may not be original but it’s a decent version and with the level editor it adds lastability to the game, and a version that plays on a bare C16 covers all bases.

Review Nigel Parker

www.commdorefree.com

The Assembly Line

$01: 65x Processor Architecture – The Registers

Last time out we looked at the recommended tools you need to produce assembly language programs, along with sources to secure those tools. Today we will introduce and provide an overview of the architecture of the machine(s) you will write your programs for – the 65x series of processors, specifically the 8-bit 6502 and its more advanced descendant, the 16-bit 65816. Our examination will focus on the key members of every computer processor – its registers.

A Brief History

When we talk of the 8-bit 65x processor family we are referring to much more than just the 6502 (or the 65816 for that matter). To trace the family tree you really have to go back to around 1974 and a company named Motorola. Motorola produced a processor called the MC6800, but it was very expensive to buy; alone it cost more than the rest of the components needed to build a mainstream home computing device. The price of just one of these new processors was a whopping $360 USD, matching the cost of the Intel 8080 at the time. When Motorola decided to move its IC group from Mesa, Arizona to Austin, Texas, two of its engineers, Chuck Peddle and Bill Mensch, knew they could do the same thing themselves at a much lower retail cost – $20 USD. One of the ways they were able to accomplish this was by greatly simplifying the design, essentially cutting the number of transistors which made up the processor by more than half – from 11000 to about 5000. Enter MOS Technologies and the 6501.

Naturally Motorola sued, especially since the 6501 became such an instant success, but it turned out they did not actually hold the patent to the technology. In fact, one of the MC6800's original inventors was listed as Bill Mensch, the man who later created the 65816, so the lawsuit was eventually settled, and as part of the settlement the 6501 was modified and became the processor we know today – the 6502. At just $20, the 6502 soon found its way into the Apple II and Commodore Pet line of computers. In the following years several variations of the 6502 appeared, including the 65C02, 6508, 6509, the familiar 6510 and 8502, 65CE02, and of course the 65802 and 65816, which were 16-bit counterparts to the earlier models. Actually, many more models were produced (with different uses) than what is listed here, and it is interesting to note that soon after the 6502 hit the streets Motorola dropped the price of the 6800 to $69. Imagine that.

Microprocessor Architecture

Processor architecture is defined by the number, kinds, and sizes of registers, and the types of operations available to them. Architecture determines the way in which programming problems will be solved, and an approach which is simple and straightforward on one processor may become clumsy and inefficient on another if the architectures are radically different. The 6502 and 65816 belong to the same family, and it can be said that the 65816 is a superset of the 6502, which means that the 65816 is compatible to and builds and expands upon all that is contained within the 6502.

The most obvious difference between the 6502 and 65816 is the size of data their registers are able to process. The registers in the 6502 work with 8-bit data, while registers in the 65816 are capable of operating on 8 or 16-bit data. Bits are the parts that make up a byte, a familiar term that is the basic unit of data used in computers. There are 8 bits in a byte, and each bit is a significant sub-part of the byte, so when we refer to a processor as having 16-bit registers, all we are really saying is that its registers are capable of operating on two bytes of data at a time (two bytes is commonly called a word). A byte may contain a value 0-255 (decimal) and a word may contain a value 0-65535 (decimal), and its value is determined by adding each bit together. Each bit (starting from the lowest bit, or bit 0) has a value that is an increasing power of two. We will discuss with greater detail the different numbering systems used by assembly language programmers in the next article. So then the next question becomes, what is a register?

The 6502/65816 Registers

A register is a special memory location within the processor itself. It is a place where intermediate results, addresses, and other information which must be accessed quickly are stored. Since registers are built into the processor itself, they can be accessed and manipulated much faster than external memory. Registers are the “middle-man” when moving data around the computer; you need to first move data from memory into a register before moving it to another memory location. Some instructions perform operations on only a single bit within a register; others on two registers at once; and still others move data between a register and external memory.

The 6502/65816 are not considered register-oriented machines when compared to modern processors, and have a comparatively small set of registers, each dedicated to a special purpose. The 6502/65816 instead rely on per-cycle efficiency and a large number of addressing modes, particularly the direct-page indirect addressing modes, to give them their power. If you compare the two processors we look at in this series of articles – the 8-bit 6502 and the 16-bit 65816 – you will find they both have a basic set of registers in common.

The key difference between the 65816 and the earlier processors in the 65x family is that the 65816’s three primary user registers – the A, X and Y registers – can be toggled between eight and sixteen bits. With its ability to change register size, the 65816 functions equally well with eight or sixteen bits.

The A Register

The A Register, commonly called the Accumulator, is the primary user register and generally holds one of the operands, as well as the result, of any of the basic data-manipulation instructions. An operand is the part of a computer instruction which specifies which data is to be referenced, manipulated or operated on. The operand may be a processor register, a memory address, a literal constant, or a label. Almost all arithmetic is performed on the data in the A Register, with the result of the operation being stored in the A Register. Because the A Register is the primary user register, there are more addressing modes for A Register operations than for any other register. Both the 6502 and 65816 contain one A Register.

Talking history again – another way Mensch was able to lower the cost of the 6502 (relative to the 6800) was by eliminating a second accumulator, or B Register. In the 6800 the A and B Registers were two distinct 8-bit accumulators. The A/B naming scheme was revived in the 65816 but this time A and B refers to the lower and upper 8-bit halves of the 16-bit C Register.

The 6502 8-bit A Register

Only one byte is ever fetched from memory when the A Register is loaded, or for operations which use two values – one from memory and the other in the A Register. In order to perform an operation on a multi-byte (16-bit or greater) value the operation must be broken up into steps that work on each byte separately.

The 65816 8/16-bit A Register

The 65816 the accumulator is called the C Register, and is made up of the A Register (lowest 8 bits) and B Register (highest 8 bits). In assembly language it is permissible to refer to the 16-bit accumulator as “A” but it is considered somewhat more correct to use “C.”

You can select which size (eight or sixteen bits) you wish to use by executing special control instructions (REP and SEP) that modify the m flag in the P Register. 16-bit capability enhances processing power tremendously while significantly lowering the number of instructions needed to perform basic operations. In 8-bit accumulator mode (m = 1) the upper 8 bits in Register B are “hidden”; that is, they are still there but not directly accessible. There is one instruction (XBA) which exchanges the 8-bit A and B registers, allowing you to access the hidden upper eight bits.

The X and Y Index Registers

The X and Y index registers are generally used as components in generating effective addresses when any of the indexed addressing modes are used, or as loop counters. They can be easily incremented or decremented; which means the value in the index registers can be increased or decreased by 1, using just a single instruction. They are useful in accessing tables (as we will see below), moving memory, and counting loop iterations. The index registers differ from the A Register in that no logical or arithmetic operations (other than incrementing, decrementing, and comparing) may be performed upon them.

The use of indexing allows easy access to continuous series of memory locations. Indexing is performed by adding one of several forms of base addresses, specified in the operand field of an instruction, to the contents of an index register. Although the X and Y index registers are basically similar, their capabilities are not identical. Certain instructions and addressing modes work only with one or the other of these registers, so it starts to make sense the more you use them and become comfortable with the different addressing modes available to them. You can select which size (eight or sixteen bits) you wish to use by executing special control instructions (REP and SEP) that modify the x flag in the P Register.

Indexing is an extremely important part of assembly language (you will use indexing a lot), and can be loosely compared to array addressing in higher level languages. Without indexing it would be impossible to refer to a block of data without performing what could become a very long series of instructions (higher level languages would be affected by this in the same way). An array of 100 items would require 100 instructions to address every item. Clearly this would be a very inefficient use of memory (although somewhat faster in many cases. With indexing you can refer to any of the items in the block with just one instruction (and the help of a few others to manipulate the index register). Table 1 looks at a simple example which demonstrates why indexing is so important.

Table 1. The necessity and advantage of indexing

We have a data table containing 200 screen codes located starting at address 49152 (decimal). If indexing did not exist we would have to do something similar to the following to move those screen codes to screen RAM for display.

LDA 49152     ;load the A Register
with the contents of
location 49152
STA SCREEN    ;copy to screen RAM
LDA 49153     ;load the next screen
code
STA SCREEN+1  ;copy to the next
screen location
LDA 49154     ;load the next screen
code
STA SCREEN+2  ;copy to the next
screen location

…and so on until reaching 400 instructions in order to move a mere 200 bytes of data. Hardly a good return on your investment. The next snippet does exactly the same thing but instead uses indexing. We load the X (or Y) Register with a value and the processor will understand that the value in the index register is an offset from the base address. The only thing we have to concern ourselves with is the value of the index. The effective address, which is just computer-speak for the “final” or actual address loaded from or stored to, will be = base address + index.

LDX #0        ;load X Register (the
index) with the value
0
LOOP:         ;a label (placemarker)
LDA 49152,X   ;load the A Register
with the contents of
address 49152+offset X
STA SCREEN,X  ;some other block of
memory, perhaps the
screen
INX           ;increment the index in
the X Register (add 1
to the index value)
CPX #200      ;compare the value in
the X Register to the
value 200
BNE LOOP      ;branch if not equal to
the label LOOP at ins-
truction LDA 49152,X

Instead of writing 400 instructions requiring 1200 bytes we wrote 6 instructions requiring 13 bytes. This was a simple example for now, and the more experienced programmers will have noticed we did not optimize the loop in any way (it is often possible to shorten loops even further by counting in reverse). In assembly language the number 0 is the starting (and often the ending) point for counting and indexing, a concept which can be quite confusing at first because humans usually start at 1, but once you get used to it you will frequently find yourself counting from 0 for things in life outside the computer as well (and it will drive non-programmers batty!). With 8-bit registers you are limited to an indexed range of 256 bytes but with the 16-bit processing power of the 65816 your indexed range extends to 65536 bytes!

Processor Status (P)

The P Register, or Processor Status, or more commonly known as the Status Register, contains a number of flags which describe the status of the microprocessor and its operations. A flag is a single bit within the status register. Its value, set (1) or reset, (0), indicates one of two conditions. It is common to use the word “clear” when talking about resetting a bit to 0. Both processors have bits for four status register condition code flags – negative, zero, overflow, and carry. These condition code flags are used to determine the success or failure of the branch on condition instructions, and their values indicate various conditions that result from the execution of many instructions. Some instructions affect none of the condition code flags, others affect only some, and still others affect all. The effect that an instruction has on the condition flags is an important part of describing what the instruction does. It cannot be overstated that in order to master assembly language a programmer must learn how each of the flags work, and which flags are affected by each instruction.

There are two other flags, interrupt disable and decimal, which are known as mode control flags. They may be manipulated by the programmer, but are otherwise unaffected by conditions that may be set by instructions.

Flags Common to Both the 6502 and 65816

Carry (C)

The carry, or C flag, is associated with the arithmetic instructions, and is useful in addition, subtraction, shifts and rotates, and comparisons. The C flag, as all flags, maintains its value until some condition or instruction forces it to change. Looking at Table 1, one instruction, CPX, sets or resets the C flag each time it is executed based upon the result of the comparison. If the value in the X Register is < 200 then the C flag is cleared to 0; if the value in the X Register is >=200 then the carry flag is set to 1. We could have just as easily used the instruction BCC (branch if carry clear) instead of BNE (branch if not equal) for the conditional jump after the CPX instruction.

Zero (Z)

The zero, or Z flag, indicates a zero or non-zero condition, and is usually the most heavily used flag. Many instructions modify the value of the Z flag, and its meaning is often confusing to beginning programmers. If the result of some operation is = 0 then the Z flag sets to 1. Conversely, when the result of an operation != 0 the Z flag clears to 0. Yes, that is the confusing part. The Zero flag's job is to signal when the result of some operation = 0, and that signal is a 1. The Z flag is actually very busy in our loop from Table 1. The instructions LDX, LDA, INX, and CPX all affect the value of the Z flag when they execute, so you can see that the value of the flag may change several times even within a small section of code.

Interrupt Disable (I)

The interrupt disable, or I flag, is one of two flags known as control flags (the other is decimal). Its purpose is for allowing or disallowing hardware and software interrupts, or IRQs. It does not have any effect on non-maskable interrupts, or NMIs. You manually alter the I flag with the SEI (set interrupt disable) and CLI (clear interrupt disable) instructions. This flag is also confusing, primarily because many programmers new to assembly language forget that the flag is called “interrupt disable” and that its value will = 1 when interrupts are disabled.

Decimal (D)

The decimal, or D flag, is seldom needed in assembly language programming. When = 1, the flag forces the processor to carry out arithmetic instructions in normal base-10 format, which means in decimal mode arithmetic the largest value a byte will contain is 99. All other other instructions are unaffected by the setting of the D flag. You manually alter the flag with the SED (set decimal mode) and CLD (clear decimal mode) instructions. Decimal mode is not as easy to use as it could be. The negative, overflow, and zero flags in the P register are not valid in decimal mode and the setting of the decimal flag, which toggles the processor between binary and decimal math, is unknown after the processor has received a hardware reset. The 65816 corrects this last behavior and clears (0) the D flag on reset.

Overflow (V)

The overflow, or V flag, is another seldom-used, and consequently, misunderstood P Register component. It is useful when working with signed integers. The V flag is set when there is a carry from bit 6 into bit 7 and there is no external carry; it is also set when there is no carry from bit 6 into bit 7, but there is an external carry. Another use of the V flag is by hardware. A good example is the Commodore 1541 disk drive, which sets the V flag in the drive's 6502 processor each time a byte is read from or written to the disk. You manually alter the flag with the CLV (clear overflow flag) instruction. There is no complementary “set flag” instruction to set the V flag. The 65816 SEP instruction can set the V flag; on the 6502, a BIT instruction with a mask in memory that has bit 6 set can be used to set the overflow flag. We will look at the V flag more closely when we cover arithmetic.

Negative (N)

The negative, or N flag, is fairly straightforward. It reflects the state of the most significant bit in a transfer operation (bit 7 on the 6502 or bit 15 on the 65816 in 16-bit mode). The N flag is used with signed arithmetic, and is also frequently used in loops to check for a wraparound past 0.

The 6502 P Register

This 8-bit register could provide eight flags, but only seven of them are used. A mode control flag, break, is used by the 6502 but not by the 65816.

6502 Status Register Bit-fields

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

N

V

-

B

D

I

Z

C

Break Flag (B)

The break, or B flag, is used only for interrupt processing, not during regular program execution, and is used to determine whether an interrupt comes from a break instruction or from a hardware interrupt. The 65816 Native mode P Register does not have a B flag; instead it has a dedicated break vector ($00FFE6-00FFE7).

The 65816 P Register

The 65816 uses all eight bits in the P Register. Bit 0 includes what is called a “phantom” bit and is used for switching from Emulation to Native mode and back. I will fully explain this phantom emulation bit next time out.

65816 Status Register Bit-fields

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

N

V

m

x

D

I

Z

C/e

The m and x bits reflect the size of data used in the A Register and X/Y index registers, respectively. The x bit affects both the X and Y registers.

The Program Counter (PC)

The final register in our list is the program counter, or PC. It is a 16-bit register that holds the address of the next instruction to be executed. The program counter is normally incremented to point to the next instruction in memory, except in the case of jump, branch, and call instructions, which pass control to a new location within the program by storing the new location to the program counter. If the program counter goes past $FFFF it wraps around to $0000.

In Conclusion

Today was all about 6502/65816 architecture, with a couple of short paragraphs on the 65x family's early days. I sincerely hope this was informative yet not too “techy”, and look forward to next time when we will discuss numbering systems used by 6502 assembly language programmers, as well as introducing the Native mode of the 65816. So, until our next meeting, take 'er easy.

Please send errors, omissions, or suggestions to bert@winc64.com or on Lemon64, username satpro.