pouët.net

WARP 1k C64 by MB Maniax

===============================================================================
                    ROTOZOOMER 1K - Commodore 64
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         by Shrek/MB Maniax
                              (c) 2026
===============================================================================

                    "My first C64 intro ever!"
              (a ZX Spectrum guy lost in enemy territory)

-------------------------------------------------------------------------------
ABOUT
-------------------------------------------------------------------------------

This is my very first attempt at coding something for the Commodore 64.

I've been coding on ZX Spectrum for my entire life. The Z80 CPU is like 
an old friend - we understand each other. LD A,(HL)... INC B... DJNZ...
These opcodes are poetry to my ears.

Then I decided to try the C64. How hard can it be, right?

Well... let me tell you about the 6502:
- No 16-bit registers? Seriously?!
- LD (HL),A becomes STA (ptr),Y... wait, what's a zero page?!
- Where's my DJNZ?! Oh, I need DEX + BNE. Two instructions. Great.
- Carry flag works BACKWARDS for subtraction! SEC before SBC?!
- No block copy instructions? No LDIR?! *cries in Spectrum*

But I have to admit... after fighting with this strange CPU for a while,
it started to make sense. The zero page is actually clever. The VIC-II
chip has some nice tricks. 

-------------------------------------------------------------------------------
THE DEMO
-------------------------------------------------------------------------------

What you see:
1. DISSOLVE - BASIC screen randomly disappears (LFSR magic)
2. INTRO - Rotating "C64" logo with fixed zoom
3. ROTOZOOMER - Full rotation + zoom + movement animation

All in under 1KB. Because size matters. And because I wanted to prove
that a Spectrum coder can learn new tricks. Old dogs, new platforms.

Technical stuff:
- Uses Color RAM ($D800) as "pixels" - each character cell = 1 pixel
- 36x21 character resolution (756 "pixels")
- 16x16 color texture with "C64" logo
- Fixed-point arithmetic for smooth animation
- Sin table for rotation and zoom
- No sprites, no custom charset, no interrupts (except SEI at start)

-------------------------------------------------------------------------------
CONFESSION
-------------------------------------------------------------------------------

Yes, I know ZX Spectrum is technically superior:
- Z80 is a REAL CPU with REAL registers
- Attribute clash builds character
- 48K is more than enough for anyone
- Beeper music is an art form
- Loading from tape for 5 minutes builds patience

But... the C64 is not THAT bad. The colors are nice. The sprites are
cool (even though I didn't use them). And the VIC-II is surprisingly
fun to work with.

Will I switch to C64? 

ABSOLUTELY NOT. 

But I might visit again sometime. Consider this a diplomatic mission
from the Spectrum nation to the Commodore empire. We come in peace.
We leave with respect. And with a working 1K intro.

-------------------------------------------------------------------------------
GREETINGS
-------------------------------------------------------------------------------

To all Spectrum coders who ever wondered "what's on the other side"...
Now you know. It's weird, but survivable.

Special thanks to:
- Coffee for keeping me awake during debugging
- My ZX Spectrum for not being jealous

-------------------------------------------------------------------------------
CONTROLS
-------------------------------------------------------------------------------

Just watch. There's nothing to control. It's a demo, not a game.
(Although on Spectrum, I could have added a beeper soundtrack...)

-------------------------------------------------------------------------------
TECHNICAL REQUIREMENTS  
-------------------------------------------------------------------------------

- Commodore 64 (PAL or NTSC)
- VICE emulator works great
- Real hardware probably works too (untested, I don't own a C64)

-------------------------------------------------------------------------------
FINAL WORDS
-------------------------------------------------------------------------------

   +-------------+          +-------------+
   | ZX SPECTRUM |    >     | COMMODORE   |
   |    RULES    |          |     64      |
   +-------------+          +-------------+
         |                        |
         |    (but C64 is OK)     |
         +------------------------+

Long live the 8-bit era!

===============================================================================
                     KEEP CALM AND CODE IN Z80
              (or 6502, if you must... I guess... whatever)
===============================================================================

File: rotozoom.prg
Size: <1024 bytes
Platform: Commodore 64
Author: Shrek/MB Maniax
Year: 2025

Tested on: VICE x64sc
NOT tested on: Real C64 (I don't have one, I'm a Spectrum guy, remember?)

===============================================================================