Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Hi everyone, I'm Robin. Nice to meet you! I'm so excited about the Commander X16, that I felt I needed to belong here, so here I am! After watching David's channels for a while, the nostalgia got to my head, making me remember my own 8-Bit days. I used to have a Sega Master System, and I really miss it. I miss the sound, the pixels, the charm and not to mention the fun! Everyone else had the NES back in the day, but I was proud of my Sega, it had better colors... And Wonder Boy III - The Dragons Trap was a very good game! A friend of mine used to have a Commodore 64 when I was a teenager. Unfortunately I never got to opportunity to spend much time with it. This is where the Commander X16 comes in. I can see myself contribute to the Commander X16, either by making compatible hardware accessories, games or music(DAW) software in the future. I'm currently making an FPGA based hardware FM synthesizer with a ton to learn. I expect it to take maybe 3 years. But this new knowledge might be the basis for my contribution here. I've done some BASIC tutorials with the help of the "BASIC for Dummies" book. Same with C and Verilog. I'm currently a beginner. But I'll get there! Cheers!
  3. A few of the better Old School books were published by Compute magazine back in the 80s. If want paper and don't mind eBay, there are always a number of them up for sale. Some titles like "Mapping the Commodore 64" fetch way too much money but there is a bundle of Machine Language books for the C64 published by Compute (I own two of those) with just one bid @ $25 with a few days left. Just search eBay for "computer Commodore 64". I learned Machine Language after buying the brown cover Compute ML book in the 80's. Inspired by the introduction, I was hooked. A really good academic / reference book on 6502 is the "6502 Assembly Language Programming" by Lance A. Leventhal and if you can find it, later, "Inside the Commodore 64" by Milton Bathurst which has the entire comment ROMs within. (it's very rare) Also, look for Compute magazines or Compute's Gazette. You can get a 'lot' of every mag between '83 and '90 for $125 right now, or alternatively, get a pile of mags on CD ROM for about $15. Transactor magazine (Canada) is also online (free) in scanned form. Basically (see what I did there?) read every article and type in every basic program you can get your hands on into VICE if you don't have hardware. There is so much content available.
  4. There are very old books out there on 6502 programming. I picked up this one for free: It wasn't terribly useful compared to online resources, especially with its extremely small and messy printing on cheap pulp paper. I don't know if there are any modern trade-paperback books out there, unless it was something somebody self-published.
  5. Sorry I didnt answer in a while. So no physical books you could recommend? But the tips are very helpful, super excited to read the C64 manual.
  6. Well it looks pretty good to me. I've got the X16 WASD (Clear switches), but hey, what's one more keyboard?
  7. I'm currently writing a tokenizer, parser and bytecode interpreter, in C, using cc65. The target is a shell (almost just a REPL) with pipes, structured control flow scripting, untyped variables, and (probably) user functions. With an ALGOL-descended syntax. This is the first one I've written, and the programmer's motto is "plan to throw the first one away". In other words, I will learn how things are done, and how not to do them for 8 bit machines. I learned quite a lot from the tokenizer, and made some design modifications to use the X16's banks. I LOVE those RAM banks. I'm building up the interpreter as the compiler grows. The interpreter seems to be rather straightforward. Making it smaller *typically* means removing opcodes, which makes the VM slower. So that leaves the compiler. I suspect there are tricks I can do which can shrink the compiler. For example, designing the grammar for semantic analysis... of course I don't want it to be LISP or FORTH, so my constraints involve ALGOL-descended scripting languages. And, perhaps, shoving appropriate work into non-sparse tables. I could also remove language features, but that gets painful fast. But your experience, suggestions and comments are welcome. Pipes |, >, and <. Two data types: long integers and strings. No floats. I haven't decided how to handle arrays. I like the CSH approach of giving *every* variable an indexed array of values. Sigils to indicate variables ($) and perhaps function references (&). Minimal control flow IF, FOR, WHILE, maybe UNTIL. These need block indicators. Maybe just END. Logicals && || ! Long integers and integer maths + - * / % ^ += -= Arithmetic comparison > >= == != <= <. Careful distinguishing these from pipes! String comparison eq, ne, gt, gte, lt, lte. String catenation.
  8. This will likely offer local control of keyboard functions if/where applicable but isn't transmitted to the machine, similar to the Fn key on a laptop.
  9. I too have been a bit concerned about the lack of updates, just because there's some clear momentum happening in the community and excitement that I think is important to the cause and shouldn't be overlooked. But I do understand folks are busy, and it's a pandemic! I quoted the above just to point out some of us have fled Facebook and no longer wish to use that platform. It's certainly a good community over there, but I think all the work done on this site should be celebrated and be really the first place information is posted. Just my $0.02 - I think ya'll are doing a great job, particularly given how much of a dumpster fire 2020 has been and look forward to things yet to come! Now, back to the question at hand. I've been keeping an eye on the Mega65 too though I don't know it's ins and outs. I'm definitely excited about all the New-Retro enthusiasm! I rather liked the C256 Fenix as well, though for different reasons than the X16. In brief, what draws me to the X16: It's own platform, granted with some compatibility with Commodore, but not an enhanced C64 compatible machine - it has departures in design which I like External keyboard Expansion Slots (for MIDI, Network, etc.) The RAM/ROM banks are a really clever way to manage larger amounts of RAM It doesn't seem to have some the complicated bagged of the C64 and is easy-ish to learn on (more VERA tutorials might be nice though) Nearly 16-bit graphics, but overall it's not too powerful and still largely will require assembly which I have found incredibly fun to learn (haven't touched it since college when it was LC2 and MIPS). I'm not too interested in writing in other languages as I can already do that on a modern machine Limited use of FPGAs Potentially different default sound solutions (I the SID a ton too but I thought at least evaluating FM and trying to use real chips is an interesting approach) Basic kernel/OS and full direct access to the hardware Offline-first. It might be a great machine to do computing on without distractions (I'm looking forward to tracking music, maybe using it to write blog posts offline) But could be online capable (excited to see if we end up seeing any X16 BBS's pop up, for example), but only if/when I want it I know it's debated, but I don't like the all-in-one design of the Mega65. I know many do but I never found all-in-ones good to type on and they are an odd form factor to store. I do like the floppy though, maybe in concept if not practice. I do have a wishlist of things I would like to see but given the goals of the project are unlikely, but overall I'm extremely excited about the direction of the X16. I think it hits the concept of a modern Retro computer perfectly without going too far overboard. I feel like it's less about nostalgia and retro and more about simplicity and approachability whereas the Mega seems more about nostalgia first. Not trying to take away anything from them by the way! But the X16 seems like a great computer to learn how a computer works in more ways than an Arduino or Pi can. I know assembly can be scary for some but it does really help in learning, on an intimate level, how computers work - including modern ones, and it's nice to see a compelling computer which, in a way, celebrates it by necessity? Simplicity is maybe the wrong word here, but so is Retro. "Retro" games on modern hardware pays homage but often I find it awkward as they're imposing false limitations that are of their own making that don't actually exist. Some games have done it amazingly well (Shovel Night comes to mind) but overall, the X16 will have games the X16 is capable of without sort of "faking it." and the limitations will be inherent to the platform rather than wishfully invented. I dunno, I'm not articulating that well but it's the thing I find most compelling about it. I don't feel like the X16 is paying homage to retro computer or looking backwards. Rather it's, well, David said he wanted a modern successor to the VIC20 and that's essentially what this. Modern creature comforts, enhanced designs, but still a computer of fundamentals.
  10. Christmas 2020 Demo View File A sequel to my demo from Christmas 2019, but refactored to work with the R38 emulator and using new music and graphics. You can play it here, on your emulator, or just watch it on YouTube: Also available on GitHub: https://github.com/SlithyMatt/x16-xmas/releases/tag/2020.0 Submitter SlithyMatt Submitted 12/03/20 Category Demos  
  11. Version 2020


    A sequel to my demo from Christmas 2019, but refactored to work with the R38 emulator and using new music and graphics. You can play it here, on your emulator, or just watch it on YouTube: Also available on GitHub: https://github.com/SlithyMatt/x16-xmas/releases/tag/2020.0
  12. Yesterday
  13. It depends on the run-time model of the compiler how it arranges the stack or stacks. If you have a model with a C stack out in 64K memory, you have plenty of stack. The call stack is still 256 bytes, which translates to 100+ levels or so. That is a lot unless you are into really deep recursive calls. With a decent run-time model based on such ideas you will not gain much by making things global, in fact it is more likely to make things worse. You are best off passing pointers rather than structures by value, otherwise favor local variables and avoid global variables as much as possible. Also, with a stack in the 64K memory there is no problem to allocate things on the stack and pass around as it is just a pointer (just do not let them go out of scope and still use them). The reason that global variables make things worse is that they are subject to aliasing. The compiler cannot know how called functions, interrupts and even arbitrary pointer accesses may affect global variables and is likely to take a conservative approach. With local variables the current function "owns" the variable and the compiler will now more about how it is used and can act on that knowledge. Also, global variables tend to make the code more complicated, especially if the global variables are used in a haphazard way, leading to code that is hard to read, hard to maintain and bugs.
  14. Thank you for clearing that up! I did look on github a bit for issues that might be similar but didn’t look through the pull requests...
  15. Yeah, this is a bug in the kernal right now that ignores the address passed in. I put in a pull request to fix this a while ago, but Michael Steil hasn't been active lately so it hasn't been picked up yet. It doesn't happen when you're not using an SD card image because, in that mode, the emulator bypasses the kernal completely and loads the file into memory itself, and it properly handles the arguments being passed in.
  16. I am proud daily user of Deluxe keyboard for almost a year now and it works great. I noticed that mini keyboard has one more key the "FN" at bottom left that does not exist on Deluxe version. Any special reason/plans for that?
  17. Tweaking the Vera's color palette was easier than I thought. I've uploaded a new version that changes the color palette to the well-known 'pepto' Vic-II palette and the images look a lot better now
  18. An 8 Bit Guy update video would be welcome, it's true. I don't want them "stalled", but I'm kind of glad they're going slow, because I'm toying with a "shell" interpreter on the X16, and it's going QUITE slow as I haven't written a compiler since university, a looong tiiime agoooo. Maybe this thing can be useful, and maybe I can squeeze it into 16KB, and maybe it can be finished enough to go onto one of the ROM banks, maybe maybe maybe... a total long shot, but worth shooting for. Of course, even if it doesn't squeeze down into 16K and isn't done by any perceived deadline, it can still be software. The trick is first making it work and be useful.
  19. Please understand that the openness we've already exhibited is fairly unprecedented. I can't think of many projects that had 20,000 people following things 2 years before crowdfunding even started. That said, if you look at the Facebook David did respond very recently with an update that we're resolving some issues with the second prototype board. I also posted an update in official announcements just yesterday. But yes, every time we make an announcement it does trigger a number of questions, and answering those can take time away from the actual work. So it's a balance. Thanks for understanding.
  20. Hi, when putting files on an Sdcard image, I discovered some problems when loading them, that do not occur when loading files in the emulator from a host directory. Most notably, it seems that when loading a file from an sdcard image, the kernel (?) ignores the reallocation address passed to the LOAD call and always seems to load the file at $0000 I think this also manifests itself in Basic when using the VLOAD command, for instance: working, loading a file from a host directory, ends up at $2000 or about halfway down the screen ram: not working, doing the same with the exact same file but this time loading from an sdcard image, it loads at $0000 no matter what you do: Net result is that any program or game that is loading data files, doesn't work when copied onto an sd card image.... (I've tried my own image viewer demo program and three other games, all refuse to work from an sd card image but work fine when loading from a shared host folder in the emulator) Is this a known issue? Could it be a KERNAL bug or a bug in the Emulator itself somewhere?
  21. My summary, for Perifractic. Chips aside, Here's what I like about the Commander X16 over the Mega 65: The preferred intent to use COTS hardware (and some cost control). Faster/better than the 64, but isn't "out of my league" and over my head. The memory model is simple and "smells like" a Commodore. Banked RAM is usable, fun, and handy. Commodore-friendly expanded KERNAL + hacked BASIC. The banked ROM allows additional things beyond the KERNAL + BASIC. The keyboard port (and the WASD keyboard! (I love it!!)) Up to four "joysticks". Yes, this is a good feature! And, unasked for, here's what I like about the Mega 65 over the Commander X16: A hacked Commodore 65 ROM. Sounds like the video is easier to program for. Dual SIDs. HDMI out. Most of these points leverage my familiarity with the Commodore platform in general. I was considering getting the Mega65 prototyping board a few years ago, before the Commander X16 videos came out. The videos switched me over, because, as I mentioned, the scaled-down philosophy hit me in several ways as closer to what I wanted. ... I suppose this means if the Commander X16 had the Commodore 65 ROM, and VERA's sound generator was essentially dual SIDs, and VERA's graphics were "easier to use" (even at the expense of power), that I'd be more satisfied with the X16, but meh.
  22. I’m not expecting them to change or asking them to. Just speaking for me.
  23. I get that, but I also understand not giving frequent updates, because updates lead to questions. Especially when the team is at a point where they've not taken anything from those interested - once they start collecting money, then expectations change and periodic updates are a good thing. For me, personally, I'm mostly interested in updates when something is accomplished. The last update I recall was the team was debugging a boot problem on the latest board revision, other than Perifractic giving us an update on some line art and case/keyboard designs. Until something changes, I don't see value (instead, I see headaches) of "We're still debugging the board" - if they start giving public updates about that, then they have to handle the influx of commentary about "Have you done this?" "You should try this?" etc.
  24. I think (hope?) that the handful of people "in charge" of the project are heads down (and probably have "day jobs"). But I'm sure I'm not the only one who's concerned about the lack of any updates. Wouldn't really take but a few minutes every month to say "here's where we are and here's what's left". I don't want to write software for the X16 at this point because from where I'm sitting it looks stalled. I suspect (again hope?) I'm wrong about this, but I've been involved in many many community projects over the years and most of them stall out right at this stage.
  25. I really respect the MEGA65 project and what they are achieving. With the injection molded replica case, refurbished floppy drives and completely custom keyboard (even managing to recreate the size of the original C65 spacebar and achieving the PETSCII chars on the front of the keys) they really are bringing Commodore's final 8-bit machine to life. For me the appeal of the X16 is the simple VIC-20 like architecture, the real [socketed] 65C02, strong community and the potential for completely new software and hardware add-ons. Only... this time I get to choose the essentials that need to be purchased instead of my parents! It's also an ideal educational system for teaching children hardware, assembly language, computing history etc. The X16 development has been a bit below radar, I'm hoping once it is released there will be regular YouTube content. If so, I'm all in. In fact, I'd love to be a patreon of an official dedicated X16 YouTube channel with curated content from the community and thoughts/discussion from the project leaders. I would even have some ideas for the format and some episode ideas... Back to you in the studio @Perifractic
  26. Looking really good, the new key caps are a plus! Regarding the colour-scheme: I'm fine with grey. Although the pattern on the rendering with only the arrow and function keys +X16 in grey appeals more to me. Maybe add Pg Up/Dn Home/End to be grey, too. It looks very "wild" or "messy" on the prototype now. But as you said: that might change. I will like it in any case, can't wait for the real hardware. I even found a 14" CRT VGA monitor I will use with the X16 .
  1. Load more activity
  • Create New...

Important Information

Please review our Terms of Use