I remember wanting to play a Doom-like first person shooter back in my youth and being completely frustrated because the performance just wasn't there. Only the file system portion (dos.library) was written in BCPL (ported from TRIPOS in two or three weeks). Now I add your work to Amiga Artists group! These Boing Ball badges are shrouded in a bit of mystery - at least to me they are. Modern CPU+GPU has two separate pools of RAM linked via the PCIe. I think they started on AAA in 87, and cancelled it or put it on hold probably a dozen times. Running 640x480 4 colour. I recall camping at some relatives that had a waterfall near enough that you heard it any time you were outside. The Amiga can also overlay these screens on top of one-another, letting bits of the lower screens show through the transparent bits of the upper screens. It was a trick? The Amiga graphics architecture was so much above everything at the time... Few years after that I wen into the demoscene and it was horribly difficult to achieve what the copper CPU could do... You had to time scanline readline with devious accuracy, change palette registers in non obvious ways, atc. The sound effect of the ball hitting the correctly pans right and left as the ball moves around. Are you interested? I am extremely disappointed. Every computer of the era ended up with a boing ball clone - it was just that iconic. I have to say, the bouncing version is a lot more impressive. You could "look" at the RAM and it was one way to rip images since you would see the bitmaps of images from the game still in RAM after the reset. The demo looks nice, but it doesn't extend to other shapes or more complicated scenes very well. Coders had to learn to wait on blits as anything else - OS as you moved a window, another app or screen could have got it first. But after Amiga got bought out, the logo was made the rainbow checkmark at that stage. My foggy memory tells me this little badge was the preferred official Amiga logo by the original Amiga engineers. No idea how this was implemented in hardware. The program was written mainly in 'C' (some 830 lines of main program, with about 300 lines for the sound code). At some point a viewer asks "what the heck's that noise?" Also, about a minute into the video is a clip of the ball bouncing, which is a lot more impressive than the static ball in the linked article. I was co-designer of the Lynx hardware system, and I implemented an entire software development suite including a run-time library of hardware interface routines and a celebrated set of debugging, art and audio tools. Just needed to point bitplane pointers above 0x80000. A bitplane is a region of memory rendered as pixels. This was pre-acquistion days by Commodore. Mike Boeh originally had a very impressive one rendered in realtime on the title screen of his game Bugatron. Maybe a better explanation (including source): In this version, the ball actually bounces around. Print; Reference: 1310. A small assembly language snippet provided the sine/cosine calculation code (about 100 lines, most of which contain the sine/cosine lookup table). Any compiled language would have been good enough. increasing the x-offset you could scroll horizontally through a bitplane with a width larger than the screen's. I guess to a degree the current CPU+GPU setup comes close, but that on the Amiga the GPU had priority. The offsets were measured in bits rather than bytes? Yeah, that was a great way to "visualize" chip RAM contents. This was complicated a bit since you only had two scroll registers, one for even and one for odd bitplanes. Think of these strips as Colour1 to Colour30, all of the colours are painted white, except for a few evenly spaced red ones. I really think this limitation was one of the reasons that the Amiga faltered; it was a terrific platform in almost every single way, but it couldn't do first person shooters worth a damn. I don't think that I qualify anyway cause the rules are that it needs to be done in an Amiga whether it is an actual hardware or emulated and I do not  have either. Favorites-Tutorials, resources, and stuffs . :). This way you get animation without redrawing pixels (expensive), but simply by resetting the palette (cheap). [3], [1] https://en.wikipedia.org/wiki/Robert_J._Mical, [2] https://en.wikipedia.org/wiki/Atari_Lynx, https://www.youtube.com/watch?v=-ga41edXw3A&t=26s. To emulate the ball rotating, the Amiga used one of it's other graphical tricks: palette cycling. We use cookies to enhance your experience, analyze site traffic, and for our marketing purposes. Quantity: Availability: In stock . Setting game emulators is easy, computer emulators is another little monster altogether. In its day, that was almost unbelievable. and the demoer pulls down the desktop screen to smoothly, and without glitching, reveal a 320x240 32 colour screen running the Boing demo behind it. Did something like you asked. While i own an A500 (still sitting in the basement) i was too young to really grasp what i was dealing with. Then the ball image (it's referred to as the "globe" in the code) is rendered, segment by segment, and for each segment, each facet of the ball is rendered as 8 strips. Or maybe it wouldn't matter any more with the vast speeds we now reach, I don't know. The demo itself was a very clever demonstration of how it's custom chips could be used to fake an effect rather than to create it with pure processing power. Probably Assembly. This enabled you to write graphics effects with a chunky graphics buffer and then convert every frame on the fly to planar. The bouncing sound: took a platic bat (used for working out 'disagreements') and hit an alumimum garage door while digitizing the interior sound of the garage with an apple II, and masaging the digital data to play on the Amiga. Think of it like moving a slide around on a microscope, you can't see the whole slide at once through the eyepiece, so you move it around. Step. The copper (display co-processor) allowed switching of palette and resolution, with 0 cpu use, on a particular scan line every frame. As an example, the observer would never get the idea that it's done by changing "the beginning of the screen" as the grid background stays on the same place all the time, and just the ball (with the shadow) moves. I had my best night's sleep in years. The ball is in the middle of a large empty bitplane. It's comparable with current CPU+GPU but on a vastly simpler scale. At that time, computer graphics was often a choice between tricks or nothing. That subsurface scattering? :). It might be obvious from the name, but there's also just one bit per pixel in a bitplane, and then you stack five bitplanes to get 32 colors. Why didn't they just go on the internet and download an mp3? After about the second day or so you hardly even noticed. My theory was that it drowned out ambient bumps and crashes that usually wake me up at night. Yes it was a great time in which computers were evolving dramatically into the incredibly capable tools that they are today, I didn't have an Amiga cause my mother had already bought a PC jr for my brother (and even that one was pretty expensive back there) who was studying computer programing at the time and needed a PC compatible computer but if I had been able to afford it I would have also bought an Amiga PC for sure cause I loved it. That is odd. Sell custom creations to people who love your style. Having my dad buying an IBM PC with a CGA monitor, I can't say how much you are right. Ahh, the Boing Ball; a symbol of a golden age of computing. It may not have been done how people think it was done, but it was still an impressive demo of the hardware regardless. Posted: Thu Jun 18, 2009 5:17 pm Post subject: Original Amiga Bouncing Ball - Boing Demo That demo was my introduction to the Amiga. The Amiga hardware allowed you to (basically) define a width and height for the region, as well as a x,y offset. Curiously, on some later A500 OCS models, you could also see that into "slow RAM" expansion module range! It can also move those 'screens' in any direction, and therefore show different bits of themselves on the monitor. It's hard trying to answer this briefly. Oh yes, I missed the Amiga :-) Fortunaltely, the PC took over, so what I've learnt chasing the Amiga is actually useful :-), Yeah me too. Find out what other deviants think - about anything at all. I feel obligated to point out the Amiga documentary. Also note the change of the rotation direction as the ball hits the wall. It's worth mentioning the reveal, which the page omits entirely, and was the astonishing bit of the CES demo at the time. The Amiga had virtual screens that operated a little differently to a modern approach - they could be massive with a monitor sized viewport onto it. By moving the top sheet around, you create the effect that the ball is bouncing around the grid. The Amiga hardware allowed you to (basically) define a width and height for the region, as well as a x,y offset. 28cm and made of PVC. By simply changing the offset values it bounces around the screen. There is a better and longer explanation of this effect in The Future Was There if you are interested. If so we need to agree on a way to send you the files so you can see what I did. The Amiga only supported bitplanes and not "chunky" modes like VGA where you have one byte per pixel. Here's one for the Amstrad CPC, where you can see the ball actually being drawn in all its 16-colour palette glory: And if you notice, only the Amiga Boing Ball was in stereo. Incidentally that tight linking, display coprocessing, along with the DMA channels, and readily available genlock, is why it ended up a niche success in broadcast. That must have been a lot of engineering work. Yep. Draw a row of 32 pixels, each in a different colour. Visualise having a full size browser window, and dragging the whole window down to reveal the desktop, but switching resolution and colours as you go. All setup and rendering operations are performed using operating system functions only. In addition, we developed 6 games to be available at the launch of the system. Fluid dynamics? More details. They could be brought forward and sent back, and dragged (only up and down) to reveal multiple screens at a time. The "boing" name didn't make much sense. PCs were upping colour depth as they aged rather than chasing more speed though. The intersection of people familiar with those terms but not familiar with how this iconic demo works is probably small. Commodore gave us the lousy cost cutting 4000 with IDE not SCSI as follow up. If I remember correctly, the offsets were measured in words (16 bits on the M68k), and then you had scroll registers where you could offset with 0-15 pixels. Painful. Upload stories, poems, character descriptions & more. Fake. Colour cycling can be used with palettes. I like how they came up with the sound for it: Rj is well known but lets not forget dave needle who passed away last year. Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License. Step. It was just a simple assembly program that would offset the pointer to a bitplane based on the mouse vertical movement. The demo automatically adapts to PAL or NTSC, changing the aspect ratio for the background pattern and the ball. And don't even talk about the music , the Amiga soundchip was eaqually powerfull and the soundblaster card, although it could play better sound, was absolutely nowhere to actually mix sound. Recently i learned that the Amiga was effectively two computers in one. It took several years before anything even close became available and by that time the world had moved on. [0]. The graphics hardware does the heavy lifting. http://www.gdcvault.com/play/1023586/8-Bit-8-Bitish-Graphics. It appeared at 0xc00000 for the CPU and 0x80000 for chipset. You could set what got priority. The name Amiga was chosen by the developers from the Spanish word for a female friend, because they knew Spanish, and because it occurred before Apple and Atari alphabetically. It seriously took 10 years or more before a Windows desktop could move stuff around the screen as smoothly, mainly as the Amiga didn't actually move a lot of stuff a PC did. This kind of screws with the memories of some interactions I've had with old fans over the years. https://www.youtube.com/watch?v=cJcO628yCcU. Chip could be accessed by CPU and any of the chips, Fast RAM just the processor for programs and data. Great explanation. Since no one else has confirmed: Yes, the Amiga had HAM mode, and there were various pictures done (generated or scanned) that showed it off. Then bit offsets become completely natural. This made graphics with 256 colors (supported by the later AGA chipset) really slow as you had to do eight writes per pixel. My memory of the era is that no one would have thought they were actually 3d rendering in real time: that was Just Not Possible. All images there are completely static 256 color bitmaps with only the mapping from color index to RGB value changed. Adult, programmer me knows all too well that demos are marketing material, aka "lies you can't be sued for", but really faking 3D rendering is pretty low even by marketing standards. Hope it doesn't come out meaningless! To be honest, it makes me a little sad whenever people choose to use "smoke and mirrors" to create an effect, rather than do the technical correct thing (or admit the effect is impossible to achieve in general). Obligatory link any time palette cycling images are mentioned: And, newly obligatory link to the GDC talk where the artist explains his technique. I'll point out that once they finally, FINALLY made a memory card for the Commodore 64, that plugged into the megabyte-per-second DMA port, there was a similar bouncing ball demo done for the C-64. You had reserved colors to make sure the gui looked the same but you'd get all kinds of strange artifacts when you switched to an application that had a custom palette but you could still see other applications windows. OP version doesn't seem to do any actual bouncing. To make the ball 'rotate' the colours assigned to Colour1 thru Colour30 are shifted one place to left (or right) a few times a second. I produced these 6 titles, was co-designer of several of them, and managed the programmers, artists and audio/music designers." I'll wait for your answer. Purely by loading whole frames into the memory card and blasting them onscreen as needed, like a page flip. Think of the display as a "stack" of monochrome one-bit-per-pixel images. No pixels need to be erased, no polygons rendered. Most early Amiga software was written in it. Here's a short interview with Dale Luck, discussing the Boing Ball. In what language is this animation written? If there were a similar architecture to the Amiga, but with modern complex silicon and design, I'm sure games coders would have dreamed up a few extra effects and tricks. They also created the 3do from scratch. The ball is actually made up of many thin strips of colour. I think there were even some games that worked with HAM mode, awkward as it was. All computer graphics, or at least anything that performs at a reasonable speed, are a "trick". One time for the Workbench massive! When I ended up doing a little Windows programming at work some years later - I couldn't believe how horrible it was compared to Intuition. Not particularly. Your pixels still refer to their respective colours in the palette. One of the fastest was written by Kalms: http://www.lysator.liu.se/~mikaelk/doc/c2ptut/. Nothing else apart from £10,000+ dedicated things like a Quantel Paintbox (who bizarrely still exist) could touch it, especially after the Video Toaster came along. The official logo was really a multicolored check mark but this ball came from a demo that became so popular in the Amiga computers that almost became a mascot for it. this talk is one of my favorites from recent memory, seriously recommend for any graphics enthusiasts. :(. Lets say you have 32 colours in your palette. Just two bitplanes and a smallish area. While on the PC you could switch out the various parts, the Amiga, at least on the A500, A600 and A1200, could not. Back then I didn't even know what those appearances meant, haha. A bitplane is a region of memory rendered as pixels. For a while there was a lot of competition between coders to write the best chunky to planar routine. Now change the palette so all colours are white, except for the first, which is red. The Boing Ball is almost like a second logo for the old Amiga computers that were very popular in the 80's due to their impressive multimedia capabilities at the time. The background is rendered first by drawing lines. Amigas had two types of memory Chip RAM and Fast RAM. The Amiga Boing Ball demo was created during a night at the 1984 CES by Dale Luck and R. J. Mical and it is told that show visitors completely blown away by this. I'd guess BCPL. You're just looking at the same ball, but the window through which you look has moved. For readers following along at home, R.J. Mical [1] was a co-inventor of the Atari Lynx [2]: "Under the auspices of a game company called Epyx I was co-inventor of the first color hand-held game system, the Lynx, which finally was acquired by Atari. Whenever I met an Amiga fan later in life I would picture that demo in my head. The kernel (exec.library) was in assembly, and the GUI (intuition.library) was written in C. Well, whatever it was, it just needed to compute ball velocity, set a few values in a copper list and start audio DMA on collision. The chipset needn't have been the achilles heel if Commodore had not been run by an asset stripping moron at the time. Basically, it's all smoke and mirrors, and please ignore the man behind the curtain. Soft shadows? It was the primary language for demo's and games for the Amiga. The setup for the animation and the background is quite clever and compact.