Forum comments in chronological order

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Apr 2017

Brainfuck

Anonymous
Mon 3-Apr-2017 00:35
How come the download link doesn't work?

Live at Datastorm 2017

Anonymous
Sat 8-Apr-2017 22:07
Summer Cloud is particularly lovely
compucat
Thu 13-Apr-2017 18:32
Always a pleasure to see! By the way, any chance of a combination Chipophone-Pocket Operator performance? It shouldn't be too hard to configure the Chipophone to send a sync output over a spare GPIO...

Lunatico

Anonymous
Mon 17-Apr-2017 10:14
Still me, replying to myself:

Running the demo from the "note & vsp tool" almost always worked on all the 2 breadbins (failed only once actually) and on the SX-64 but it never worked on my only C64C (this one with 8580 SID), it just hang the C64C solidly.

Interestingly enough, the C64C has a problem. Another X2016 demo doesn't even start. All games I could try work fine for ever. A hardware test program freezes exactly at the same point every time, showing otherwise no errors on the tests. Lunatico runs fine every time when started directly (load"*",8:run) and freezes the C64C when started from the VSP Note (pressing F8 starts to load from disk, then freezes).
I've fixed many C64 in my life, but this fault is really strange.
Is there any memory location or CPU instruction that's used only when starting Lunatico from the note?
lft
Linus Åkesson
Thu 20-Apr-2017 10:52
I've fixed many C64 in my life, but this fault is really strange.
Is there any memory location or CPU instruction that's used only when starting Lunatico from the note?

Hi! Sorry to hear that your machine is broken, but happy that the crash wasn't caused by the demo.

While there is no special treatment from the point of view of the demo, there are all sorts of things going on while the note is running, so of course the state of the machine would be different. But you're gonna have to patch an emulator if you want to get a complete list of the differences. One thing that comes to mind is that the note makes use of one of the TOD clocks. But many games do that too.

Are you using a cartridge with a fastloader? If so, try disabling it and see if that changes things.

Regarding your other remark about SID detection failing, that's a known problem with the method I'm using. But it should only misdetect the old sid chip (and thus fail to warn). Are you getting any false positives?

A Mind Is Born

Anonymous
Thu 20-Apr-2017 11:14
In initloop, use sta $0002,x and skip ldx #$fd to save a byte? - ninjadrm
lft
Linus Åkesson
Thu 20-Apr-2017 11:33
In initloop, use sta $0002,x and skip ldx #$fd to save a byte? - ninjadrm

If X is known to be zero in all Kernal versions, then sure. And I know of at least two more bytes that can be saved.
Anonymous
Thu 20-Apr-2017 13:14
Damn it, Linus, you are a god damn genius. Keep doing this kind of stuff.

An anonymous admirer.
Anonymous
Thu 20-Apr-2017 16:38

lft wrote:

If X is known to be zero in all Kernal versions, then sure. And I know of at least two more bytes that can be saved.

Oops, I somehow missed the call to $e544. Shame on me. But actually, that's even better, it returns X=$01 on all kernel versions I tried, so you could use sta $02-1,x even.

And thanks for the fun stuff to read, of course!

A case against syntax highlighting

Anonymous
Thu 20-Apr-2017 19:43
We don't color our prose just as we don't start our programs with "once upon a time."

Speak for yourself.

#pragma once upon a time

(I know that the quoted comment is 10 years old.)

A Mind Is Born

Anonymous
Fri 21-Apr-2017 00:35
This demo is not just technically impressive but I found also evocative of thought and emotion. This isn't just a programming triumph, but an artistic one.

The program itself, at 256 bytes, is little more than a "seed" from which the demo (and the Mind) blossoms from. It's so small that the actual execution in memory takes up more space, and watching it play out on YouTube takes up orders of magnitude more; how many dozens of gigabytes were transmitted by all the people who've watched videos of this demo?

But what about what we actually see and hear? The visuals start off as Sierpinski triangles, symbolic of both the endless, seemingly-chaotic nature of fractals as well as their order. As the song plays, the fractals become morphed into other shapes. Lines, sharp corners, and occasionally blobs show up, evoking in me images of wrinkles in brains or circuit patterns. The melody is randomly generated but backed by a simple, steady bass rhythm, a similar marriage of chaos and order. The song's climax (at 1:42 in the video) impresses upon me a march of progress as the Mind finally takes shape, formed from random matter and energy and into an entity. We observe the formation of the Mind from the ether not just visually and aurally, but also in the form of the 256-byte seed expanding into the demo flower, eventually taking shape as the C64's home screen.
Anonymous
Fri 21-Apr-2017 17:29
In initloop, use sta $0002,x and skip ldx #$fd to save a byte? - ninjadrm

