Jump to content

Getafix

Members
  • Content Count

    18
  • Joined

  • Last visited

  • Days Won

    2

Getafix last won the day on September 13

Getafix had the most liked content!

Community Reputation

26 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. A couple of reasosn it looks like it does. I was trying to use the CX16 APIs as much as I could (this was also a learning exercise for me). The grid markers are drawn using the Graph Put Char API, which uses GEOS fonts. If I remember correctly, the put graph char API uses a proportional font, which is not what I needed for the menu or the move log. The Console API did use a mono-space font but the API wasn't well suited to how the menu code wanted to work, so I ended up using the regular text in Layer 1 for the menu and log, and the graph API to put the grid markers into Layer 0. I think you can add your own GEOS font for the Graph API but I don't know anything about GEOS so I didn't explore that route any further. Also, if I remember correctly, the built-in (regular text) font on Layer 1 is a little too wide to look nice when used as a grid marker. When I look at the screenshot now, it doesn't look great. It's probably worthwhile looking into GEOS fonts and making or finding a font that works for all cases.
  2. I did spend a bit of time looking at the "engine" and as I suspected, there are bugs for sure. Casteling can cause grief and corrupt the DB, for example. It may be worth my while to fix the bugs but I think I'd really like to rewrite the whole engine and just keep the interface to the UI (and thus have all the versions still work), now that I have been shown some chess programming resources. I don't need the game to be great, but it would be nice if it could play a fairly descent game of chess. I am just busy with a couple of other things so I think I'll just leave it as is, for now.
  3. Got my registers mixed up! Sorry about that.
  4. I just typed this in: .code lda #8 tax tay jsr $ffba lda #$a ldx #<filename ldy #>filename jsr $ffbd stz $0 lda #$70 sta $1 lda #0 ldx #0 ldy #$90 jmp $ffd8 filename: .byte "bankxx.prg" I compiled with cc65 using: cl65 -t cx16 -u __EXEHDR__ cx16.lib .\save.s -o save.prg -C cx16-asm.cfg I get BANKXX.PRG in the folder where I have the code (save.s), by using the command line (windows Powershell) ~\Games\CX16\x16emu.exe -prg .\save.prg -run I tried omitting the setting of x and y before calling SETLFS and it did not work. I know 1 and 0 worked, but 8 and 8 also worked so something of what @Greg King said made sense, but it's not quite arbitrary? I will stick with a/x/y 8/0/1.
  5. Same code works for me in r38 but I have the SETLFS parameters like this (a/y reversed from how you have it): (for completeness - I also call SETNAM before SETLFS) lda #$00 ; logical number ldx #$08 ; device 8 ldy #$01 ; secondary address jsr SETLFS
  6. The ID's are 0-127 left to right (I assume the IDs are the $FC00 + ID indicies?). The sprites are indeed 64x64 4bpp, and there are 10 on a line, yes. @StephenHorn I attach the basic file that poke's the data and shows the sprites, if you feel inclined to check it out further. If not, not a problem - I will assume there's an emulator issue which causes the delayed (onlines with 20 sprites) clipping and inconsistant results on a line by line basis. At least till I learn otherwise . sprites.bas
  7. Sure. What I am asking is why is it happening only on a few of the scan lines and not on all patterns that are exactly the same? Sprite rows 3,4 & 5 are repeated at rows 9, 10 and 11, but those rows do not exhibit the same behaviour. Is a work unit counted on a per scan line basis, or does it not neccesarily start at the left edge of the screen, at the start of a scan line? If it is the latter, then is there a way to know how it works (counts work units)? If the former (does start at the start of a scan line at the left) then why does it only run out of work units, sometimes?
  8. Hi, I am playing around with sprites. I am drawing 128 4bpp sprites in interleaved rows of 10 - using BASIC. What I see are the sprites 40-49 being clipped badly, along with some other ones. If I only draw 30-49, I see the same clipping. However, if I start drawing at 31, then 40-48 are correct, but 49 is still clipped, but in a different way. I don't really see this being a sprite work unit issue, because it should then happen consistently across other scanlines as well, or is there something I am not understanding? Just a bug in the emulator? drawing 0-127. 20 clipped, 40-48 clipped and 49 mostly missing. 59 clipped, 69 clipped, 79 clipped and 118 clipped. Drawing 30-49. Same result as drawing all 128 sprites. Drawing 31-49. 49 now half visible. Thanks Stefan
  9. Hi, This will do the trick (this is for loading / executing to 32768 and your code in yourfile.asm) cl65 -t cx16 --start-addr 32768 yourfile.asm -C cx16-asm.cfg Stefan
  10. When the hardware ships, I hope it will come with an SD card with some/any exclusive pack-in software or game? That will make for a very nice experience "out the box"
  11. Unrelated to the Pyra - I have an RG350 handheld which I love! It’s affordable and works amazingly well. Twin sticks, 4 shoulder buttons, d-pad, ABXY, start/select and now HDMI out. Plays arcade Games (mame - portrait and landscape), NES/snes, PS1, Genesis, Dreamcast, DosBox, C64, ZX Spectrum (clever key to button mapping makes quite a lot of games work), etc. It’s solid and beautiful. Open source so lots of Emulators and upgrades to download. Highly recommend for anyone wanting an all-in-one retro handheld.
  12. Issues I had with adding a download file. After adding a game, the second game I added, the "About this file" section was already (auto) populated with the text from the 1st Game I added. Also, when I typed the first line, the font of that 1st line was different from the font of the following lines. I didn't see font controls so I couldn't fix it. I then pasted in some plain text, over that first line, and all of that text was now in the "1st line font". The paste was after I closed my browser and came back to the site and chose to edit my upload. So, the font anomaly is sticky to the field. Otherwise, a smooth and easy experience
  13. Getafix

    cc65 Chess

    Version 1.0.0

    25 downloads

    Written in "C", in 2014 for the Commodore 64 and ported to CX16 in 2020. I wanted to know how hard it would be to make a chess AI. I am not a great chess player, nor did I research chess engines, so I made things up as I went. The end result is this chess which by any standards of chess, is not a good AI opponent. However, it's there and it's playable. Use and keys The user controls an on-screen cursor. The cursor changes color to indicate a state. The colors for selection are: Green - the piece can be selected Red - The piece cannot be selected as it doesn't have valid moves Purple - Empty tile or piece on the other side Blue - The currently selected piece Cyan - A valid destination for the currently selected piece To move the cursor, use the cursor keys. To select a piece, press the RETURN key while the piece is selected. To deselect the piece, press RETURN on the same piece again, or press ESC. To bring up the menu, press the M key, or the ESC key when no piece is selected. Pressing ESC in a menu backs out of the menu, to the previous menu or back to the game. Press RETURN to select a menu item and use the up and down cursor keys to change the selection. While a side is under human control, there are a few more options. Press B to toggle on/off a state showing on every tile how many of both black and white's pieces can attack that tile. Pressing A will toggle a highlight of all of the pieces on the opposing side that attack the selected tile. Pressing D will toggle a highlight of all the pieces on the side currently playing's side that can defend the selected tile. All three of these options basically give a visual representation of the Game Database. The colors are: For attackers Cyan and for defenders Red. Lastly, the game has an Undo/Redo stack that tracks the last 254 moves. Pressing U will undo the last move and R will redo the last move. In an AI/Human game, the undo will undo the last AI and human player move, so the human player can make a different move.
  14. cc65 Chess View File Written in "C", in 2014 for the Commodore 64 and ported to CX16 in 2020. I wanted to know how hard it would be to make a chess AI. I am not a great chess player, nor did I research chess engines, so I made things up as I went. The end result is this chess which by any standards of chess, is not a good AI opponent. However, it's there and it's playable. Use and keys The user controls an on-screen cursor. The cursor changes color to indicate a state. The colors for selection are: Green - the piece can be selected Red - The piece cannot be selected as it doesn't have valid moves Purple - Empty tile or piece on the other side Blue - The currently selected piece Cyan - A valid destination for the currently selected piece To move the cursor, use the cursor keys. To select a piece, press the RETURN key while the piece is selected. To deselect the piece, press RETURN on the same piece again, or press ESC. To bring up the menu, press the M key, or the ESC key when no piece is selected. Pressing ESC in a menu backs out of the menu, to the previous menu or back to the game. Press RETURN to select a menu item and use the up and down cursor keys to change the selection. While a side is under human control, there are a few more options. Press B to toggle on/off a state showing on every tile how many of both black and white's pieces can attack that tile. Pressing A will toggle a highlight of all of the pieces on the opposing side that attack the selected tile. Pressing D will toggle a highlight of all the pieces on the side currently playing's side that can defend the selected tile. All three of these options basically give a visual representation of the Game Database. The colors are: For attackers Cyan and for defenders Red. Lastly, the game has an Undo/Redo stack that tracks the last 254 moves. Pressing U will undo the last move and R will redo the last move. In an AI/Human game, the undo will undo the last AI and human player move, so the human player can make a different move. Submitter Getafix Submitted 07/12/20 Category Games  
  15. Getafix

    Snake Byte

    Version 1.0.0

    15 downloads

    This is a remake of a game called Snake Byte by Sirius Software Inc. published in 1982 for, according to Moby Games, the Commodore 64, Vic-20, Apple II & Atari 8-bit. This remake has minimal audio (added by Frank Bass as a proof of concept on Oct 25, 2019). This version is written in "C" using cc65, originally for the Commodore 64 in 2011, and the Commander X16 port was done in 2019. From Wikipedia: The player controls a snake, crawling into a rectangular area. The aim is to eat 10 apples per level. If an apple is not eaten during the given deadline, three extra apples are to be eaten. The snake becomes longer with each apple eaten. The snake loses a life when crashing a wall or its tail. Higher levels have more fences, making the game more difficult. An optional difficulty are the "plums" (one or two pieces), which kill the snake when hitting its head.
×
×
  • Create New...

Important Information

Please review our Terms of Use