I would have killed for this back when I had an A500. It seemed like dark magic and all I could find was a book on ASM game programming tricks, which was too advanced for me.
I can't remember where I found the documentation for it, but I was able to do some pretty bad-ass stuff with a 68K assembler and an Amiga 1000. IIRC, there was a pointer at a well-known memory location that was the head of a linked list of all the OS libraries, so it was really easy to bootstrap to the point where you could set the screen mode and allocate some buffers for video memory, then you just drew on them like a canvas. The location of video memory was based on a not-quite-turing-complete "script" that the copper(?) chip read -- e.g. when a guru meditation error was showing at the top of the screen, the copper chip script was saying "start reading at 0x2222222 and when the raster gets to row 60 start reading at 0x4444444...". You could do freaky stuff with that script, like draw "pixels" of any of the 4096 possible colors, that would end up being about 8 real pixels wide by one high, which begat raster bars and blocky scrolling text. Ah, but nowadays you can't touch the bare metal, and there's nary an API that does anything but crash when you try to use it in an unintended way.
Actually, I learned 68000 assembly by hex-dumping a freeware assembler to find the full set of OpCodes and some reverse engineering. That, combined with some trial and error (and a few magazine articles that actually had a little bit of ASM {} C), and I was able to do some very cool stuff pretty quickly).
In a sense, Amiga demos were actually open source. Coders wrote in assembly, which is a short step from machine code. As most demos were compressed, it required an additional step to get to the actual machine code before you could disassemble. Alternatively using a cartridge like Datel's Action Replay makes it possible to dump the relevant routines to disk. Granted that reading disassembled code is a little more difficult than the original code, it is enough to learn how various demo routines were implemented.
Oddly it makes me sad, one because I remember it fondly (the BADGE group some of the early demo contests) and it was fun to code them up, but today its not nearly so fun even though you can make things look so much better. Writing code for the Amiga was so much more fun than writing code for the PC. I'd love to figure out how to create such a fun environment again.
I'm nostalgic for those days, I learned assembler and made simple demos and games which lead to a career in video games. But I'm not sad. Look at the current generation. They have game development tools like Unity and Unreal Engine, cheap fun hobby computers like the Raspberry Pi and perhaps most importantly they have the internet; youtube, twitch, forums, chat programs. When I learned to write assembler I had magazines and a book and I was on my own. Nobody else I knew was programming.
Yeah, me too. For me it was the best community ever. They were pro sharing, pro openness but not anti commercial at the same time. Creativity and sharing was high. And the machine itself was way ahead of its time. I really miss it.
There is a Bad Apple on an oscilloscope and a TI calculator so obviously there would be an Amiga version. Not as impressive as the Commodore C64 version which is an insane feat of compression: http://csdb.dk/release/?id=131628
(reminds me of the famous state of the art amiga demo).
Briefly Bad Apple was a sport akin to porting Doom to the most unexpected platform you could think of.
There are still a number of groups making amazing Amiga demos for the original hardware. For example, this is Rift by The Black Lotus (2014): https://www.youtube.com/watch?v=DXDlWHqzSTg
It was this kind of demo-scene programming in which DHH was utterly uninterested in.
"I had a bunch of friends who I loved dearly, but in many ways were exhibiting all the traditional programmer stereotype themes of being just overly focused on things I didn't think mattered and at that time programming perhaps also was a little bit different. Growing up, programming was assembler and C. I had a lot of friends in what was called the ‘demo scene’, which is mostly an European thing where you had all these guys on the Commodore 64 and on the Amiga writing these really awesome visual displays of various kinds, and all that stuff was usually in assembler. I had absolutely zero interest in learning or doing anything with assembler, it just didn't make any sense to me at all.
I only really got interested in programming when I stumbled across languages that made sense to me on the level that makes sense to me, which is at the very least high level languages like Java, PHP, or whatever have you, anything that's above the “I have to dick around with pointers” or I actually have to move memory spaces around; that stuff has absolutely zero interest to me at all.
I didn't start programming until I was in my late twenties, and even then I didn't start programming because I wanted to be a programmer. I started programming because I wanted a few programs. And that was apparently the easiest way to get there because the other way of getting programs is that you actually have to talk to programmers, which is surprisingly painful at times. I found that the easiest way was just to pick it up and learn it myself."
Thanks for the DHH quote. When I first watched the vid, I couldn't figure out what was going on and what the purpose was. The DHH quote was perfectly timed because it explained the context of these types of demonstrations: to make cool looking stuff for its own sake, rather than writing super practical programs.
I first got into programming in high school when I took AP Computer Science. To be honest, I hated it and didn't pick up web development until several years after that experience. I thought programming sucked. I literally said multiple times, "I will never program. This is the worst!" I think there were two reasons for this: the programs I was writing were impractical combined with pressure to perform well in the class. It's tough teaching a beginning programming class because most start at the CLI. Although the CLI is great at helping students learn the basics of programming (e.g., loops, conditionals, OOP, etc.), it still left me wanting more. Back then, I was still at a loss as to how someone would write a GUI program, similar to the programs I used all of the time on a computer, not the CLI "junk" I was writing for class.
Nonetheless, I picked up web development on my own time and the experience has been incredible. I even developed a preference for the CLI in the practical productivity CLI tools afford a web developer (e.g., git, touch, mkdir, ssh, psql, etc.) And I must admit that basic programming skills that I learned in AP Comp Sci gave me a leg up in getting started, thereby making the path to writing practical stuff for the web a lot shorter.
I guess it's kind of vain for me to share my personal story here, but I bet others had a similar experience. If you took an intro programming class in HS or University and you hated it, give programming another shot. This time, you won't have to worry about a grade or writing shitty programs you don't care about. Start a project, get coding, and I think you'll fall in love.
This kind of comment frustrates me. Not the original DHH comment, but the above one. So because DHH didn't like it, we're also obligated to? God forbid people enjoy things! It's a sad cultural meme to go to any post and see the top comment be something that tears down the content.
Putting that aside, I think the DHH comment isn't the full story on demoscene. Demoscene people were interested in those languages because that's where you perhaps could do the most interesting things at the time. Some people still cling to that, and some don't. For example Farbrausch, one of the most famous demo teams, released the tool they were using themselves, called werkkzeug, which was basically a GUI way to generate cool demos that still were tiny and had procedurally generated textures and effects etc etc. Similarly, I've seen a neat demos that use modern tools, a lot use GPUs and shaders these days, but it depends what they're trying to do. Sometimes they want to squeeze all that into a tiny binary - can we have a fully running game engine in smaller size than a jpeg of my face? But a lot of times size isn't a consideration, and it's about how cool of a thing can you do!
One example that comes to mind is Agenda Circling Forth. I think it's very beautiful. I wouldn't hesitate to call it art at this point. Here is a video of it running: https://www.youtube.com/watch?v=L5w7Gh7WBjw
Tens of millions of particles, and in 2010! Very impressive, and you'll notice that almost none of the discussion is about assembly and compilers and bit twiddling.
So what did all this effort accomplish? First of all, fun! I don't think anyone worried about any of this if they didn't think it was enjoyable. Second, a lot of interesting ideas were created and popularized that made their way into the roots of the computer graphics and video game industries of today. And a lot of the people came from there too. A lot of these people work at Unreal, CryTek, etc where they build the engines that power games we play today. Unfortunately I think it's hard for a small demo team today to "beat" the output of years of concerted effort and millions of research and man hours that goes into something like the Unreal Engine. So fun matters more.
I guess there's also an interest in those things because of a "back to the basics" feel. If you want to do any computer graphics today you need tools upon tools upon tools upon languages and it's all a bit too much. Some folks yearn for the days where they can write some code that looks like "top left pixel is green". A bit similar to why people had so much fun with neocities recently.
Anyway, these are my two cents on why people enjoy this. Raining on people's parade is not a nice thing and I keep seeing it happen here.
[+] [-] bemmu|10 years ago|reply
I would have killed for this back when I had an A500. It seemed like dark magic and all I could find was a book on ASM game programming tricks, which was too advanced for me.
[+] [-] 13of40|10 years ago|reply
[+] [-] Jupe|10 years ago|reply
Boy, I miss those days :(
[+] [-] amigo500|10 years ago|reply
Plus using BBSs implied buying a modem and paying for long distance phone calls. Both completely out of my parents' budget.
[+] [-] infodroid|10 years ago|reply
[+] [-] unknown|10 years ago|reply
[deleted]
[+] [-] ChuckMcM|10 years ago|reply
[+] [-] justinhj|10 years ago|reply
[+] [-] peterashford|10 years ago|reply
[+] [-] vanattab|10 years ago|reply
[+] [-] Paul_S|10 years ago|reply
There is a Bad Apple on an oscilloscope and a TI calculator so obviously there would be an Amiga version. Not as impressive as the Commodore C64 version which is an insane feat of compression: http://csdb.dk/release/?id=131628 (reminds me of the famous state of the art amiga demo).
Briefly Bad Apple was a sport akin to porting Doom to the most unexpected platform you could think of.
[+] [-] erickhill|10 years ago|reply
[+] [-] megablast|10 years ago|reply
[+] [-] Flow|10 years ago|reply
[+] [-] infodroid|10 years ago|reply
[+] [-] felhr|10 years ago|reply
[+] [-] Luyt|10 years ago|reply
"I had a bunch of friends who I loved dearly, but in many ways were exhibiting all the traditional programmer stereotype themes of being just overly focused on things I didn't think mattered and at that time programming perhaps also was a little bit different. Growing up, programming was assembler and C. I had a lot of friends in what was called the ‘demo scene’, which is mostly an European thing where you had all these guys on the Commodore 64 and on the Amiga writing these really awesome visual displays of various kinds, and all that stuff was usually in assembler. I had absolutely zero interest in learning or doing anything with assembler, it just didn't make any sense to me at all.
I only really got interested in programming when I stumbled across languages that made sense to me on the level that makes sense to me, which is at the very least high level languages like Java, PHP, or whatever have you, anything that's above the “I have to dick around with pointers” or I actually have to move memory spaces around; that stuff has absolutely zero interest to me at all.
I didn't start programming until I was in my late twenties, and even then I didn't start programming because I wanted to be a programmer. I started programming because I wanted a few programs. And that was apparently the easiest way to get there because the other way of getting programs is that you actually have to talk to programmers, which is surprisingly painful at times. I found that the easiest way was just to pick it up and learn it myself."
Source: http://www.transcribed-interview.com/dhh-rails-david-heineme...
[+] [-] travjones|10 years ago|reply
I first got into programming in high school when I took AP Computer Science. To be honest, I hated it and didn't pick up web development until several years after that experience. I thought programming sucked. I literally said multiple times, "I will never program. This is the worst!" I think there were two reasons for this: the programs I was writing were impractical combined with pressure to perform well in the class. It's tough teaching a beginning programming class because most start at the CLI. Although the CLI is great at helping students learn the basics of programming (e.g., loops, conditionals, OOP, etc.), it still left me wanting more. Back then, I was still at a loss as to how someone would write a GUI program, similar to the programs I used all of the time on a computer, not the CLI "junk" I was writing for class.
Nonetheless, I picked up web development on my own time and the experience has been incredible. I even developed a preference for the CLI in the practical productivity CLI tools afford a web developer (e.g., git, touch, mkdir, ssh, psql, etc.) And I must admit that basic programming skills that I learned in AP Comp Sci gave me a leg up in getting started, thereby making the path to writing practical stuff for the web a lot shorter.
I guess it's kind of vain for me to share my personal story here, but I bet others had a similar experience. If you took an intro programming class in HS or University and you hated it, give programming another shot. This time, you won't have to worry about a grade or writing shitty programs you don't care about. Start a project, get coding, and I think you'll fall in love.
[+] [-] makmanalp|10 years ago|reply
Putting that aside, I think the DHH comment isn't the full story on demoscene. Demoscene people were interested in those languages because that's where you perhaps could do the most interesting things at the time. Some people still cling to that, and some don't. For example Farbrausch, one of the most famous demo teams, released the tool they were using themselves, called werkkzeug, which was basically a GUI way to generate cool demos that still were tiny and had procedurally generated textures and effects etc etc. Similarly, I've seen a neat demos that use modern tools, a lot use GPUs and shaders these days, but it depends what they're trying to do. Sometimes they want to squeeze all that into a tiny binary - can we have a fully running game engine in smaller size than a jpeg of my face? But a lot of times size isn't a consideration, and it's about how cool of a thing can you do!
One example that comes to mind is Agenda Circling Forth. I think it's very beautiful. I wouldn't hesitate to call it art at this point. Here is a video of it running: https://www.youtube.com/watch?v=L5w7Gh7WBjw
Some articles with more technical details: https://directtovideo.wordpress.com/2010/04/19/agenda-circli... https://directtovideo.wordpress.com/2009/10/06/a-thoroughly-...
Tens of millions of particles, and in 2010! Very impressive, and you'll notice that almost none of the discussion is about assembly and compilers and bit twiddling.
So what did all this effort accomplish? First of all, fun! I don't think anyone worried about any of this if they didn't think it was enjoyable. Second, a lot of interesting ideas were created and popularized that made their way into the roots of the computer graphics and video game industries of today. And a lot of the people came from there too. A lot of these people work at Unreal, CryTek, etc where they build the engines that power games we play today. Unfortunately I think it's hard for a small demo team today to "beat" the output of years of concerted effort and millions of research and man hours that goes into something like the Unreal Engine. So fun matters more.
I guess there's also an interest in those things because of a "back to the basics" feel. If you want to do any computer graphics today you need tools upon tools upon tools upon languages and it's all a bit too much. Some folks yearn for the days where they can write some code that looks like "top left pixel is green". A bit similar to why people had so much fun with neocities recently.
Anyway, these are my two cents on why people enjoy this. Raining on people's parade is not a nice thing and I keep seeing it happen here.
[+] [-] PavlovsCat|10 years ago|reply
WinUAE Demo Toolchain 5: http://www.pouet.net/prod.php?which=65625
And here you can find plenty old and new demos for all sorts of platforms: http://www.pouet.net/prodlist.php
Enjoy!
[+] [-] daledavies|10 years ago|reply
https://www.youtube.com/watch?v=0Jdi3I3Ep6k
[+] [-] corysama|10 years ago|reply