Live data from Hacker News

Memories – 256 bytes demo winner of Revision 2020

sizecoding.org

51–60 of 123 posts

Re: Memories – 256 bytes demo winner of Revision 2020

#51
post #33

> In 320x200 mode, instead of constructing X and Y from the screen pointer DI with DIV, you can get a decent estimation with multiplying the screen pointer with 0xCCCD and read X and Y from the 8bit registers DH (+DL as 16bit value) and DL (+AH as 16bit value). The idea is to interpret DI as a kind of 16 bit float in the range [0,1], from start to end. Multiplying this number in [0,1] with 65536 / 320 = 204,8 results…

It strikes me as odd to describe an 8.8 fixed point representation as "a kind of a float". That said, those demos are truly impressive.

I'm sure the author is keeping the language simple and approachable while conveying the idea of "decimal number".

Re: Memories – 256 bytes demo winner of Revision 2020

#53
post #9

Tiny binaries probably relied heavily on the native OS's system libraries.

A common complaint on tiny demos. Here the OS is only used for setting graphics mode and setting up a timer. Plus all the boot code of course. Not much really, with 512 bytes you can probably do it on the bare metal, if someone didn't already.

There is even more debate in 4k. After all, most rely on graphics drivers that take hundreds of megabytes. But the thing to understand is that in any case, the intro ships all the code that produces the sound and image. The OS is just an abstraction layer. The exception would be fonts and MIDI instruments, that can be stored in the hardware or OS.

But not all intros have text, "Memories" doesn't. And many intros do their own sound synthesis, though in PC 256 bytes you are usually limited to MIDI or to that horrible buzzer.

Re: Memories – 256 bytes demo winner of Revision 2020

#54
post #32

I am always very impressed when I see these demos and how much can be done with so little. If you are like me you just jumped to Youtube[1] to see it in action. When trying to make my significant other to understand what was happening I wanted to run it myself. I was amazed how simple that was! - Install the assembler[2] - Install dosbox[3] - Get the source[4] and put it into c:\temp\demo\memories.asm - Start nasm an…

For macOS users (with brew):

  brew install dosbox nasm
  nasm memories.asm -fbin -o memories.com
  dosbox
  mount D ~/Development/memories (or whatever)
  D:
  memories
So, almost the same!

Hit FN+Ctrl+F12 to speed it up (it's time-independent, for smoother animations, hit that combination quite a few times).

It didn't output any audio for me, but that's probably fixable.

Re: Memories – 256 bytes demo winner of Revision 2020

#55

Since these are so small I don't see why we couldn't have a "demoscene launcher" with a "mailto:" style protocol handler and just let people click on base64 encoded links to start the demo.

A handler for executing arbitrary code. What could possibly go wrong?

Re: Memories – 256 bytes demo winner of Revision 2020

#56

Earlier quoted context omitted.

It strikes me as odd to describe an 8.8 fixed point representation as "a kind of a float". That said, those demos are truly impressive.

I'm sure the author is keeping the language simple and approachable while conveying the idea of "decimal number".

Trying and not succeeding to keep the language simple. As evidenced by the sibling comment by pjc50. Fixed point numbers are at least as approachable as floating point numbers in my opinion.

Re: Memories – 256 bytes demo winner of Revision 2020

#57

Since these are so small I don't see why we couldn't have a "demoscene launcher" with a "mailto:" style protocol handler and just let people click on base64 encoded links to start the demo.

http://dosify.me should be fairly easy to modify to read the binary from url fragment instead of zip file

Re: Memories – 256 bytes demo winner of Revision 2020

#60

256 bytes is in the "let's try every combination" range, I think. So, write a program that tries all of them and determines if any do something interesting enough to forward to a human for review.

Wouldn’t that be 256^256? That’s certainly a hell of a haystack
Post reply on HN