Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Jestin

  1. I really feel the issue here isn't technical in the slightest. We all know there are ways to increase the RAM, yet all of them will delay manufacturing and increase the price. The one and only question to be answered is "why is this important enough to delay manufacturing and increase the price?" Without an extremely compelling answer to that question, this whole idea is a non starter. Do you have a compelling answer?
  2. $0001 is used for ROM bank switching, and $0002 is currently reserved for the KERNAL's "virtual registers". Taking over 2 more addresses for RAM switching is more than likely going to eat away at the user allocated zero page addresses, which a lot of people are taking advantage of. It also makes selecting a bank as complicated as selecting VERA addresses. Hardware and cost issues aside (which is already being very dismissive), at this stage in the game that's going to break a lot of people's code. Also...I'm not sure I understand the point. If we are okay with a more complicated selection process for HI RAM, why not just do what @x16tial suggests and have this be an optional hardware component on the expansion bus? I mean, you're already suggesting that address selection works like an expansion unit...why not just make it an expansion unit? And frankly, even then I don't know if this much RAM is needed on what is effectively a "toy" computer whose design goals align more with simplicity than utility. What use case is important enough to delay manufacturing, break people's software, and make it more difficult to teach my 7 year old daughter how to switch RAM banks? I'm just not seeing it.
  3. I think this is the opposite of what I've been doing If you ever want images to start in GIMP and end up on the X16, I have you covered: https://github.com/jestin/gimp-vera-tileset-plugin
    I love the SNES controls! This game is a great mix of puzzles and action!
  4. I finally made the follow up video I promised about how to utilize these tools to generate the data needed for collisions in a Commander X16 game:
  5. Take to the Skies! (demo) View File This is an in-development game that I have been creating. It's main purpose is to aid in a set of tools I've been developing for creating VERA graphics resources (https://github.com/jestin/gimp-vera-tileset-plugin and https://github.com/jestin/tmx2vera), however the project has recently started to take on a life of its own. This is a very incomplete game (only one partially complete level, and no real goals), but should give a feel for how the graphics and game play will be. When more features are added to the game, I'll update this demo. This requires emulator version 41. Submitter Jestin Submitted 07/22/22 Category Games  
  6. Version 0.0.3


    This is an in-development game that I have been creating. It's main purpose is to aid in a set of tools I've been developing for creating VERA graphics resources (https://github.com/jestin/gimp-vera-tileset-plugin and https://github.com/jestin/tmx2vera), however the project has recently started to take on a life of its own. This is a very incomplete game (only one partially complete level, and no real goals), but should give a feel for how the graphics and game play will be. When more features are added to the game, I'll update this demo. This requires emulator version 41.
  7. https://github.com/jestin/asmM6502.vim I forked this project from repo that had a single commit 17 years ago, and was only just a mirror of a wiki post. I added 65C02 support a couple years ago, and today I decided to dive in and add a few more things. I don't know who else is doing 6502 assembly coding in Vim, but if you are, this should make it look a bit nicer.
  8. @ZeroByte I think you are correct. The problem was that the emulator was loading an older build artifact from my project repo rather than the fresh one that was put on the card image. Thanks for clearing that up and helping me figure that out. This sort of begs the question, what is the correct use of `-prg` and `-sdcard` together? I thought the point of `-sdcard` was to run using a card image as the filesystem. It never occurred to me that the host filesystem played any part once that was specified.
  9. I am having trouble loading an application with `-prg` when also using `-sdcard`. I captured two gifs to help show what I'm seeing. One was captured with `x16emu -sdcard card.img -prg AIRSHIP.PRG -scale 2 -joy1 -debug -gif with_prg.gif`, and the other with `x16emu -sdcard card.img -scale 2 -joy1 -debug -gif without_prg.gif`. This is with the same `card.img` file, so the only difference is whether I am using `-prg` or if I am using `LOAD` once the emulator is running. I should note how the first thing my application does it attempt to load additional resources from files on the SD card, however it should disable both layers before doing so (the "Loading..." text is made from hardware sprites). The case using `-prg` never actual runs, and is somehow loading up the incorrect player sprite as well. I suspect the loading of additional resources is the culprit. That all said, loading manually with `LOAD` still works fine.
  10. I created a pair of tools that I've been using to create and edit tile sets, tile maps, and bitmaps for the Commander X16 (or anything else that uses the VERA). The purpose of these tools is to allow you to use GIMP and Tiled for creating your graphics. The first tool is a GIMP export plugin that can output VERA compatible tile sets and bitmaps. This eliminates the need for post processing like is needed when exporting a raw indexed file that the GIMP does out of the box. It can also go a step further by generating a Tiled tile set file (*.tsx) that can be used to draw tile maps. Best of all, the plugin supports non-interactive mode, meaning it can be called from a command line or makefile, treating your GIMP project file (*xcf) as a source for your resources. https://github.com/jestin/gimp-vera-tileset-plugin The second tool is a command line converter from Tiled's tile map file format (*.tmx) to a VERA compatible tile map file. This is also intended to be called from a makefile, so you can just edit your maps in Tiled and rebuild. I've figured out a simple way to use Tiled's automapping feature in combination with a command line argument in my converter to generate collision maps based on the layers you export. These collision maps wouldn't load into the VERA, but rather the Commander X16's main memory, and you'd have to write the code to make use of them in your game. However, once all that is complete, collisions (as well as map interactions) become a by product of your map design. https://github.com/jestin/tmx2vera I've created a quick demonstration video of these tools, so you can get a feel for what they offer: To keep it short, I didn't go into collision maps, but I'll likely create a follow up video to cover that topic in depth.
  11. Oh yeah, I can really see the difference. One of these is running from the filesystem, the other from an SD card image. Definitely going to have to pre-load some loading screens into banked ram.
  12. Nice work! I've been wondering for a while how badly I've been abusing the ability to load content quickly on the emulator, afraid that the load times would be too disruptive on actual hardware. I still don't know what the actual time difference will be, but this update at least makes it clear that calling LOAD isn't free. I'll have to make sure to turn my layers off as I'm loading the maps and tiles, but I suspected I'd have to do that eventually.
  13. Wow! Looks great! Quick note to those who using the kernal `joystick_get` routine. It looks like both `JOY` BASIC command and the kernal `joystick_get` have changed. Previously the `A` register was used to pass the joystick number, 0 through 3. Now 0 means the new keyboard joystick, and 1 though 4 are for actual joysticks (SNES controllers). Tripped me up until I diff'd the docs. Other than that, my programs all ran perfectly! Excellent work, everyone!
  14. I for one appreciate the open communication and honesty in this update. It's disappointing to hear the about the problems, but I'm very thankful that there are backup plans being worked on. I wish I had the expertise to lend a hand, but I can clearly see that all the easily solvable problems have already been addressed, and all that remains are the parts beyond my own capabilities. This update was literally published while I was in the middle of developing my own X16 game, so I obviously want to see the project become a success. Great work so far!
  15. Wow. This is very noble of you, and I for one am grateful that this community has someone like you in it. It's impressive that you can will projects like the Commander X16 into existence fueled on enthusiasm alone. That said, I was also hoping you would be making a reasonable amount of profit for your efforts. Frankly, you deserve it, but there's another reason as well. Not to get into a macro-economical debate, but one of the benefits of capitalism is that it's supposed to put resources into the hands of those who have proven to best utilize them. You, sir, are one of those people. I feel the retro community would be better off with a wealthier 8-bit Guy who has more resources and more financial motivation to continue taking on inspiring projects.
  16. Thank you, @Perifractic,for this update and clarification. Posts like this give us all insight into just how difficult it is to bring a new product to market, and how much effort and thought the Commander X16 team has already put into the project. I think I speak for everyone in this forum when I say that we appreciate your contributions.
  17. For me, the Commander X16 has always been about education. You can look at it and see how it works. The parts are not abstract concepts implemented inside an FPGA. They are physical chips with datasheets connected by higher level block and circuit diagrams. I want the Commander X16 to be my 6 year old daughter's first computer. I've never given her a tablet or a video game console. I want her to understand what a computer is. I want her to see a computer with all its parts exposed. A kit will give her this. An FPGA will not.
  18. Welcome! You sound similar to myself, in terms of experience. I too, was too young to be involved with C64s and other 8-bit machines, and have always felt like there's several layers of abstraction between the coding I've done and the actual hardware. If you don't mind me asking, where is the "Land of Chocolate". Sounds like a nice vacation idea.
  19. Nice work! I spent the last 30 minutes "just seeing what this looks like". Nothing speaks better of a game than people getting sucked into playing it without intending to.
  20. Does anyone know when all the buttons on the SNES controller are supported? Looking at the documentation and the ROM code, I get conflicting information. First, there's the documentation for the JOY BASIC command. It tells me that only a single byte is returned as a bitmask for the pressed buttons. Since the SNES controller has 12 buttons, it appears that X, A, R, and L are unsupported. However, if I look at the ROM code, I find this documentation on the joystick_get subroutine which is used by the JOY BASIC command: This says that the A, X, L, and R buttons are returned, just in a second byte returned in the X register. A quick test with the emulator shows that you can call joystick_get directly and receive the additional buttons in the X register, so I know for a fact the full controller is supported from assembly. However, with even more investigation, I see that the joystick_from_ps2 kernal subroutine has no support whatsoever for the A, X, L, and R buttons of the SNES controller. It appears that if using a keyboard as a joystick, no buttons map to the additional buttons of the SNES controller. So far, my conclusions are: the full SNES controller is supported from assembly using the joystick_get kernal routine the X, A, L, and R buttons are not supported by BASIC's JOY command the X, A, L, and R buttons are not supported when using a keyboard as a joystick Can anyone here confirm or contradict these conclusions? Sorry for continuing an old thread, but I thought this might be appropriate here for anyone searching the site about joysticks and gamepads.
  21. Jestin


    I think Wikipedia has a photo of that (look at the background): https://en.wikipedia.org/wiki/Bil_Herd#/media/File:Bil_Herd.jpg
  22. I recommend this approach, especially if you ever plan on developing with others. Choose whichever editor you like (I use vim, so am obviously deeply offended by the mention of emacs here), but keeping the building separate from your editor is the key to working well with others. Makefiles are tried and true, and you can find editor plugins to run them for you, if that's what you want. This way you can switch out your editor easily if it doesn't suit you, but your build system remains the same.
  23. Both videos are great! I'm looking forward to the follow up CC65 videos. I've been learning 6502 by doing a project with acme, but I feel like I'm outgrowing it. Meanwhile, cc65 (or really ca65) feels very intimidating since I've never defined segments before. With acme, I just have a big `main.asm` where I import other files in the order I want them assembled. It's very peasant-level, but it's been working so far. I'd love to hear you explain how you structure your binaries, rather than just trying to divine it by looking at the XCI engine source code. Keep up the great work!
  24. Welcome! I don't think you'll find anyone here who will laugh at a MiniPet laptop. You will, however, find people asking for photos and details when it's done!
  • Create New...

Important Information

Please review our Terms of Use