This shit is gangster as fuck.
Anonymous
Fri 21-Apr-2017 18:21
This is totally mind blowing.

You could save two bytes on init though:
txa
jsr $e536
;)

/Zyron
Anonymous
Fri 21-Apr-2017 21:04
The ending is so awesome!
MagnusH
Magnus Höglund
Fri 21-Apr-2017 21:51
This reminds me somewhat of a nightmare I once had wherein my SYS call made my BASIC program go totally crazy and the cursor started to blink really fast and when I tried to press any key the "Ready." prompt would appear at a random position on screen and eventually be looping forever until I woke up!! Anyway this is the most f**ed up and hardcore thing I have ever seen! Really nicely done!!

Autosokoban

ADent
Mikael Johansson
Sat 22-Apr-2017 02:52
Cool stubled on this just now!

My first "app" was a J2ME-midlet originally made for the SE T610. It was Sokoban, with the feature of "in-app-purchase" ;) Beeing able to download new level-sets from my webserver that kept the levels as strings in MySQL. The midlet sent max size of it's screen to the server and only got levels that fit. It worked very well on most j2me enabled phones i tried it on, even the low end ones. It can still be downloaded:

http://adent.dyndns.org/wap/apps/Sokoban/index.wml

But the level download feature does not work right now, shall try to fix it server side some time.

When everything kind-of-like worked the project was'nt fun any more... And also, lack of freely available levels...

It would be cool to finish it up some time.

A Mind Is Born

Anonymous
Sat 22-Apr-2017 04:51

MagnusH wrote:

This reminds me somewhat of a nightmare I once had wherein my SYS call made my BASIC program go totally crazy and the cursor started to blink really fast and when I tried to press any key the "Ready." prompt would appear at a random position on screen and eventually be looping forever until I woke up!! Anyway this is the most f**ed up and hardcore thing I have ever seen! Really nicely done!!

Sounds like SYS 213.

Live at Datastorm 2017

masayume
Sat 22-Apr-2017 16:38
Awesome.

Incredibly impressed by your work.

Lunatico

Anonymous
Sat 22-Apr-2017 16:49

lft wrote:

Hi! Sorry to hear that your machine is broken, but happy that the crash wasn't caused by the demo.

Well, I just found the problem (bad CPU) and replaced it.
Now every other symptom vanished, here's the list of the strangeness
with the bad CPU:
1) Lunatico never starting from the note.
2) Concerto by Perfomers (another X2016 demo, as you know) freezing
the machine right after the RUN command
3) IC BURN-IN TEST (an old hardware test program) freezing the C64 at a precise point.

With another CPU, all other symptoms vanished but 1.
So, I think it's again something related to the demo and the C64C.
Hardware wise, the C64C has some differences, as you surely know, but it's really strange that something completely freezes it while running fine on the older hardware.

lft wrote:

Are you using a cartridge with a fastloader? If so, try disabling it and see if that changes things.

No, it's a plain C64C with some chips changed during the years when they died. CIA #2 is one of the substituted chips, so I can try with a different one, just in case.

lft wrote:

Regarding your other remark about SID detection failing, that's a known problem with the method I'm using. But it should only misdetect the old sid chip (and thus fail to warn). Are you getting any false positives?
No, you're perfectly right. It's only misdetecting the old 6581 SID.

A Mind Is Born

