Posts

Showing posts from 2026

Gears of War 5 - ZX Spectrum Version

Image
  Gears of War 5: ZX Spectrum Version Ok, not really! Another possible #WCCChallenge  topic for this week was Gears. Seen as I'm on some sort of nostalgia trip today, I thought I'd rehash a very old routine that demonstrates a buffer technique in ZX assembly. I used a Gears 5 wallpaper from some random wallpaper site, so I'm assuming it's fan art, converted it to a ZX Spectrum .scr file and then did some Z80 tomfoolery! Simply put, you load the screen into a memory location and then use 12 bytes of code to move each byte of the screen data onto the ZX Spectrum's display. The 12 byte routine goes like this: LD HL, 32768 ;(Source) LD DE, 16384 ;(Destination) LD BC, 6912 ;(Length) LDIR ; Load, Increment Repeat (basically a loop until you move all 6192 bytes) RET ; return (go back to the BASIC routine) Converted to BASIC: 10 CLEAR 32767: BORDER 0: PAPER 0: INK 7: CLS 20 FOR n = 65000 TO 65011 30 READ a: POKE n,...

ZX BASIC Coded Warning Sign

Image
Radioactivity Every week I try to enter #WCCChallenge , which is held every Sunday by SableRaph . This week the topic chosen is Radioactivity .  The idea is to come up with some creative coding loveliness based on the chosen  topic . I entered ZX Spectrum as a hopeful topic but it wasn't picked. But...I thought why not Zoidberg do both?  I had an idea last night to load up FUSE  and see what I could do with it on the topic (it was in a slim lead against Gears at the time. Click to see my possible entry to that subject ). It's been around 35 years since I last tried any Spectrum coding. I wasn't going to touch assembly though (see this post for my last foray into that!) so I used ZX BASIC to make a Danger Radioactive sign. The original takes almost two minutes to render so I sped up the video. Below is the code, written in Boriel ZX BASIC style (no line numbers needed). To convert to a workable .tap file you should use zmakebas with the following command: zmakebas f...

The Traveler by Joseph Eckert - A Review

Image
  The Traveler by Joseph Eckert I do like a time travel story. This science fiction debut by Joseph Eckert scratched the time travel itch for me. I couldn't put it down in places. The story is quite a simple one. Scott Treder, a seemingly normal fellow, finds himself thrown out of his car and hits the ground. Picking himself up, he looks around and his car is nowhere to be seen, even though only mere seconds before he had been in the driving seat. Sorting himself out, he goes home to discover his wife frantic. The car, a little bit dented, is in the drive and he, apparently, has been missing for the last 24 hours. Thinking it must be a bit of amnesia caused by the accident, he gets himself looked over by the doctor but all is well. The next morning he arrives at work earlier than normal to make up for missing the day, sits down at his desk. The clock strike 7:57am and he finds himself on the floor of his cubicle, surrounded by colleagues who wonder where he's been for the past ...

They Will Kill You - A Review

Image
They Will Kill You They Will Kill You is, quite bluntly, the daftest film I've seen so far this year...and I mean that in a good way. The movie is John Wick vs The Evil Dead ON ACID. The plot, what little plot there is, centres around Zazie Beetz' character, Asia, tricking her way into a hotel, that has a history of hired help disappearing in strange circumstances, to rescue her sister who she discovers is working there. Asia has been in prison for the last ten years and has picked up some kick ass fighting moves, which come in handy when the rich clientele try to murder her. Asia fights back, chopping off heads and blowing off limbs with shotguns, blood and guts flying around like an 80s gore fest, only to be shocked by the bodies all reanimating and chasing after her again. The cast is made up of some well known faces - Patricia Arquette, Heather Graham, Paterson Joseph, Tom Felton - all seemingly having the time of their lives slipping and sliding in gore and guts.   There...

The Boatman by Alex Grecian - A Review

Image
The Boatman by Alex Grecian We're all chased by death. He waits for us around every corner. None of us know when he'll swoop down to claim us. But what if you could see him following you on a boat whilst you're on a luxury cruise in the 1970s? Well, you try to stay ahead of him for the next 100 years! And that's the premise of the new novella by Alex Grecian. The guests and crew of the Maria Calypso set sail one day in the late 1970s. All is going quite well on the ship's maiden world cruise until the captain suffers a massive heart attack...but seems to shake it off like it was just a bout of indigestion. At the same time a strange boat appears around half a mile behind them. The boat seems to be a gondola and at the back, pushing the boat slowly along with a large pole, stands a man in a white suit and hat.   For days and days the boatman follows the ship, never gaining, always staying around half a mile away. The guests and crew decide to try and outrun him, theo...

