🌞   🌛
  • Oh wow! I went to Github.com on my iPad, clicked on one of my repo’s, connected an USB keyboard and pressed the period key “.” 🤯

  • Doing the work, needing the tool (read: iPad Air, perhaps?)

    Here’s an exercise from the book “Programming the 6502”, 4th edition, by Rodnay Zaks. Exercise 1.12: Complete the following additions. Indicate the result, the carry C, the overflow V, and whether the result is correct or not: 10111111 (_______) 11000001 (_______) … read more

  • Getting a foothold into 6502 machine language, part 5

    I’ve rewritten the code I developed earlier and extended it into a full-fledged usr machine language routine. However, it needed testing, because of all the rewrites. So I grabbed my copy of Working Copy on my iPad and started Git-versioning both the assembly and the Basic code. It was … read more

  • Fun semi-fact. Cats only meow to humans, not other cats, because they have experienced we humans communicate through sound, and meowing is how that sounds to cats, presumably.

  • Writing correct code is such a hassle, yet it has to be done to be able to run it, preferably without error in code, nor confusion in user.

    screenshot of iPad, showing the text of a C64 Basic program
  • Getting the formatting in a source code list right takes a lot of time and effort, if you’re doing it by hand. I guess I should just write about writing source code instead of showing it. Yeah, I know, the common saying is “show, don’t tell”, but showing is exhausting. Maybe I need a GitHub account.

  • Getting a foothold into 6502 machine language, part 4

    Yeah, I know, I know. I promised a completed function to test if a number is prime. However, I want to write an article a day, and there’s only so much one can code in a day. This time I used code by other programmers, because, you know, I’m a novice. I did, however, try to understand … read more

  • Reading through 6502 assembly code listings for my current article on assembly programming on the C64, I can see there’s an art to writing clear and easy-to-read code. Some are better at it than others. I suppose I should “steal” some of those practices (read: make them my own).

  • Getting a foothold into 6502 machine language, part 3

    This should get more interesting than the previous two parts. We want a usr function that tests if a number between 0 and 65535, inclusive, is a prime number. We expect an a result of this usr function either a -1 (true) or a 0 (false). I really should split this whole thing into four parts to keep … read more

  • Third day using the Apple Journal app. If I keep it up until the New Year, I might consider subscribing to Day One or Momento, which offer more features.

  • Getting a foothold into 6502 machine language, part 2

    I mentioned in part 1 that there’s a convenient routine to convert a real number into a signed 16-bit integer. However, Basic line numbers are 16-bit unsigned numbers when parsed into Basic code. So there has to be a routine to turn a real value in fac1 into a 16-bit integer as part of the … read more

  • To quote myself, in my latest article on my blog:

    Now we can tackle more complicated matters, but that has to wait until part 2, because this article is already much longer than I anticipated, and I started to make mistakes. I need a break.

    I had to strip out a big chunck, because it was full of errors. We can’t have that!

  • Getting a foothold into 6502 machine language, part 1

    It seems in Commodore Basic version 2 the preferred way to get a value into a user-defined 6502 machine language routine (and to get a value back), is the usr function. It took me some trial and error to get it to work. Luckily, Google is Your Friend, or, in my case DuckDuckGo. I also used … read more

  • I wrote my second post on Apple Journal, hopeful that in time it will be of some use, if and when Apple improves the app with more than the current bare features. I’m tempted by the Day One app, but fear €40 per year isn’t worth it, if it turns out I’m not a “journaling person.”

  • I’m confused. After writing an entry in the Journal app I can’t do anything with it. Am I supposed to read it back later, only in the app? That seems rather pointless.

  • Currently reading: Mapping the Commodore 64 by Sheldon Leemon 📚

    Why would you even want to use the C64, it’s an old computer? It isn’t old, it’s retro!

    book cover of Mapping the Commodore 64 by Sheldon Leemon
  • I got a taste of what it is to write a computer program on the C64 (see here and here). For now, that is enough for me, and I’ll refrain from doing any more for the Advent of Code. It’s just too hardcore for me! I need something less intimidating.

  • Advent of Code 2023, day 1, part one—Hunting down the bug

    This is a continuation of this article I wrote earlier today. There was a bug in my Basic program when calculating the value of the two-digit number: 140 p=f+10*l:sm=sm+p:print n,p,sm That should of course be: 140 p=f*10+l:sm=sm+p:print n,p,sm After rewriting the code I got this answer: 999 : … read more

  • Advent of Code 2023, day 1, part one—Basic language approach

    Day 1 of the Advent of Code consisted of two parts. You had to finish part one before you could advance to part two, plus you had to log in using OAuth (with a Google, Twitter, or Reddit account). In part one there was a list of character strings, which I separated by commas (to avoid character … read more

  • So I wrote some Commodore 64 assembly code in Textastic on iPad, assembled in an online 6502 assembler, into a .PRG file, and loaded that into the V.I.C.E. C64 emulator. You can see the ML monitor output and the output of the program. Note that clearing the screen isn’t needed, simply:

    SYS 49176
    
    random maze machine code monitor in V.I.C.E. random maze output in V.I.C.E.