Jump to content

rje

Members
  • Posts

    1034
  • Joined

  • Last visited

  • Days Won

    32

Files posted by rje

  1. Proof of Concept sprite, PSG, etc tools

    This file demonstrates a grab-bag of utility code I wrote recently.  The library includes two versions of Burtle's small noncryptographic PRNG, PSG code, sprite code, a timer, and a a Z-text decoder, among other things.  
    Largely, this is code that I kept writing for several projects -- or code that I wanted to write but hadn't gotten around to, yet.  I consolidated these little odds and ends because I tend to use them a lot but want them all in one place.
    The repo is https://github.com/bobbyjim/x16-c-tools

    21 downloads

       (0 reviews)

    Submitted

  2. PET Upper/Lowercase char file

    This is the upper+lowercase non-C64 "PET" or "VIC-20" font. 
    In cc65, it can be loaded like so:
    cbm_k_setnam("pet-case.bin"); cbm_k_setlfs(0,8,0); cbm_k_load(2, 0x0f800); Warning -- changing the case (e.g. cbm_k_bsout(14)) will reset to the default font.

    12 downloads

       (0 reviews)

    Updated

  3. KERNAL Test

    This is a small, proof-of-concept C program which tests KERNAL functions on the X16.  
    Routines currently tested:
    chrout memtop, both read and write membot, both read and write setnam setlfs load to RAM load to VERA (well, sort of) It uses CC65's library to set registers and invoke routines. 
    The source code is here: https://github.com/bobbyjim/x16-kernal-test

    21 downloads

       (0 reviews)

    Updated

  4. Rogue Forest

    This is a Rogue-like game, where you hack your way through a dense forest in search of a way out.  Also, there's a rumor that the fabled Amulet of Yendor is lost somewhere in this forest.  What a feather in your cap it would be to return with that!
    The map is revealed as you explore.  Aside from the Amulet, there are three other kinds of treasures -- weapons, armor, and food.  Weapons and armor vary greatly in their effectiveness: pay attention to their descriptions and you'll learn which ones are better.
    There are 31 monsters in the forest.  They are currently differentiated by name only.
    Movement is via the cursor keys.  Trees are impassable, and usually immovable. Escape the forest at the eastern or western borders. "Bump" a treasure to inspect it.  There are no traps, so all treasure is safe to check out. "Bump" a monster to attack it. If your hit points reach zero, you're dead. Press the spacebar or the period (".") to rest and regain one hit point. Type "e" to eat some food, if you have any.  Hunger greatly reduces your combat ability!  

    154 downloads

       (3 reviews)

    Updated

  5. Blinkenlights

    A simple file that graphically shows the values of several registers in the X16 which change regularly -- for example, the top of the accumulator stack, and some of the I/O registers.
    It's an attempt to replicate the "blinking lights" of systems that used to use big ol' LEDs to represent register contents, alarm bars, and whatnot.
    The C source is here: https://github.com/bobbyjim/x16-blinkenlights
     

    12 downloads

       (0 reviews)

    Updated

  6. Core War

    This is a proof of concept of a Core War VM for the X16.
    It implements all ICWS'88 opcodes (plus a couple extra); as proof of concept it runs many of the "historical" redcode programs from that period.  It has a PETSCII arena view which follows colorized redcode programs.  Up to 8 programs may run at a time, and each may have up to 8 processes.
    It does not handle operand expression math.
    The project is here: https://github.com/bobbyjim/x16-corewar

    89 downloads

       (0 reviews)

    Updated

  7. DMS-250 Switch Operating System

    This is a pale imitation of the DMS-250 SOS command line.
    It's based on a somewhat more functional Perl script I wrote many years ago.  This one is a proof of concept.  Even so, it does have a little bit of training value -- you can set the boot files for a switch and then do a restart.  That's something you couldn't "practice" in the olden days without booking time on a switch.
    There is so little here, it's ridiculous but for nostalgia value.
    It does very, very little, and requires that you know DMS-250 SOS already -- there's no help facility.
    * you can do a restart reload, restart cold, and restart warm (that's how you log out)
    * you can enter DISKUTIL
    * from DISKUTIL, you can LV 0, LF S00DIMAGE, and do elementary CBF and SBF commands.
     

    22 downloads

       (0 reviews)

    Updated

  8. BASIC Pre-processor in Perl

    Scott's dev tool prompted me to post this one.

    This is a dev tool for people who write things in BASIC, but write it off-board, and like to have some more modern features. 

    This script runs best on a UNIX or (perhaps) a Windows environment.
    It supports
    (1) Labels.
    (2) Long variables.
    (3) Multiple source files.
    (4) "Ephemeral" comments.

    Your source files must not use line numbers.  This script will create them for you.
    Labels look like C64 LIST's:
     
    {:this is a label} goto {:this is a label} Long variables are actually namespaces that work for strings, floats, or ints.  They can have periods in them, so they can even vaguely resemble object field accessors. Declare and use them like this:
    longvar \thing.entry \thing.entry$ = "the thing!" \thing.entry = 5.0  

    Ephemeral comments start a line with a semicolon.  Their entire content is ignored and thrown away when the output BASIC source is built.  I think it's useful for development documentation that's not needed in the target BASIC 2.0 code.
    ; ;   This comment will never show up in the target code. ; This invokes the script, passes in files 1...n  (however many you have), and redirects STDOUT to a target file (here, output-file.bas).  That output file is ASCII source, and is directly loadable into the emulator via the -bas flag.  
     
    perl basic-labelmaster.pl file1.list file2.list ... filen.list > output-file.bas  
     
     

    10 downloads

       (0 reviews)

    Updated

  9. Lemonade Stand

    I played this game with my friends in grade school on the PET.  
    Though unable to find the original, I found a stripped-down VIC-20 version -- which showed me the program's essential structure -- and the later 1986 version by Commodore, mainly designed for the Commodore 64.  I used both to create this version, which retains the original algorithms, and tries to emulate the older PET version.
    It uses very little X16-specific code -- exactly, SCREEN and COLOR.  It relies on the 40 x 25 screen, and it uses just about all 25 of those rows.
    The rest is all PETSCII and BASIC 2.

    105 downloads

       (4 reviews)

    Updated

  10. 8sh

    https://github.com/bobbyjim/x16-8sh
    This is the early early stage of an attempted "shell" for the X16.
    By definition, a command shell is an interpreter that exposes the system.  In practice, the shell exposes the system through an immediate-mode scripting language, which can also be executed from a file.  The Commodore computers' boot mode is a kind of "BASIC shell".
    This shell currently does almost nothing.  I am slowly working out a set of mid-level operations for it, and plan to add the shell's command inventory on top of that. Then, I'll add the ability to run full scripts from file.  Then, I'll add the ability to "pipe" the output of one script into another.  In this manner, I hope to build up a small inventory of useful utilities.
     
     
     
     

    56 downloads

       (1 review)

    Updated

  11. Hex dumper

    A hex dumper I wrote, because I wanted one like the one I've got on my UNIX machines.
    It should be able to handle "proper" address 0 RAM banking, as well as r38 RAM banking (it checks the KERNAL version).
    Set the color with the number keys.
    Change the view by $100 with left/right cursor, by $300 with up/down, and by $1000 by enter/left arrow.
     

    75 downloads

       (0 reviews)

    Updated

  12. Audio Demo - Invention 13 (used in Commodore promotions)

    I was missing Bach's "Invention 13", and so here's the first 13 bars that Commodore Business Machines used in the early 80s for Commodore product promotions.

    65 downloads

       (1 review)

    Updated

  13. Traveller-Trader WIP

    This is the beginnings of the Traveller trader rewrite.  At the moment, it's here for feedback from my playtesters.
     

    621 downloads

       (0 reviews)

    Updated

  14. Pirate Kingdoms

    A demonstration of the use of BASIC, sprites, and banks to create a tiled map.
    Everything is quite primitive right now.  The response time is slow.
    The map is 256 x 256 and stored in banks 10-17 (it's 64k).  My plan is of course to make it larger.
    Use the cursor keys to move about the map. 
     

    968 downloads

       (0 reviews)

    Updated

  15. Traveller UWP generator

    A quick UWP generator.
     

    15 downloads

       (0 reviews)

    Updated

  16. 64x64 Ship Sprites

    This simple demo loads five 64x64 8-bit sprite images into VRAM, each an ancient sailing ship.  Sprite 0 is turned on to point at them; press spacebar to cycle through the images.
    Use the cursor keys to move the sprite around the screen.  The spacebar will also stop the movement.
     

    37 downloads

       (1 review)

    Updated

  17. Traveller-Trader (mini)

    This is a space trading simulation using Traveller ships, worlds, trade rules, and so on.  It contains over 500 worlds in and around the Spinward Marches, and it's primitive.  I've been working on an improved version; for now, this playable version serves as a test.
     

    27 downloads

       (0 reviews)

    Updated

  18. Hammurabi

    I typed in the 1970s era BASIC game "Hammurabi". I then sprinkled in just a few Commodore BASIC bits to format the screen slightly.
    The project is https://github.com/bobbyjim/cmd-hammurabi
     

    71 downloads

       (1 review)

    Updated

  19. LUNAR

    I typed in the 1970s era BASIC Lunar lander game. 
    The source is saved with this project: https://github.com/bobbyjim/cmd-hammurabi
     
    lunar.bas LUNAR.PRG

    61 downloads

       (3 reviews)

    Updated

  20. Banner

    An assembly language routine which prints "banner" text using PETSCII.
    # How to Use
    This code is currently compiled to banked RAM at address $A000. Load the PRG file into memory at $A000. Poke the desired PETSCII character code into $A000. Call the routine at $A001. e.g.
    ```
    LOAD"BANNER-FONT.PRG",8,1,$A000
    POKE $A000, 65 :REM "A"
    SYS $A001
    ```
    # Supported Characters
    Version 1 only supports A-Z and space. The characters are 3 x 3 characters in size, with a special "space" character that is 2 characters wide. # How to Compile
    This is the command I use to compile the source: ```cl65 -o BANNER-FONT.PRG -t cx16 -C cx16-asm.cfg banner.s```

    78 downloads

       (0 reviews)

    Submitted

×
×
  • Create New...

Important Information

Please review our Terms of Use