Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


SlithyMatt last won the day on October 26

SlithyMatt had the most liked content!

Community Reputation

367 Excellent


Recent Profile Visitors

389 profile views
  1. "Learning Computer Science" is a pretty broad goal and, short of getting an actual degree, is difficult to quantify. If you want to learn the basics of computer science, like why languages do what they do, there a lot of things to explore. A lot of great content on YouTube, actually, as good as any University lecture. Chances are, coming from web stack straight into 8-bit assembly, you'll be hopelessly lost. You may want to try gradually stepping down your level of abstraction. Build a console-based program with Python, then try to do the same thing with C. Learning the different languages and seeing how they deal with data should help you connect the dots. If you want to press further down the ladder of abstraction, then try assembly. Doing ARM assembly for a Raspberry Pi is not the best idea, as that is a platform designed to have many layers of abstraction between bare metal and userspace. The X16, however, is a perfect platform for learning assembly. It was designed to have you directly access everything, not depend on a big operating system and countless drivers and services.
  2. Remember, GitHub is free, and you can maintain private repos. Never depend on a single device to store your code and assets!
  3. To say the least! Recursion is not your friend with a limited stack. Another reason why Lisp is not the greatest fit for this platform. Kinda hits the other, Functional, side of "modern" Computer Science, striving to make everything an elegant function tree, which is not the way to go, either.
  4. Indeed there are! Passing structs by value is generally a bad-to-impossible idea on a 6502 system. The stack is (at most) 256 bytes, and each subroutine layer requires at least two bytes taken up to store the return address, plus you should expect A, X, Y and the status register to also be pushed to the stack for each call (that is the default behavior of C functions in cc65), so that's 6 bytes right there. We are conditioned through "modern" Computer Science studies to avoid global data, do proper OOP and encapsulate and compartmentalize. Going back to 8-bit, you gotta throw that stuff out the window.
  5. Try renaming the file to have a .PRG extension.
  6. Forth is an excellent and era-appropriate language to have in ROM, even if it is a bit esoteric. It would be a very powerful alternative to BASIC. There was mention on another thread of RPL, but it's too close to Forth and given the choice, I think Forth would be the way to go. I still have my HP 48G calculator that I can play around with RPL on, if I so desire. Are there any Lisp champions left, outside of emacs die-hards? I'd hate for people to wear out the parentheses keys on their X16 keyboards. Python and Perl would be painfully slow in standard form, requiring the use of massively scaled down versions of the languages. I know they are out there, but mainly as curiosities. If people want a curiosity, they can load it themselves via SD Card -- no need to take up ROM space.
  7. Yeah, it's the built-in mic of my laptop, and it was not behaving nicely when I recorded. I just need to re-adjust the gain, but I didn't want to shoot this one a second time!
  8. One of my newest projects is a homebrew game for the Atari 2600: Alice in Wonderland. If anything makes you appreciate the power and speed of the X16, it's 2600 development! I have a new demo video of the game on YouTube: This game will be free and open source and you can check it out on GitHub right now: https://github.com/SlithyMatt/vcs-alice
  9. Just be aware that there may not be a good driver for the device that works well with both it and Raspbian. Sound through HDMI or BlueTooth are the only sure things to work.
  10. Either that, or the result of an AI algorithm that I spent all night on that generates pictures of carved pumpkins by playing old arcade games in emulation and picking out the most theme-appropriate image.
  11. But LOAD doesn't use the carry bit as an input argument. It is used as an output, but the state of the flag going in should not have any effect on the result of the call. At least, that's how the legacy LOAD function worked. It could have changed for the X16, but not to my knowledge.
  12. I think it's a bad idea to let Ladyfractic eat the only one you have. But seriously, I think it's a log-overdue step in the RPi evolution. It will definitely open up this cool little platform to a lot more people that don't like having to figure out what to do with an exposed PCB. I need to replace my old Pi2, but my primary use case for that is a compact, low-power server, so I'll probably stick with the classic form factor for that. But as a retro emulator, it can't be beat at that price point. MISTer is too expensive and complicated for mainstream adoption, while this looks like a nice sweet spot. Just plug it into your TV like an old 8-bit home computer.
  13. Electrons went haywire? Should be showing up now.
  • Create New...

Important Information

Please review our Terms of Use