Commodore Free Magazine, Issue 74 - Part 5
From
Stephen Walsh@39:901/280 to
All on Sat Dec 14 22:25:50 2013
to handle Control Port #1 input.
Limitations
The technical limitation on the C64 Keyboard hardware is that not more than 2 keys may be pressed at the same time if you want to be 100% sure the result is valid. In some cases, three keys will work fine but whenever 3 keys form a right angle in the keyboard scan matrix, a 4th letter will appear. The combination "ABC" will work fine but the combination "ASD" will form such a triangle and the matrix will also report that the "F" key is pressed. Same
goes for "ASF" which would incorrectly read a "D" the same way.
In short, the C64 keyboard is not a piano where you can play chords and stuff.
Codebase doesn't allow binaries so you can download the program from here
csdb.dk/getinternalfile.php/119347/KeyboardTest.prg
*************************************
UNP64 V2.30 RELEASED
Generic C64 prg unpacker by iAN CooG
*************************************
csdb.dk/release/?id=120897
Original source and idea: testrun.c, taken from Exomizer 2.0b7 by Magnus Lind. Converted to a generic prg unpacker by iAN CooG. Being a derived project, Exomizer' sources used for UNP64 are included and modified where needed.
The idea is simple: to simulate the C64 memory/processor, run the program
until it reaches the unpack routine, usually relocated to an address lower
than $0800, then to continue execution until the Program Counter returns to a normal address usually higher than $0800. At this point, save all the memory.
I normally do this process in emulators by setting breakpoints but an
automatic program that does it for me is handy. PUCrunch and Exomizer 2.0Beta7 already have their own decrunch commands. This program should cover those 2
and almost all the remaining ones.
MAIN CHANGES APPLIED TO EXOMIZER SOURCES:
* Many undocumented opcodes added to 6502emu.c to unpack more packers/coders.
* Fixed handling of some opcodes (indirect JMP, JSR, BRK not stopping, ADC/SBC)
* Better sysline detection and parameter to force entry point.
* TrilogicExpert/ActionReplay/SuperSn apshot5/FreezeMachine/Final Cart II &
III scanner, should cover every known (to me) version.
* Action Replay 4 & FreezeMachine Split freezes are detected and a onefile prg
will be generated. Then you can unpack the result or crunch it. Action
Replay 4.x files are: loader "name" and 2nd file "1name" Unknown Cart files
can be any name, 2nd filename is written in loader. Of course both files
must be in the same directory.
* Scanners to get exact unpack address from MANY difficult unpackers. See
Unpackers section later in this document for a list.
* Tries to identify also entry point in SYS-less packers.
* Added some memory init values before running. A C64 minimal environment I
replicated so many unpackers can act as on the real one.
* Added handling of some Kernal calls which return modified regs.
* Simple $01 banking implemented: writing to I/O area for example is handled
only when RAM is visible there, else writes to I/O are skipped.
* Simple raster ($d011/2) handling, enough to avoid hanging some unpackers (AR)
* Faked keyboard checks to bypass many intros/trainers.
* Warnings are given in Verbose mode if vectors from $0314 are modified, so
you'll know if an IRQ or something else should happen.
*************************************
PRG2SID 0.80 BY IAN COOG RELEASED
*************************************
csdb.dk/release/?id=120896
PRG2SID 0.80 (/) iAN CooG/HVSC
Automatically attaches a PSID header to a ripped (prg) tune. Identifies some players and sets init/play accordingly, also patches the header/code if
needed. Default init/play addresses are $1000/1003 (actually loadaddress/loadaddress+3) and are set like that for all unknown players.
Usage: p2s <filename.prg> [new_load_addr]
Output name will always have input base name plus .sid extension, whether
input name has an extension or not. If input file is already a PSID/RSID file, won't be processed. You can override the loadaddress by specifying the new one as 2nd parameter, to avoid the need to cut the file manually up to the music file start address.
For example if you have an unpacked prg ranging from $0801 to $9fff generated by UNP64, and the music is located at $1000, use:
p2s your_unpacked_file.prg $1000
New loadaddress must be contained between real loadaddress and end file address, and can be specified in decimal or hex (use prefix $ or 0x). It will be ignored if the value is out of range.
*************************************
VIC20 NEWS
*************************************
*************************************
REALMS OF QUEST IV: 4-LEVEL DEMO
VERSION
*************************************
Name: Realms of Quest IV: 4-Level
Demo Version
Author: Ghislain
Released: September 1, 2013
Requirements: VIC-20 with 16K minimum memory expansion is required. 24K is recommended for better performance (for less disk usage) and greater 3D graphical perspective. A disk drive is also required.
Description: Demo version of the upcoming Psytronik release for Realms of
Quest IV where the first four levels of the dungeon can be explored. The attached PDF manual is still a work in progress, but serves as a preview of
how the printed version will look like when the whole game package is published. The long-awaited follow-up to Realms of Quest III is almost completed. As I continue work on finishing Ultimate Quest for the Commodore 64 (intended to be on Side 2 of this Psytronik release), I make the first four Dungeon levels available to everyone.
Realms of Quest IV has the following features:
* 10 Dungeon Levels with various riddles, traps and NPC characters who can aid
you on your quest (4 levels only for Demo Version)
* Over 100 monster graphic portraits (50 in Demo Version)
* 10 races and 12 classes to choose from as you assemble 8 players for your
party
* 60 magic spells
* Over 135 items (weapons, armour, shield, gems, jewels, potions and scrolls)
* 3 game fonts to choose from
The enemy this time are the mysterious Time Lords who threaten the reign of
the fairer creatures above the earth. Befalls thus you, brave adventurers, to battle the labyrinth below all our feet, and ensure for yet another
generation, that the evils and chaos do not rise. How it can be so, that this peace last forever, none knows. All one knows, is in the Dungeon, lay riches, glory and the immortality of your name.
Download. realmsofquest.blogspot.co.uk/Discuss.sleepingelephant.com/ipw-web/bulletin/bb /viewtopic.php?t=6350
YouTube Video.
www.youtube.com/watch?v=gTv_q8S3dig
*************************************
BEGINNING ASSEMBLY PROGRAMMING ON
THE VIC-20
by Lawrence Woodman
*************************************
techtinkering.com/2013/04/16/beginning-assembly-programming-on-the-commodo re-vic-20/
Created as a basic introduction to Assembly language programming on the Vic Lawrence shares knowledge that the beginners needs to be able to create a
small HELLO WORLD program and then run it. He also plays around with Screen colours and then gives further links for the interested reader.
Lawrence says this
Here I will show you how to get started programming the Vic-20 in assembly language. I will not be teaching 6502 assembly language itself as there are better resources available and I will link to these. I will, however, be showing you what you need to get started, where some of the best resources are and I will be giving a few examples to whet your appetite.
*************************************
NEW VIC GAMES BOOGIEMAN, EXPLORIA
AND KORQUE
*************************************
Kurt Johns says
"I am posting all my games, but I will only point out a few I am most proud of"
Name: Boogieman, Exploria ,Korque
Author: Kurt Johns
Released: 2013
Requirements: Unexpanded VIC-20 for Boogieman & Korque, 3K expansion for Exploria
Description: Boogieman is a maze game, Korque is a platform game Exploria is a ... hmmm ... exploring game
Screenshot:
There are 31 titles here. Download & More: www.softboxmetal
--- MBSE BBS v1.0.01 (GNU/Linux-i386)
* Origin: Dragon's Lair (39:901/280)