0xC0DE

@0xc0de.bsky.social

Acorn Electron fanboy | 6502 coder https://0xc0de6502.github.io

Pyjamarama conversion for Acorn Electron 48K (WIP). With about 200 free bytes left, my conversion is 98% done. I only need to add sound effects, the title screen tune, maybe some alternate control keys and playtest on different emulators and a real Elk. Used every trick to cram it in!

Bild

Pyjamarama (WIP). Demo mode done. Next up: fireworks on the "win screen". For these 2 features I unpack and hide the data (scripts) in the upper part of the screen temporarily. Desperate times, desperate measures when it comes to available RAM 😅

I just fully realised that I'm porting a game (Pyjamarama) to a machine (Acorn Electron 48K) that has ~10K less *available* RAM than the original machine (ZX Spectrum 48K). No wonder I have to pull out all the stops to make it fit! (I love the challenge though 🧐)

Pyjamarama (WIP). That's the Arcade Room (mini game) done! However, I may just rewrite this particular room in MODE4. That might give me a fighting chance for more speed and flicker-free sprites. At the moment the poor Elk is drawing twice the amount of sprite data as the Speccy 😫

Pyjamarama WIP. Slowly whittling down my "conversion to do list" (image shows tiny part of it). Major components left to convert from Speccy Z80 to Elk 6502: arcade room (mini game), demo mode, celebratory fireworks, sounds & tune, and maybe key redefinition and joystick support 🥵

Bild

Port of Pyjamarama to Acorn Electron (WIP). I have converted enough to be able to complete the game now. Working on the "you lose" and the "you win" screens, with nice chunky font. Screen mode split is still active but you won't notice it. Also, large boulder could be smoother but is good enough

Port of Pyjamarama to Acorn Electron (WIP). Quick update while I'm busy coding all different actions/events/animations in the game. Let's make a few quick trips to the moon and back! 👾👾👾

Pyjamarama (WIP). Sacrificing some of my beloved precalculated tables because I am getting desperate for RAM (and don't want to add a second 16K RAM bank). The elegance of the hybrid replacement 6502 code (calculate screen address given X,Y) is still *chef's kiss*

Bild

One of my favourite 6502 asm tricks. If you need to toggle a variable between 2 known values (e.g. -2 and 2) do the following (symbol ^ means Exclusive-OR):

Bild

Porting Pyjamarama to Acorn Electron (WIP). Some enemies are in. Collision detection active. Dashboard/inventory added. Can pick up and use objects. Switches and room events working. Can already play a significant part of the game 👾🕹️

Port of Pyjamarama to Acorn Electron (WIP). In the end I had to create a fake ZX Spectrum "attribute map" (but 768 bits instead of 768 bytes) to test for solid or non-solid tiles and have Wally move *exactly* like he does on the Speccy

Pyjamarama for Acorn Electron (WIP). Colourised all furniture and checked all 30 rooms. Wally can now move around and jump 😎 (capped at 25fps like the ZX Spectrum original, colour clash not simulated 😉)

Pyjamarama for Acorn Electron (WIP). Baby steps... got the room definitions, furniture definitions and tile plotting working. Showing two example rooms (furniture only) in MODE1, still in monochrome but ready to be 'colourised'

BildBild

Pyjamarama for Acorn Electron (WIP). Now demonstrating the title screen on the machine itself. Alternating between the default 4 colour palette and the 8 colour palette voodoo. This works on Electroniq and a real Electron (of course!) but not flawlessly on every Acorn Electron emulator out there

Working on the important things first 😆 Fixed typical Speccy colour clash. Still using all 8 colours but had to make adjustments to the specific order & location of them. Why? If you know, you know...

Bild