Jump to content

Graphics Apps

Sign in to follow this  

7 files

  1. Color Palette Editor

    This is a snapshot and executable file of a Commander X16 Color Palette Editor which was built from C source files and is compatible with Release 37.
    The up/down and left/right cursor keys are used to move between palette entries which are displayed on a color grid. The currently selected palette entry is surrounded by a box in the color grid and is also displayed at the top of the color grid with the associated index and RGB values displayed to the left and the associated palette data displayed to the right. All values are displayed in decimal.
    The Commander X16 Color Palette Editor can be used to view the default color palette and to change the RGB values of the entries if desired. The RGB values of the currently selected palette entry can be changed with the r/R, g/G, and b/B keys which increment/decrement the red, green, and blue components respectively.
    The palette data can be exported to a BASIC program which can be used to load the modified color palette for a user application or before running the Commander X16 Color Palette Editor again. The palette data is also exported in a format more amenable for inclusion into a C program.
    The palette data exported in the BASIC program format can be reloaded into the Palette Editor via the following steps: (1) start the emulator using the -echo option; (2) paste the BASIC program into the emulator; (3) execute the RUN command; (4) execute the NEW command; (5) load the Palette Editor; and (6) execute the RUN command. The Palette Editor will then pick up the palette data that was loaded into the color palette by the BASIC program.
    The following two steps are an alternative to step (2) above: (2a) paste the BASIC program into a text file; and (2b) use the emulator -bas option to load the program from the text file when starting the emulator. This alternative approach is recommended if you're having problems with the emulator corrupting lines when pasting the BASIC program directly into the emulator.
    The palette data is automatically exported when resetting to the default palette and when exiting the palette editor to avoid accidental loss of data. The exported data can be recovered before reloading and restarting the palette editor as described above.

    16 downloads

       (0 reviews)

    Updated

  2. Sprite Editor

    Commander X16 Sprite Editor
    This is a screen snapshot and the executable file of a Commander X16 Sprite Editor which is built from "C" source files I’ve been developing that currently runs on Release 37 of the emulator.
     
    Features
    The sprite editor supports all combinations of sprite height and width dimensions up to 64x64. The sprite editor is currently limited to 4 color bits per pixel, but provides the ability to edit the RGB values of the first 16 entries of the color palette. The sprite editor supports a pen mode which reduces the keystrokes required to assign colors to sprite pixels, and the ability to shift the design of the sprite to make more room near the edge of the sprite.
    The sprite editor provides the ability to export color palette data as well as sprite data to the terminal in a BASIC program format and also in a format more amenable to importing into a C program. The BASIC program allows the sprite to be rendered and moved around a bit using the W/A/S/D keys. This export capability requires the -echo option when starting the emulator.
     
    Operation
     
    Cursor Movement
    The arrow keys are used to move the cursor around the sprite pixel edit grid. When width=64 the edit grid can be paged left and right using the less-than and greater-than keys ("<" and ">"), and when height=64 the edit grid can be paged up and down using the comma and period keys ("," and ".").
     
    Assigning Colors to Sprite Pixels
    The 0-9/A-F keys are used to assign a color to the sprite bit corresponding to the current edit grid cursor position.
    When pen mode is turned on using the P key, the color at the current edit grid cursor position is assigned to the pen, and this color is automatically assigned to pixels as the edit cursor is moved. The pen color can be changed by selecting a new color via the 0-9/A-F keys. Pen mode is manually turned off by pressing the P key a second time, and is automatically turned off when the cursor is moved past the edge of the edit grid and when the edit grid is paged when height=64 or width=64.
    The fill command (F5 key) fills the entire sprite with the color at the current edit grid cursor position.
     
    RGB Edit Mode
    RGB edit mode provides the ability to edit the RGB values of the first 16 entries of the color palette. RGB edit mode is entered and exited by pressing the F6 key. In RGB edit mode, a right arrow appears to the left of the selected color, and selected color is changed by using the up/down cursor keys. The red, green, and blue components of the selected color are changed by using the R/shift-R, G/shift-G, and B/shift-B keys.
     
    Sprite Design Shifting
    The sprite design can be shifted up or down one pixel row using the U and shift-U keys, and can be shifted right or left one pixel column using the R and shift-R keys. This feature is useful when a sprite design is not centered correctly when started and one runs out of space near an edge. The sprite design can be shifted to make more room near the edge which avoids having to start the sprite design over again at a new location.
     
    Sprite Options
    V-flip and H-flip (V and H keys) affect the display of the actual sprite but not the sprite edit grid. The palette offset (+/- keys) also only affects the display of the actual sprite (the edit grid colors and remainder of the screen colors are not affected).
     
    Screen Options
    The BG and FG options (F3 and F4 keys) provide the ability to change the screen background color and the color of the text on the screen.
    There's an anomaly associated with color 0 which is black in the standard color palette. Color 0 is shown as black on the screen and edit grid but is transparent when used in sprites, so the edit grid doesn't match the sprite with respect to color 0.
     
    Exported BASIC Program
    The exported BASIC program between line 10 and the DATA statements is constant. Line 10 varies with the height and width of the sprite and the DATA statements vary with the color palette data and design of the sprite.
    The SA7 value is based on the enumerated values of the height and width dimensions (0 for 8, 1 for 16, 2 for 32, and 3 for 64) and places these values into the proper position to be populated in the most significant nibble of the last sprite attribute register which has an offset of 7. The least significant nibble of this register is the palette offset which I assumed to be 0. The SA7 value is computed in the C program, but it could have been computed in the BASIC program since the enumerated values can be determined from the height and width which are exported on line 10 and palette offset is assumed to be 0.
    I deferred support for saving/loading palette and sprite data because I'm under the impression the emulator currently doesn't support file I/O, but the BASIC program provides a near-term workaround. The palette and sprite data exported in the BASIC program format can be reloaded into the sprite editor via the following steps: (1) start the emulator using the -echo option; (2) paste the BASIC program into the emulator; (3) execute the RUN command; (4) push the Esc key to quit the running program; (5) execute the NEW command; (6) load the sprite editor; and (7) execute the RUN command. The sprite editor will then pick up the palette data that was loaded into the color palette and sprite data that was loaded into the VERA sprite attribute registers and VRAM by the BASIC program.
    The following two steps are an alternative to step (2) above: (2a) paste the BASIC program into a text file; and (2b) use the emulator -bas option to load the program from the text file when starting the emulator. This alternative approach is recommended if you're having problems with the emulator corrupting lines when pasting the BASIC program directly into the emulator.
    The palette and sprite data are automatically exported when exiting the sprite editor to avoid accidental loss of data. The exported data can be recovered before reloading and restarting the sprite editor as described above.
     
    Potential Future Enhancements
    I'm considering enhancements including support for 8 color bits per pixel, saving/loading of palette and sprite data, rotation of sprites, and undo/redo of changes to the sprite graphics data in VRAM.

    42 downloads

       (0 reviews)

    Updated

  3. RGB Grid

    This is a snapshot and executable file of a Commander X16 RGB Color Grid application which was built from C source files and is currently compatible with Release 37. The green and blue values are the vertical and horizontal components of the color grid respectively, and the entire color grid is updated when the red value is changed.
    The green value is selected via the g/G keys or the up/down cursor keys and the blue value is selected via the b/B keys or the right/left cursor keys. The red value is selected via the r/R keys or the +/- keys.
    The F1 key affects the display mode associated with the red value. In the default display mode the red value of the first entry in the palette is always set to 0 and the screen background and upper-left cell of the color grid are always black. In the alternate display mode the red value is populated in the first entry in the palette which affects the entire screen background as well as the upper-left cell of the color grid. The selected red value affects the color of the screen text in the default display mode as well as the alternate display mode. The alternate mode allows the shades of red to be viewed when the green and blue components are both zero, but the default mode is preferred when viewing all other color combinations.
    The color currently selected is surrounded by a box in the color grid and is also displayed at the top of the color grid with the associated RGB values displayed to the left and the associated palette entry displayed to the right. All values are displayed in decimal.
    I developed the Commander X16 RGB Color Grid application as an exercise to learn more about the operation of the VERA video-module and also to help me in choosing color shades for my screen and sprite graphics and easily determining the associated values for the palette.

    5 downloads

       (0 reviews)

    Updated

  4. Color Sketch (COLORSKETCH)

    When used with keyboard or SNES game-pad controls the COLORSKETCH application is somewhat analogous to an "Etch-A-Sketch" device but with support for assigning colors to the pen and toggling the pen state "on/off". When used with mouse controls COLORSKETCH is more akin to a primitive drawing/painting program.
    COLORSKETCH supports a resolution of 320x240 pixels at 8-bit color and is currently compatible with revision R37 of the Commander X16 emulator. COLORSKETCH also provides the ability to edit the RGB values of the color palette (except for color index 0 which corresponds to transparent). COLORSKETCH supports two primary modes of operation including sketch mode and color selection mode which are described below.
    Sketch Mode:
    In sketch mode the space bar toggles the "on/off" state of the pen which defaults to "off" when COLORSKETCH is started. When the pen state is "off" a pointer appears on the screen to show the current location of the cursor. When the pen state is toggled "on" the cursor pointer is turned off and the pixel at the current cursor location is populated with the currently selected color. The Arrow keys (and also "WSAD" keys) are used to move the cursor vertically and horizontally between pixels, and the "QEZX" keys are used to move diagonally between pixels. When the pen state is "on" the currently selected color is populated in all pixels visited as the cursor is moved.
    In sketch mode the "B" key may be used to toggle the pen between the layer 0 background color (which is selected at startup as described further below) and the currently selected color. This capability is intended as a means to quickly address/erase mistakes.
    In sketch mode the "F1" key may be used to toggle the display of the cursor coordinates between the top left of the screen (which is the default when COLORSKETCH is started), top right of the screen, and off.
    In sketch mode the "F3" and "F4" keys may also be used to cycle the layer 1 foreground and background colors used for the display of the cursor coordinates mentioned above and in the color selection mode menu described below. The layer 1 foreground color also affects the color of the cursor pointer described above. The layer 1 foreground and background colors can be set to any of the first 16 entries in the color palette except the layer 1 background color can not be set to index 0 (which corresponds to transparent).
     The "C" key is used to enter color selection mode which is described below.
    Color Selection Mode:
    In color selection mode the color palette is organized into 16 rows where each row contains 16 colors, and only a single row of the color palette is displayed at the top of the screen. The left and right arrow keys (and also "A/D" keys) are used to move between colors in the same row, and the up/down arrow keys (and also "W/S" keys) are used to move between rows of the color palette. The currently selected color is underlined and the left side of the color selection mode screen displays information including the color index and the RGB values of the currently selected color. The RGB values of the currently selected color may be edited using the "R/r", "G/g", and "B/b" keys (except the transparent color associated with index 0). The "0" key may be used to navigate directly to the first entry in the color palette (with index 0). When the Enter key is pressed the currently selected color is assigned to the pen and color selection mode is exited transferring control back to sketch mode described above. Color selection mode may also be exited by pressing the "Q" key which retains any changes made to the color palette but does not affect the currently selected color.
    Sketch Mode Background Color:
    When COLORSKETCH is started it initially enters color selection mode described above to select a layer 0 background color for sketch mode which defaults to index 0 which corresponds to transparent.
    Controller Support:
    COLORSKETCH supports the SNES controller when the emulator is started with the "-joy1 SNES" option. The D-pad is supported in color selection mode as well as sketch mode. When attempting to draw a diagonal line in sketch mode many times one of the D-pad controls activates before the other one. To address this issue the right or left bumper may be depressed and held down and then the up or down D-pad control may be depressed in order to draw a diagonal line. In sketch mode the SNES controller "A" button is used to toggle the pen state "on/off", the "B" button is used to toggle between the layer 0 background color and the currently selected color, and the "X" button may be used to enter color selection mode. In color selection mode the "Y" button is used to return to sketch mode.
    Mouse Support:
    I haven't found mouse support to be particularly smooth or reliable in the Commander X16 emulator at this point so COLORSKETCH provides the ability to toggle the mouse "on/off" with the "M" key. The mouse defaults to "off". When the mouse is turned "on" the left mouse button is used to control the pen. In mouse mode the cursor is always visible. When using the mouse to draw (with the left mouse button depressed) it is advisable to move the mouse slowly in order to color all pixels visited by the mouse. The mouse is only used in sketch mode and is disabled in color selection mode both of which are described above. At times the mouse seems to be restricted to a subset of the Commander X16 emulator screen and in this case sometimes the problem can be resolved by moving the mouse all the way to the left, right, top, and bottom sides of the entire monitor screen and then moving the mouse back into the window associated with the Commander X16 emulator.
    The cursor and SNES game pad controls provide more precise control than mouse controls. For example the cursor and SNES game pad controls can be used to draw perfectly horizontal, vertical, and diagonal lines. The option to display cursor coordinates also provides the ability to achieve exactness with respect to the placement and dimensions of drawn objects.
    It's desirable to add support for saving/loading of the sketch and color palette data to/from disk files but unfortunately Revision R37 of the Commander X16 emulator doesn't support file input/output to disk.

    3 downloads

       (0 reviews)

    Updated

  5. 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```

    9 downloads

       (0 reviews)

    Submitted

  6. Argis Paint

    "Argis" is a very simple paint program. I i made it mostly to test programming with the VERA chip and it is currently not very well optimized. It supports brush and fill tools and 16 colors from the C64 palette.
    Instructions:
    The first button is to select brush tool and the second is to select fill tool.
    Click on the color on the down right to select a new foreground color.

    8 downloads

       (0 reviews)

    Updated

  7. VERA chars

    Source code used to generate map of all VERA default characters.
    Originally written for older version of ROM/VERA, but quckly edited to work on ROM r37 / VERA 0.9
    Compile with:
    acme -f cbm -o veratext.prg veratext.asm  

    11 downloads

       (0 reviews)

    Updated

Sign in to follow this  
×
×
  • Create New...

Important Information

Please review our Terms of Use