🌞   🌛
  • 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
  • As expected, Apple Journal didn’t click with me. It seems I’m not a journaler, and started to get annoyed by the similar suggestions. So, no DayOne subscription for me either.

  • 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
  • I drew something loosely based on a picture I took of my sister on Christmas day while we visited the royal palace Het Loo in the east of the Netherlands (I live in the west).

    drawing of a stylized woman standing on a flat carpeted roof with wooden railings and a brick wall corner

    Here’s the process video in ibisPaint X (90 minutes drawing time).

    process video as an animated GIF
  • 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

  • Visited Palace Het Loo yesterday. Just in case, I reminded myself of the Sphinx riddle here. I didn’t take much pictures of this former royal residence, now museum, because I was after good impressions, not documentation. I was sightseeing, after all. Made me a little more pro house of Orange. 🇳🇱

    Palace building in background, surrounded by two lying statues of half woman, half lion creatures
  • My iPad is having issues. I already have powered down and up again twice this week because of lack of responsiveness. I suppose it could be that the CPU is being slowed down to compensate for an elderly battery, or whatever goes on in the proprietary iPadOS from Apple 🤷‍♂️ Who knows, who knows…

  • 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
  • Two very eager feline buddies 🥰

    Two Bengal cats looking from the inside through a narrow window, as seen from the outside.
  • I have found a better way to assemble 6502 code than Virtual 6502 Assembler. I installed DASM from the official Pi OS repository on my Raspberry Pi-400, rewrote the KickAss source code, and assembled that into a BASIC loader program. Took long, because of differing assembler directives, and a nasty typo 🤬

    screenshot of a Rasberry Pi OS desktop, running the helloworld program in a C64 emulator
  • Getting a foothold into 6502 machine language, bonus part

    The file I assembled and downloaded as a .PRG file, using the Virtual 6502 Assembler, I smart attached in the V.I.C.E. C128 emulator. I then attached an empty .D64 disk file, and used Basic 7.0 to save memory location $C000 to $C12F to a binary file, called “usrfunc04.c000”. I detached … read more

  • I had to search for a particular Commodore 128 command, and found it here, which, BTW, I typed in myself from a book, and corrected many errors in that book. It now is the definitive guide on the web for Commodore 128 retro-computer users. It is anonymous, though, since I haven’t written the book.

  • Goal for 2024, making games for the Commodore 64

    In the Commodore 64 Programmer’s Reference Guide, published by Commodore Business Machines, Inc. and Howard W. Sams & Co., Inc. in 1982, there is a chapter on programming graphics with history’s most popular retro-computer. Graphics are an essential part of computing, and … read more