Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

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

Damaniel's Achievements


Newbie (1/14)



  1. While I'd personally be fine with only having access to a phase 2 or phase 3 product, I'd gladly buy a phase 1 kit on day one to help support the project - just name a price and create an order page and I'll sign right up. Having an official case is nice and all, but I think that getting the actual hardware out, especially to the people who've been invested early on in terms of software development, is more important - accessories like a case can come along later if demand and budget permit. Also, the X8 sounds like an interesting product, but releasing it now would effectively dilute the 'Commander' brand - the X16 has been the primary product the community has been built around, and so releasing something else, even if it's kinda-sorta compatible with the X16, doesn't feel like the right thing to do at the moment. As for phase 2 versus phase 3, I personally think that skipping phase 2 and going straight to 3 would be fine. Most people are going to either be early adopters (who will want phase 1 kits or pre-builts anyway), or people looking for a lower cost option (who would be happy with phase 3 systems), so having a phase 2 which doesn't fully meet the need of either group becomes less important. As long as you keep phase 1 kits available for people who like tinkering and building their own, I think going straight to phase 3 would be best.
  2. This is my main issue with cc65 (or more specifically, with ca65). ca65 is a powerful macro assembler, but the documentation leaves much to be desired for people who don't have a lot of experience with macro assemblers in general. I'm finding that looking at the source code of some of the projects here is helping me more than the official documentation.
  3. I figured it was something like that. I'll just make sure my code is structured to be r38 ready.
  4. Hopefully this isn't too dumb of a question, but I'm still relatively new to both 6502 assembly and the X16. I'm doing some experimentation with swapping RAM banks in assembly. The current documentation states that the RAM bank can be selected by writing the page number to $00 (in zero page), but the way that everyone else is doing it - and the only way that actually works - is to write the page number to $9F61. Outside of looking at other peoples' source, I haven't found any clue as to why $9F61 is used (other than it being defined as part of the 'other external I/O devices' portion of the memory map). Which option will be the correct behavior be on actual hardware?
  5. C is always a good choice for mixing assembly and higher level code. You could use something like cc65 and inline assembly (or build and link in separate .s files for larger routines), especially since cc65 specifically has an X16 target. My experiments with cc65 were making me a bit concerned about code size (a simple 'create two 8-bit ints and add them together' main() expanded to around 80 bytes when compiled, before the BASIC stub is added - you can do that with just a few bytes in assembly), but I really want to use some more complicated data structures that will be a pain to do in pure assembly. That being said, I'm only just beginning to get my feet wet in CC65 and 6502 assembly, so I wouldn't consider anything I say to be authoritative. There are probably other CC65 users out here who might have additional insight.
  6. Hello everyone! I'm a software engineer/architect by trade, but I also occasionally write retro software in my spare time, mainly for MS-DOS era PCs. Strangely enough, I was never a Commodore user back in the day - in fact, I never even owned a C64 until I was an adult and started collecting older computers - my 8-bit PCs of choice growing up were the Atari 8-bits (specifically the 65XE) and Apple II. That being said, I'm a big fan of the idea of the principles behind the X16 - modern hardware with the ability to directly access all the hardware like old school computers - so I've been following the project closely ever since David announced it on his channel. I don't have any specific details planned out for what I want to do yet, but long term I'd like to create a little old-school roguelike - something like Angband, but stripped down enough to make it feasible on 8-bit hardware (in other words, something closer to the original Rogue). Since my 6502 assembly skills are limited to a 6502 emulator I wrote for a long-abandoned NES emulator project I toyed with and a little bit of NES dev (both nearly 20 years ago!), I'm still trying to figure my way around the hardware and software. Anyway, I'm glad the see the project is not only alive, but thriving. So many 'dream projects' never seem to gain the critical mass necessary to find their way to completion, but both the team behind the project and the community continue to deliver. I'm looking forward to the day where I can buy real X16 hardware!
  7. This is the exact kind of thing I'm looking for - a little higher level than pure 6502 assembly with the ability to still inline assembly as needed. I'm definitely going to check this out. For those interested, the GitHub for the project is https://github.com/KarolS/millfork EDIT: Since the native version of Millfork on Github is based on a release from April, and doesn't appear to include support for the latest VERA, I just spent the last 3 hours fighting Java/Scala, GraalVM, native-image and Windows to create a native copy of millfork.exe based on the latest commit on master in the repo. I tested it out in VSCode with the CommanderX16 plugin and it runs a simple Hello World app just fine. If you want to grab it, I've popped it in my Google Drive here.
  8. After seeing the new site up and running (and David's 'dream computer' videos showing up in my suggested YouTube playlist again for some reason), I decided that I was finally going to grab the X16 emulator and start playing around with the environment. I'd really like to write a tiny roguelike, but I figured I'd start small and just try to become familiar with the 6502 again, as well as experiment with VERA. While it might help get me up to speed, BASIC may eventually be too limiting for what I'd like to do, and my 6502 assembly skills are very, very rusty - I actually wrote a 6502 emulator as part of a NES emulator I planned to develop, and I even did a little dabbling in NES development, but that was many years ago. These days, my retro programming work is usually done with higher level languages - predominantly Turbo Pascal on MS-DOS era PCs. Before I spend too much time deciding what to use to develop my project, I thought I'd throw out a simple question to the people here already creating and posting projects - what programming language(s) are you using? I know there's the obvious ones - Commodore BASIC and 6502 assembly - but is anyone using a non-BASIC, higher level language? Are there even any 6502 compatible language compilers (C, Pascal, etc) that can target the X16? Finally, are there any assemblers that can run directly on the X16, or are they currently all cross assemblers?
  • Create New...

Important Information

Please review our Terms of Use