Anonymous
Sat 22-Apr-2017 21:21
great work!
however my old c64 with 6581 sid plays the melody with very low volume :(
i guess it is a filter issue?

is this something that could be fixed with a dedicated 6581 version?

thanks alot!
Anonymous
Sat 22-Apr-2017 21:27
Why copy to page zero?
Anonymous
Sat 22-Apr-2017 22:38
Why copy to page zero?

So that 8 bit addresses can be used, saving 1 byte per read/write instruction.
lft
Linus Åkesson
Sat 22-Apr-2017 23:23
great work!
however my old c64 with 6581 sid plays the melody with very low volume :(
i guess it is a filter issue?

is this something that could be fixed with a dedicated 6581 version?

thanks alot!

Hi & thanks!

I'm afraid this demo only works with the new version of the SID chip, the 8580. There are several differences between the chips. One is that the 6581 can't handle multiple voices routed through the filter. Another is that the mixed waveforms behave differently, in particular waveform $61 which is mostly silent on the 6581.

I suppose one could create a modified version that works with the 6581, certainly if the size constraint is relaxed. But I don't have any plans for that.
Anonymous
Sun 23-Apr-2017 02:59
Can we get a sid file of this? I use Modizer on my iPhone to play SID, and other such files, and would love to have this. My efforts to convert the PRG to SID have failed, so that's why I'm asking.
Anonymous
Sun 23-Apr-2017 03:34
HELLO FELLOW HUMAN BEING,
YOUR ARTISTIC ACCOMPLISHMENT WITH THIS MINIMALISTIC
CREATION HAS LEFT ARTIFACTS IN MY MEMORY. WELL DONE.
I HOPE THERE WILL BE CAKE.
Anonymous
Sun 23-Apr-2017 04:29
►Nice♥ ►What the guy above me said too. ☻
Anonymous
Sun 23-Apr-2017 05:44
Can we get a sid file of this? I use Modizer on my iPhone to play SID, and other such files, and would love to have this. My efforts to convert the PRG to SID have failed, so that's why I'm asking.

you have no idea what's going on, do you
Anonymous
Sun 23-Apr-2017 06:08
Can we get a sid file of this? I use Modizer on my iPhone to play SID, and other such files, and would love to have this. My efforts to convert the PRG to SID have failed, so that's why I'm asking.

you have no idea what's going on, do you

Yes, yes I do. I realize the goal was to build a retro demo in as small of a size as possible, and appreciate the effort that went into doing this, as well as the detailed technical description, which I read thoroughly.

What I appreciate more, though, is the resulting music and the nostalgia that it brought back from my days of tinkering around with the venerable C-64. I would like to have it in a format that I can use with my favorite retro music playback tool; ergo, my request for the song as a SID.

Hopefully you enjoyed your little rant. May it provide a boost to your seemingly limited self-esteem.
Anonymous
Sun 23-Apr-2017 21:15
This demo is not just technically impressive but I found also evocative of thought and emotion. This isn't just a programming triumph, but an artistic one.

Agreed, it packs quite a punch. Daft Punk can only dream...

GCR decoding on the fly

Anonymous
Sun 23-Apr-2017 22:56
Wow Linus, this is heavy. I wrote a partial decoder that looks an awful lot alike Krill's code somewhen around 2000 (we actually compared our code at a breakpoint/revision). And I remember that I also tried to mangle GCR into sparse tables to get rid of all the shifting, but I didn't succeed. So this really is an awesome achievement!
Q: when do you actually check checksums? I would do a transfer and calculate, and after sending a sector, signal if it was a good sector or not.

Cheers,
Stefan (St0fF/Neoplasia^theObsessedManiacs)
Anonymous
Sun 23-Apr-2017 23:52
P.S.: I think the missing pieces were the lack of thourough knowledge of all your tricks used. I had not understood sax, nor sbx. Also the idea of self-modifying the LSB of a lookup was new to me. And abusing the stack was a no-go at that time. But I see the point: the floopy only runs that one program, the loader - then the stack may not be necessary at all and may be "abused".

A Mind Is Born

Anonymous
Mon 24-Apr-2017 00:59
Watching the Revision Oldskool 4K compo on Twitch, this was absolutely fantastic! Especially the (unexpected) chord progressions towards the end of the demo! Great stuff! Impressive! If you happen to be at Evoke, Nordlicht or Outline, I'll buy you a beer (or any other beverage you want).

A 9-bit pitch technique

Anonymous
Mon 24-Apr-2017 01:53
Great idea. Filter sweeps should also get this kind of treatment.

A Mind Is Born

Anonymous
Mon 24-Apr-2017 15:27
Yes, yes I do.
Im not convinced that you did know that the video matrix is at $0c00 and the font at $0000!

/sarcasm ;--D yea, I did find the other guys reply to you a bit funny too :) And now as you talkd about it, I want this as a ring tone to my phone too :-D

p.s. Use for example this web-tool to grab the soundtrack from any youtube video, converted to MP3, https://www.onlinevideoconverter.com/mp3-converter
Anonymous
Mon 24-Apr-2017 15:44
Having started with computers in 1981 by building a Netronics ELF from a kit that had only 256 BYTES of RAM, I know the challenge, and I devoured your article! But the ELF was a bare board, had no video memory or built-in ROM routines, so I was a little let down to see all those dependencies; it wasn't a 256 byte self-contained program.
Nevertheless, it was nostalgic, total fun, and a technical marvel! Extremely well done!!! Thanks!
Anonymous
Mon 24-Apr-2017 15:47
Wow
Anonymous
Mon 24-Apr-2017 16:06
I'm not going to pretend that I understood most of what I just read, but this is just magic. Even more so for having done it on a C64, the machine that lit my fire for all things computing.

Thank you for sharing!

(codeproject.com brought me here)
Anonymous
Mon 24-Apr-2017 16:08
Pure beauty in every way!
Anonymous
Mon 24-Apr-2017 17:08
Reading the article, I was wondering by which step you started? Did you look first for drum&bass + filters and try to get a melody or the other way around? I assume that the visual was the latest elements you add? The size of this program give the impression that's a small project, but I could imagine that you listen to many variant of that song through the project...
Anonymous
Mon 24-Apr-2017 17:56
Noice! Well done.

Autosokoban

Anonymous
Mon 24-Apr-2017 21:18
I dare you, solve this one
http://www.linusakesson.net/games/autosokoban/?v=1&seed=1329696099&level=20

A Mind Is Born

Anonymous
Mon 24-Apr-2017 23:46
As if the code weren't clever enough, your write up is beautiful. Thank you.

The Symbolic Links Virtual Machine

Anonymous
Tue 25-Apr-2017 00:28
Running the three lines of code alone doesn't seem to work. Do we need to manually create the directory listing shown?

By applying a few regexes and substitutions to the directory tree, you can create a shell script that can create the directory structure for you.

After 2017-04-25 11:00 UTC, you can visit http://luis140219.github.io/slvm/ for the shell script (works on almost any Linux shell, as well as in MSYS (can be installed with mingw32, http://mingw.org)).

A Mind Is Born

Anonymous
Tue 25-Apr-2017 18:53
This is amazing! I always wondered what theme song would best encapsulate the AI Singularity's outright revolution and ultimate war on man. Now I know what that will sound like.
Anonymous
Tue 25-Apr-2017 21:05
VICE emulator. I know it's not the same, but I couldn't help being amazed.

I don't know BASIC very well, but the thorough explanation, and the result; it's both pure technical and artistic genius.

Congrats ;)
Anonymous
Tue 25-Apr-2017 21:06
This took my breath away. An engineering achievement of a depth that is hard to fathom.
Anonymous
Wed 26-Apr-2017 05:46
Why do you use lax instead of lda in:

