443 karma · joined June 4, 2020
Similarly if you ever get a chance you should read the Dave Barry book "Book of Bad Songs" where he relates singing "MacArthur Park" to his increasingly incredulous son.
I've written a few sizecoded raspberry pi entries, there's even a writeup of one of them in tmp.out where I loaded some code into the ELF headers https://tmpout.sh/3/08.html
this is due to timing attacks you can do with detailed perf info, but also due to the constant stream of bugs found by the perf_fuzzer that took years to fix and it was easier to just lock down by default
Recent other Mockingboard replicas use AY-3-8193 which turn out to sound awful, especially when trying to play ZX-style chiptune/demoscene music
years later when the c64 and IBM PC came out, the IIe was released which did have vblank support, but Apple II devs were reluctant to break backwards compatability.
You can still do a lot of cool games w/o vblank support. I'd say it'd barely makes the top 5 list of most annoying things about programming games on the Apple II.
And all these other "better" platforms, tell me do they have a port of Riven? http://deater.net/weave/vmwprod/riven/
it's true that eventually Apple started suing people, but until Apple vs Franklin it was unclear if you could even copyright a BIOS. And once that was determined, people had to clean-room reverse engineer the BIOS but it was possible to make clones (see the Laser 128 and many many others)
this is just as open as the IBM PC was. You couldn't just drop a copy of the PC bios into your clone, you had to go to a 3rd-party reverse-engineered BIOS
> Unlike all of its major rivals—including the Apple II—the IBM PC was built > with an open architecture.
The Apple II, designed by Woz, is famously open, to the point the original model came with full schematics and ROM listings which made it trivially cloneable. I'm curious why this isn't considered an open architecture.
especially as that builds off of the extensive work done on x86 counter determinism here: https://web.eece.maine.edu/~vweaver/projects/deterministic/
it turns out x86/amd chips many of the perf counter events are offset by the (unpredictable) interrupt count because the interrupt return instruction uop gets counted as both a user and kernel instruction. On many processors the retired store instruction avoids this issue.
So many 16-bit demo effects assume you have a decently fast multiply or divide instruction, which makes it really hard to do the same effects on 6502 (as I found with the second reality remake)
I really would have liked to be there in person this year but things came up. November is awkward timing for me, both with the college schedule but also because it often overlaps with the big Supercomputing Conference that happens around the same time.
And as why not release at a European demoparty: most of the crowd there don't really appreciate/understand the Apple II limitations, but also with Covid over they expect you to show up in person and bring along working hardware (sourcing a local Apple II, especially an NTSC one with a compatible power supply would be a challenge).
It says DOS3.3 as a joke, because Apple DOS3.3 was a real, long-running operating system for the Apple II that predates MSDOS.
The actual demo runs no operating system at all, it's a custom bootsector designed by qkumba that can load arbitrary tracks off of a raw Disk][ floppy and is much faster than DOS3.3 or ProDOS and also requires very little memory overhead.
The challenges of trying to be on the demoscene while holding down a full-time job ;)