Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 08/09/20 in Posts

  1. 3 points
    Color Sketch (COLORSKETCH) View File 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. Submitter CX16UserSteveC Submitted 08/08/20 Category Graphics Apps  
  2. 1 point
    Hi, I was hyped about the fact that much of the ZP is actually empty and not used by the system. I found this allways a huge limitation of C64 that actually most of it is occupied by the System and Basic and you could barely find 10 bytes unused. Now in the progress of the project I can see first signs of getting it filled by the system again (now bytes $00-$21 are in use). Of the 126 bytes, that were available before, are now only 93 left. This is not to bad still, but shows a tendancy. Can you please consider to make it a design goal to have as much as free space in the precious ZP? ZP is becoming in the enhanced instruction set of 65c02 even more precious, so I would love to be able to use it. One way to achieve it would be a way to easily save and reload the parts that users might not need (e.g. Basic). Yes I know you can work in a "don't care" mode and simply assume that the user need to reset after using your program. However that is in no way a modern approach and I like to leave a clean environment. So if you run my program from basic, I like to return to basic and find it intact (no hidden time bombs left, because something overwritten). Also calling the basic initialize routing might not be the best, as it also clears the basic memory (overwrites what was in there in terms of sys calls or whatever). What I am asking for is: Either reserve some of the really precious ZP space for us programmers, or create a basic/kernal routine to restore the space without deleting any other part of the ram. Last point of consideration: Of cause If I write into areas used by basic, those data will be gone after calling basic initialize, but the basic ram should not be overwritten. I can then put temporary data into the memory section in questions and that keeps my program intact to get rerun.
  3. 1 point
    I found out about this awesome new project and Platform via 8-bit guys videos. I would love to see a new "modern" 8-bit computer coming to live and to have one in my Men/Kids Room .. I am a child of the 80s area where I owned (or should I better say my parrents got me) a Schneider CPC (Amstrad) with a nice Z80 CPU and a pretty good computer around it. Many of my friends had a C64 and I also nowadays own a C64 breadbin and worked a lot on it (hardware wise). I am now into learning 6502 machine language (better said assembler) currently on the 6510 of the C64. However most of it will be reusable - the system calls and all of the C64 will be somehow as well. I am in real hope to get away from the poor graphics mode of the C64. It had sprites, yes, but the screen mode is so awkward setup for me. As I said I learned on the CPC and the screen was just a 16k memory area where you could do whatever you want. So memory was just a very simple representation of the lines on the screens. The calculation of lines was very easy and not organized in characters or anything alike. So anyhow does not matter. Now I will dive into all available details on the X16 and cannot really await when it is getting released as a real hardware platform.
  4. 1 point
    Wireframe Demo View File Wireframe Demo beta version 0.1 - only supports a single line, but lets the user move and modify it with the joystick or keyboard. See GitHub for code and documentation: https://github.com/SlithyMatt/x16-wireframe Submitter SlithyMatt Submitted 08/08/20 Category Demos  
  5. 1 point
  6. 1 point
    Sorry for the late reply. I'm totally with @BruceMcF about the handshake mode of the CA1/CA2 pins of the VIA. Pls see the VIA datasheet for the details how it works. On the pin assignment I am not clear what the difference is between PB4/ACK and CA1 (or CA2?) Is ACK and output or input? On SPI - you can have an easy SPI interface with the VIA using a single ser-2-par shift register, and XORs for other modes. See here http://www.6502.org/users/andre/csa/spi/index.html
×
×
  • Create New...

Important Information

Please review our Terms of Use