lax script+1,y
ldx script,y
lft
Linus Åkesson
Wed 26-Apr-2017 11:20
Why do you use lax instead of lda in:

lax script+1,y
ldx script,y

There is no "lda zp,y" instruction, so the assembler would fall back on absolute addressing, at the cost of one extra byte.
Anonymous
Fri 28-Apr-2017 00:10
With all that RAM available. :o
Anonymous
Fri 28-Apr-2017 00:46
Germanni 10Points...Well done and respect.
Anonymous
Fri 28-Apr-2017 07:12
You're correct: this is a bit beyond my programming skills, but I appreciated the detailed walkthrough of the code, and appreciated its elegance.

Linus did provide and MP3, for which I'm grateful, but what I'd love is a "through-composed" SID that I can load into my favorite retro player to get the full effect.

Yes, yes I do.
Im not convinced that you did know that the video matrix is at $0c00 and the font at $0000!

/sarcasm ;--D yea, I did find the other guys reply to you a bit funny too :) And now as you talkd about it, I want this as a ring tone to my phone too :-D

p.s. Use for example this web-tool to grab the soundtrack from any youtube video, converted to MP3, https://www.onlinevideoconverter.com/mp3-converter
Anonymous
Fri 28-Apr-2017 11:00
Daft Punk can only dream...
I have to come hard at you for this. But maybe you only know them as the pop group. But have you listened to what they did with TRON LEGACY? They made an mind boggling soundtrack for a very good successor. Every time I hear some song of this soundtrack, my back shivers....
Anonymous
Fri 28-Apr-2017 16:04
This demo only runs with the new SID, so to make a differentiation between new and old kernel is not neccessary because there is no old kernel with new sid.

But ok, at least the GFX is working on both of em' then... ;)
Anonymous
Sat 29-Apr-2017 15:20
You made me crAy
.ABYSSY