๐ŸŒž   ๐ŸŒ›

Programming

  • I would prefer owning a Mac, but I simply canโ€™t rationalize the “Apple tax.” I used to be Mac or Die. A computer is more like a way to access the Internet nowadays, anyway ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘พ

    Cartoon drawing in C64 multicolor format.
  • It’s all very technical, this Commodore 64 multicolor mode. I made a special 2x1 grid in my iPad pixel editor to help me, but still I need to check in an actual multicolor editor if I made a mistake. Anyway, I’m improving as a C64 pixel artist, and that’s very cool ๐Ÿ‘จโ€๐Ÿ’ป

    concept and C64 multicolor drawings of a sunny day in nature
  • Creating something colorful that can be displayed on a Commodore 64 by loading and running a file involved a lot of (impossible to automate) creative steps. It took me around 4 hours for this simple drawing of my cat Aziz. ๐Ÿ‘จโ€๐Ÿ’ป

    original drawing in ibisPaint X at 320 by 200 pixels multicolor version with the Multipaint application loading screen in VICE C64 of the binary file containing the multicolor image multicolor image being displayed in VICE C64
  • I found an image editor that is able to draw Commodore 64 multicolor images. It can load PNG images, so I could draw on my iPad and color in this Java app on my Raspberry Pi-400. Yay!

    I’m still learning, though. Also found a SID tracker to compose music on the C64, and my musical knowledge is meh.

    pixel art of a cat head in C64 multicolor
  • Basic music theoryโ€”the musical interval

    Realizing how little to nothing I know about music theory, I started watching videos on the subject recommended to me by YouTube. Apart from that those videos aren’t really vetted, I don’t know how useful those are, even if they’re accurate. So there’s my caveat to you, the โ€ฆ read more

  • I realized I needed four extra characters to be able to create lines that are 4 pixels wide. In the 6-pixel wide versions I already had them ($59 - $5B), rounding corners. So I added them to my existing modified character set, at $75 - $78.

    Tools: PETSCII editor, VICE.

    ๐Ÿ‘จโ€๐Ÿ’ป day 2/366 days of coding

    Fake C64 screen with hexadecimal screen codes and their changed graphical representation Screenshot of VICE C64 showing a Basic instruction using POKE commands to display the modified screen codes
  • It’s day one of a year long self-challenge to code a video game for the Commodore 64. It won’t be all spent behind a keyboard and monitor. There’s a lot of study ahead, reading books and articles, playing retro-games, etc. Also making pixel art and chiptunes. It’ll be a blast ๐Ÿฅณ ๐Ÿ‘จโ€๐Ÿ’ป

    Fake Commodore 64 screen with the text 366 Days of Coding
  • My retro-computerโˆ— powered best wishes from the Netherlands!

    May all your best wishes for 2024 come true.

    ๐Ÿ‘จโ€๐Ÿ’ป

    Screenshot of a Commodore 64 screen wishing us a happy New Year

    โˆ— (V.I.C.E. actually, and a little after effect with my iPad)

  • Took some effort, yet I have my character set of programmable characters to draw a design I’ve been working on lately. I wrote a Basic loader, which when run puts the character set in memory, so I can be used. Still lots to do, though. I’ll write a longer piece about it in the New Year. ๐Ÿ‘จโ€๐Ÿ’ป

    Screenshot of a Commodore 64 screen in VICE, showing new characters, a Basic listing, and a Basic instruction POKEing screen codes into screen memory
  • Second (partial) attempt at a a 2-color bitmap image on a C64 as a collection of characters (8-by-8 pixels tiles, still only 39). This is very laboriousโ€”if done by hand. I had to change the original rather drastically, and reuse tiles with care. There’s still a good resemblance, of course. ๐Ÿ‘จโ€๐Ÿ’ป

    design of Commodore screen image with the 39 tiles that are already used on the side
  • I wonder if it’s possible to render this as 8 by 8 tiles, and if so, how to do it. ๐Ÿ‘จโ€๐Ÿ’ป

    Design for a Commodore 64 background image
  • I made start with software sprites using programmable characters on a Commodore 64. For now, there are just programmable characters; there’s no background, nor a software sprite that should move over the background in one of the 1000 possible positions on a 25 rows by 40 columns text screen.

    screenshot of VICE C64 screen showing a listing of a Basic program in black text on an all white background
  • How to draw software sprites

    While in the previous article I was only philosophizing, in this one, I’m getting somewhat less theoretical. It’s still a ways away from having working code, though. I found an answer on the Retrocomputing Stackexchange site, explaining how software sprites “work”. In my own โ€ฆ read more

  • Philosophizing about software sprites

    While reading through some articles about hardware sprites, sometimes called movable object blocks (MOBs), I realized that the C64 is probably too slow to move software driven sprites. In 1/60 s at ยฑ 1.02 Mhz there are 17000 instruction cycles for an interrupt, or (17000 / 4 =) 4250 average โ€ฆ read more

  • I have a very unoptimized way to fill a rectangle on a C64 video screen with characters, as in a MOB (movable object) instead of a hardware sprite. It’s around 25 times faster than using Basic, and has “frame rate” of around 12 fps on a 50 Hz monitor. I’m sure it can be much faster. ๐Ÿ‘จโ€๐Ÿ’ป

    slide show of the several output screens of my program on the Commodore 64 that tests both a Basic and a machine language version
  • POKEing to the Commodore 64 screen

    I was looking through the Commodore 64 Programmer’s Reference Guide, in the chapter about graphics, how I could POKE screen codes to the screen, so to speak, in 6502 assembly. Here is what I came up with. First of all, what do I mean with “POKE” and “screen codes”? POKE โ€ฆ read more

  • On the C64, using the Kernal, you can set the cursor position (one routine) and then print a character (another routine). I wanted a single routine to put a screen code onto the screen, at a particular colomn and row, wherever the screen was located in memory. So I wrote it, and it works, yay! ๐Ÿ‘จโ€๐Ÿ’ป

  • I installed droid64, a Java application to manipulate Commodore disk images and copy files between your host OS and a disk image (e.g. a file with a D64 extension). I needed it to be able to play new games. I also put a SPEEDLINK SL-650212-BKRD Competition PRO USB joystick on my Amazon wish list ๐ŸŽฎ

  • Challenge the challenger (or: a little help wanted here)

    It is said, by some, that there’s nothing magical about January 1. So resolutions seem rather nonsensical, at least, putting a start date on something. Just start, which is what I just did, by writing and publishing this blog post. And, I warn you in advance, I will ramble and meander through โ€ฆ read more

  • I redid the random maze program in assembly language. If you load and RUN the program, it displays the maze, waits for the user to press a key, then clears the screen and returns to the BASIC prompt. It’s simple, but it made me proud nonetheless that it actually works.

    screenshot of a Commodore 64 screen showing a random maze