• 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)