Dead Silence by S A Barnes review

Image
  Dead Silence by S.A. Barnes A woman and her crew board a decades-lost luxury cruiser and find the wreckage of a nightmare that hasn't yet ended. A GHOST SHIP. A SALVAGE CREW. UNSPEAKABLE HORRORS. Claire Kovalik is days away from being unemployed when her beacon repair crew picks up a strange distress signal. With nothing to lose and no desire to return to Earth, Claire and her team decide to investigate. It was the blurb that drew me in, I have to admit. I'm a big fan of sci-fi books but not read much horror. This was a page turner that I read over the course of a week or two. It reminded me of Alien at the beginning (the lonely crew on the outskirts of known space discovering something strange), The Shining by Stephen King during the middle (when the weird stuff happens!) and Aliens towards the end (yes, there are mercs and one lone woman who saves the day!). The Aurora itself, the Titanic like vessel the crew stumble upon (yes, it is supposed to look like an old steam l...

A Walk to Llyn Barfog (Bearded Lake)

Image
  A Walk to Llyn Barfog Around four miles from Aberdyfi, along the wonderful Panorama Walk, lies the hidden Llyn Barfog also known as Bearded Lake. Legend has it that the Afanc, a terrifying monster, lived within its depths and often descended upon the peaceful village to devour any villager unlucky enough to be out at the time. A call for help went out and good King Arthur came along and a mighty battle ensued that lasted hours (some say days). Finally Arthur slew the Afanc and peace returned to the village. He was good at doing stuff like that. The walk takes about two hours from Aberdyfi itself. Make your way up Copperhill Street, turn onto Mynydd Isaf and turn left at the crossroads. Follow the road and you'll see a sign pointing towards Bwlch Farm and Llyn Barfog. Follow this road (Panorama Walk) until you get to Bwlch Farm.  From here you have two choices - left or right. Each path will take you to the lake, but my preferred route is to take the right. Take the right pat...

Slip to the Brit

Image
  Slip to the Brit We managed to catch sight of a few of the participants of the annual Slip to the Brit today. This is a fun run from Tywyn Slipway along the beach and finishing at The Britannia pub in Aberdyfi. Mer-King, Seahorse and Lobster There's always a dinosaur! Two nurses (there was a little girl off shot here doing her best to put jellyfish back into the sea!) I expected a pantomime horse...saw a ci selsig! Scooby Doo! It looked like everyone had a great time! I shall also be doing a walk down to Tywyn and back sometime this week along the beach. I think I'll leave the fancy dress at home though. Or maybe not!

Sea Now by Eva Meijer - A Review

Image
  Sea  Now  by  Eva  Meijer:  A  Novel  of  Disaster  and  Identity This book is a novel about the consequences of climate change if we leave it unchecked (spoiler alert: we will!) Set in Netherlands, Sea Now tells the story of the country, notoriously flat and slightly below sea level, succumbing to the North Sea in a sudden rising of the tide in the near future. Told in two parts, the first detailing the quick flooding of the country and the second a journey based, I feel, on the Odyssey. The tale, at least the first part, is told in a quite nonchalant style, often witty as the inhabitants of Netherlands, along with their quite inept government, at first try to ignore the issue, then attempt to build dykes which seem to be as effective as King Canute. Finally, admitting defeat, the whole country leaves to make their way to other countries (an ironic reversal of the immigration "crisis" the Right Wing in Netherlands harp on about i...

When We Were Real by Daryl Gregory - Book Review

Image
When We Were Real  by Daryl Gregory "When  We  Were  Real"  by  Daryl  Gregory  is  a  madcap  adventure  that  follows  two  friends  on  a  cross-country  bus  tour  through  the  mind-boggling  glitches  in  their  simulated  world. Earth as we know it has changed. It turns out that we're all in a simulation. This was announced to every human on the planet one day in 2017. Since that day strange anomalies, dubbed "Impossibles", have appeared all over the world. Simulation or not, there's money to be made so enterprising companies have started their own coach tour, for a tidy sum! JP, suffering with a brain tumour, is convinced by his best friend, Dulin, to take one of these coach trips across the USA to see the pick of the crop when it comes to America's Impossibles. Joining them are a couple of nuns, a rabbi, a heavily pregnant influencer, a con...

Just Another Brick In The Wall

Image
  If You Want A Job Done in Aberdyfi, son... Give Old Man Mittsy a call! It's Bank Holiday here in the UK and I've started the repair work on my garden wall. Today I took out some of the bricks around the back gate, cleaned out the old mortar that had perished, reset the bricks and mortared them in. I have no idea what I'm doing, but it seems to be right! I should have all the wall (around 50ft!) done by the end of the year. A work colleague asked me if I had the necessary skills to do the work. Nope. But I will by the end of the job! Whenever I do a bit of DIY I think back to the wonderful Barney Bodger from Tickle on the Tum (an old children's show from my childhood). He was the village handy man - no job too small. He wasn't very good at anything he did, but he always had a smile on his face when working! Of course, I'm probably more Reg Prescott than Barney Bodger.

Zen Garden

Image
  Mitts' Zen Garden Game The world is going to pot at the moment isn't it? There's a crazy man running America. Another nutcase running Israel, people denying Climate Change, prices rocketing. The list goes on and on. Sometimes you just want to scream! With all this in mind, I wrote a game to help people find a moment of calm in all the chaos. Based on Zen gardens, the game is simple enough: just rake patterns into the sand whilst you listen to music. A "Rake-em-up", if you will. Click on the link below to be taken directly to the game's itch.io page. Mitts' Zen Garden I hope it helps you to relax and enjoy a mindful moment. If you would like to see the code for it please  visit my OpenProcessing site

Rendezvous With Rama

Rendezvous With Rama Rendezvous With Rama is a seminal work by Arthur C Clarke. It tells the tale of a long cylindrical object, probably some kind of starship, that enters our solar system. It is named Rama by Earth and, as it gets closer, an expedition is sent out to make contact with it. At first the object seems dead and doesn't respond to any attempts at contact. The expedition members find a way on board and discover a world within the object featuring lakes and buildings but still an alarming lack of life. As Rama gets closer to the sun strange things begin to happen. Robotic creatures appear and the buildings shift in shape. Eventually the expedition has to leave, as it is evident that Rama is picking up speed and they will be stuck inside forever. The expedition, once again safe in their own ship, watch as Rama departs taking its mysteries with it and leaving humanity behind - an insignificant encounter. And here is the code: let t ...

A Seaside Village

Image
A Seaside Village With the lovely weather of last week, I was inspired to create a new piece. I call this A Seaside Village.  I've used p5js once again (I do love it) and forked the code from  @Saya Kubota  to draw the houses and make the grainy effect. I think it came out quite nice and reminds me of walking along the front in Aberdyfi, chips in hand, on a spring/summer's day. Here's the code: const PALETTE = ['#CFECF7','#A0D9EF','#62C1E5','#20A7DB','#1C96C5']; let noiseGra; let waveX = 0; let waveY = 400; function setup() { createCanvas(600, 600); noiseGra = createGraphics(width, height); noiseGra.loadPixels() for( let x=0; x<=width; x++) { for(let y=0; y<=height; y++) { noiseGra.set(x, y, color(255, noise(x/10,y/10,x*y/50)*random([0,40,80]))) } } noiseGra.updatePixels(); } function draw(){ randomSeed(0); noStroke(); //console.log(mouseX,mouseY); background(200); fill(194,174,128); rectMode(COR...

AB38 "Genesis"

Image
  AB38 "Genesis" On a sunny March morning it's always lovely to see the famous AB38 ship off to work in Bae Ceredigion. The ship has been around since 1981 and its catches are sold all along the Dyfi coastline. If you like seafood and eat in a restaurant in the area then you've probably eaten something caught that day by the crew of Genesis.

Cosmic Gobstoppers

Cosmic Gobstoppers This little effect is based on Rainbow Storm by mathisvdr.  I converted the dweet to p5js. I have NO IDEA how the maths works! For a creative coder, my maths skills leave a lot to be desired! But, with a little bit of tweaking and research, I managed to create a nice sketch. Dweets are interesting. They're golfed code. Golfed code comes from the game of golf, where you try to complete a hole in as little moves (par) as possible. Golfed code takes a block of code and strips it down to the bare minimum. This is mathisvdr's golfed code, which would fit in a tweet as it is 138 characters long: function u(t) { c.style.filter='invert()';for(i=836;i--;x.fillRect(i%38*50+5,~~(i/38)*52+2,45,45))x.fillStyle=`hsl(${i*S(t)},99%,${S(i**3+t)**33*90+10}%)` } This is my code, which is more readable but would not fit in a tweet: let t = 0; function setup() { createCanvas(400, 415); colorMode(HSL, 360, 100, 100); } ...

Review: Jason X

Image
  Jason X For the past umpteen years I've been watching horror films on significant horror dates. On Halloween I watch one of the Halloween movies and on Friday 13ths I watch a Friday 13th movie. This year, a month ago, I watched Friday 13th Part IX: Jason Goes to Hell. That film was, well, god awful to be fair. The best bit was at the end where Freddy Krueger's glove comes along and pulls Jason's mask into the ground, paving way for Freddy vs Jason. But before you can get to that film you have to watch Jason X. Well, you don't have to but, to be fair, it is enjoyable nonsense. The plot, if such a thing exists, is Jason, somehow alive again, gets cryogenically frozen, wakes up 450 years later on a spaceship and goes on a killing spree. That's it. And, well, it's actually quite good. It's still rubbish, but, as slasher movies go, it was actually one of the best. I enjoyed every daft moment of it. Lexa Doig and Lisa Ryder, two turn of the century scifi stalwa...

Tutorial: Hello, world! in Z80 Assembly Language

Image
  I'm feeling kind of nostalgic today so I thought I'd write Hello, world! in Z80 assembly for the ZX Spectrum! The last time I wrote any Z80 assembly was when I was 14 so around 36 years ago! I may be a little rusty! Here it is: org $8000 ld bc, TEXT LOOP ld a, (bc) cp 0 jr z, EXIT rst $10 inc bc jr LOOP EXIT ret TEXT defb "Hello, world!" defb 13, 0 How this works line by line: org $8000 - this line puts the program into memory location $8000 ld bc,TEXT - ld stands for load. We load register bc with the memory location of what comes after the label TEXT LOOP - the beginning of our printing loop. We will be printing each letter at a time. ld a,(bc) - now we load register a with the content of register bc. As register a is a single register and can only take a single byte at a time, then the content of bc loaded into register a will be the letter H (the first letter in Hello, world!) cp 0 - stands for compare 0. We check if ...

La Isla Bonita

Image
La Isla Bonita Another drawing made using P5JS based on an image I've found online. This one was a bit more difficult as the original has lots of shadows. I decided to forgo some of the shadows to make my image more simple. I think it turned out quite well. I called the sketch "La Isla Bonita" as it reminded me of the Madonna song from my childhood. Here's the original. I think this is an AI pic. It doesn't really matter. And here is my version: And here is the code: function setup() { createCanvas(400, 600); angleMode(DEGREES); } function draw() { background(255); stroke(0); strokeWeight(3); push(); translate(-30,0); // centre whole image /* hat */ push(); noFill(); //brim strokeWeight(6); translate(200,100); rotate(30); ellipse(0,0,60,80); //top strokeWeight(5); arc(-10,-10,40,40,20,320); arc(-10,-5,40,40,10,180); pop(); strokeWeight(3) //crease line(180...

Coffee for Two

Image
Coffee for Two I like taking drawings I find online and seeing if I can recreate them in code. Here's my latest: Coffee for Two. Here's the original from @gregcatarino1 : And here is the code: /* after:https://x.com/gregcatarino1/status/2024795951710236868/photo/1 */ function setup() { createCanvas(450, 500); // 450, 500 angleMode(DEGREES); noLoop(); } function draw() { background(220); //line(300,0, 300,600); strokeWeight(1); stroke(0); push() translate(0,-20); man(); push(); translate(-30,0); woman(); pop(); pop(); push(); scale(0.5); drawCursiveM(765, 940, 45); // x, y, size pop(); } function man(){ /* head */ //neck line(150,50, 130, 120); //hair noFill(); curve(145, 50, 145,50, 190,55, 145, 15); curve(145, 48, 145,48, 190,55, 145, 15); line(160,54, 205,54); line(160,53, 210,53); //face beginShape(); vertex(180,56); bezierVertex(185,75,171,100,171,...

にゃー、にゃー。(Meow, meow)

にゃー、にゃー。 Today my wife was playing Stray on the PS5. It seems an interesting game where you play the role of a stray cat in the far future that finds itself lost in a city full of robots. Whilst scrolling through Twitter, I came across a wonderful p5js sketch by Senbaku , which inspired me to create this animation. And here is the code: /* After にゃー、にゃー。 (Meow meow) by @Senbaku https://x.com/senbaku/status/2024819224028541210 */ function setup() { createCanvas(400, 400); rectMode(CENTER); angleMode(DEGREES); noStroke(); } function draw() { background(220); drawCat(width / 4, height / 2, false); drawCat(width / 4, height / 4, false); drawCat(width / 4, height / 2+100, false); //mirrored cats drawCat((width / 4) * 3, height / 2, true); drawCat((width / 4) * 3, height/4, true); drawCat((width / 4) * 3, height/2+100, true); textSize(30); text('After センバク', 100,360); } ...