Amiga Demomaking - Story of a coder in 100 steps - Part 3 / x

This is the third part.

Still some big things to come, but let's start with some small work I've done in 1991.


Step22 - Making some money with code - 1991

Some times after the first hawk mega demo, someonce contacted me to work on a presenation for a video clip. He saw "Hawk mego demo" and wanted me to create one intro/demo for them. Three guys come at my home and explained my there were doing a video for their school job. The video they were making was about a french company : GIRAVIONS DORAND INDUSTRIES. It is company of telecommunication. The video clip was about military application.
Date was  Oct 1991
It was a paid job. I had to create an "original" intro and some sfx for illustrating part of the video clip.
So I worked on arts and code to create a nice intro (fading in line logo), and I also creating some deluxe paint animations.
I delivered the project and got paid for that job. It was the first time I earned money while programming.
The video clip team hired one video engineer to create the final video. Hopofully he was working with an Amiga. But the worked I delivered was not fine for him because he could not use it. I remember that I went to their video stutio with my source disks. In fact, I forgot one flag (as far as I remember, it was "genlock" flag). So I changed it and compiled again the intro on their amiga. I also remember that the man that was hired to created the video clip said to me "I could also have done this!!" meaning that he would have been paid for this instead of me. Yes of course he could have done it, but someone have smartly thought it would be better to ask someone "creative" to get something a bit different.

A bit early, in end 1990, I also worked on one music routine for someone named Hervé. He asked me to modify the Futur composer routine, and add support for playing sfx on it. He worked on an Atari game named "Antago" and wanted to create games on Amiga with his friends ("Imagex"). This game have also been released on Amiga.

Here is the code for the "Futur composer + Sample sfx play" routine.

Never got paid for this one.

But it was first time I met someone working in the video game industry.


Great demos of that time:

Odyssey by Alcatraz - 28 dec 1991. Absolutly tremendous demo of 43 minutes!



You can also check the 2008 remake.


Step23 - Trainer "MegaPheonix" by "Quartix" - Aug 1991

I coded an intro for a "trainer". This into was a joke because we did not used our real name, but fake name from the group "Quartex". In fact, I seemed to not like them, but I really can not remember why. Maybe I met some Quartex members and had bad experience with them.
This is not the case for Moby, because he is really a nice guy.


Data and source code is here: Trainer_QTX.zip

Here is the video of that intro:



Trainer:

A "trainer" is a special version of a game where you can choose some "cheats". For example you can have infinite lives. Usually a game with a "trainer" start on menu where you can choose options.

How a trainer work ?
To add a trainer to a game you have to modify it. This is quite same principle as cracking. You check the game executable and search for the good lines and modify them.

Let's explain the principle:
1/ Search some memory space that the game is not using. On Amiga, the games often used same locations of the memory (when you launch a game, it is always loading and running at same position in memory). The game do not erase all the memory before using it. That means you can leave some small data and code in memory before the game run.
2/ Check program in the game executable. Even if a game executable is a binary file, you can parse it. You can find "opcodes" or dissassemble the executable. As it was written in assembly, when disassembling code, it is closed to original code. If you search for live decrease for examples, you should search for "sub.w #1, ..." functions. There can be lot in a game so you have to test them all.
Another technic was to use an external cartridge to do the job. For example, the "Action Replay III" had a special function to search for location of data. Load and run your game, press the Action replay button and enter menu. Say how much lifes you have at that point (5 for instance). Then go back to game. Play and loose a life. Back to Action replay and say now how much lives you have (4 now). The cartridge will check all the location that had the 5 values before and not are 4. Usually you can find the exact place where the lives value is stored. You can then modify it, or check into program the exact line where that value is changed.
3/ When you have find the exact place of program that change data (or anything), replace this "opcode" by a jump opcode (using hexadecimal editor). The two opcodes have the same size, so you can directly change into executable binary. For example put operation "JSR 0x100". This means "Jump to Subroutine" at memory "0x100". At this position you can put a small routine that do the trainer work: If user selected "Yes" infinite lifes, then subroutine exit and do nothing. Else it remove one life (original removed line).

You can read a more technical explanation in this thread.

I really do not remember who did the trainer work. I did the intro coding.
You can see the full source code here : TRAINER17.S
As you can see, when changing the options, this change two variables "ETAT1" and "ETAT2" (means "State1" and "State2"). When exiting the intro, these two values are copied at memory $7C010. As I said earlier this is a place that the game will not erase or used. The changed game executable will come and test values at that exact position.

Arts:

The arts are ripped from "Substance" demo. The names are all changed using bad play on words.
"Quartex" -> "Quartix"
"Corto" -> "Cirti"
"Moby" -> "Miby"
"Mack" -> "Mick".
"Toxin" -> "Intox" our friend from Paradox. He is also into game highscore.
"ManKick" -> "Kickman" our friend from Paradox.

Musics:

Music is Moby tune from demo "Sustance".  The module is named "Knulla-kuk!!!" (169 Kb). We only changed the start with the voices "news" and "stuffs". I can not remember who recorded this.

You can find that production on internet under the name:

Mega Phoenix (1991)(Dinamic)[cr Skillion][t +2 QTX]
Mega_phoenix_(1991)(dinamic)[cr_razor][t_+2_quartix]

Original Disk:



Great demo of that time:

Substance by Quartex and Alliance Design



Step24 - Trainer of game "DarkMan" - Sept 1991

Another "Trainer".


"DarkMan" is a game released on 1991 and was about the movie of the same name (Sam Raimi). The game was quite good (fighting and platforming). I met one new programmer Fabrice "Mister M"/"Man Hunter" who was living in the same town, and neighour of one of my past good school friend. Fabrice was from apple2 computer and started coding on Amiga. We decided to create one trainer for the "Darkman" game. I can not remember why :) We coded one nice intro (I guess too nice for "just" one trainer).
Here is the video:



Full code and data here: Trainer_Darkman.zip

Art:

The nice arts have been done by Kreator. The big HAWK logo is really wonderful. In fact it have been done for our next mega demo, but we also used it in that trainer.


Music:

The group "T.S.F" (see previous part) have changed to new group called "Concept". Tebirod is now active member. He nicely composed one music for us.

Code:

I remember having done the code of the intro, but not trained the game. So surely Fabrice have done it. You can see the source code here: TRAINER.S

Trainer texts:

; TRAINER BY ORIENS FROM HAWK
; TRAINER TOO BY MISTER M' THERE CAN BE ONLY ONE HUNTER.
;    dc.b    "                                        "
dc.b    "           IT'S TRAINER TIME            "
dc.b    "          50 % INFINITE LIVES           "
dc.b    "           50 %  START LEVEL            "
DC.B    "          100 %  TRAINER !!!!           "
dc.b    "                                        "
DC.B    " CREDITS GO TO :                        "
dc.b    " code by ORIENS/HAWK and MISTER M/HAWK. "
dc.b    "     trainer by MISTER M and ORIENS     "
dc.b    "       logo drawn by KREATOR/HAWK       "
dc.b    "    music composed by TEBIROD/CONCEPT   "
dc.b    "darkman logo pixelled by  MISTER X/OCEAN"
dc.b    "fonts ripped from rambo and mastercopier"
DC.B    "  fonts on this menu page by METALLION  "
DC.B    " GREETINGS CRAWLING TO OUR FRIENDS :    "
DC.B    "    JOHNNY-B/HAWK (WE THINK TO YOU!)    "
DC.B    "  BISOUS A ACES-TEBIROD-EUREKA/CONCEPT  "
DC.B    "         DINO-TDC-KICKMAN-WOOKY         "
DC.B    "    WINNIE AND INTOX FROM  T.G.M.S.C    "
DC.B    "                RHOD-SCUD               "
DC.B    "JBG(THANK FOR THE CYCLONE'S INVITATIONS)"
DC.B    "CHRIS-WE'LL BE AT THE NEWYEAR CONFERENCE"
DC.B    "            AND NO ONE ELSE             "
DC.B    "    BECAUSE WE HAVEN'T FORGET ANYONE    "
dc.b    "----------------------------------------"

dc.b    "                  HAWK                  "
dc.b    " DON'T THINK HAWK IS AN ILLEGAL GROUP ! "
dc.b    "        WE DID THIS ONLY FOR FUN        "
dc.b    "                                        "
dc.b    "  THIS WEEK, AVAILABLE ON YOUR SCREEN:  "
dc.b    "   DROL FROM BRODERBUND, THE TRAINER!   "
dc.b    "                AH YEAH!                "
dc.b    "                                        "
dc.b    "        IF YOU WANNA CONTACT US!        "
dc.b    "LOOK AT OUR ADDRESS IN OUR 1ST MEGADEMO."
dc.b    "                                        "
dc.b    " ET PUIS,C'EST PAS PARCE QU'ON N'A RIEN "
dc.b    "  A DIRE,QU'ON DOIT FERMER SA GUEULE !  "

Step25 - "The remember collection" - Nov 1991 (unreleased)

I had one project called "The remember collection". I gathered nice amiga demos from the 1988-1989 period. I planned to released them on a 5 disks collection called "The remember collection". The menu has been coded, but I never released the collection.

Here is a picture:


And a video:



Full data and source code:  Menu_RememberCollection.zip
All demos of the compilations: Hawk_RememberCollectionDemosExe.zip

Arts:

Arts from Kreator, Aces, and from Teborid (yes the musician !!).

Aces' Fonts:



Kreator:

Tebirod:

Music:

Musics from Tebirod:
catch the true
let it seek
staryup  (in the full archive)

Code:

Source code: Menu1.S
TODO: Comment

Demos list: (clic on them to see a video)

TODO: Find videos (Run on A500 and find Youtube video)

ATOMIC - Nice music and workbench theme.

ALCATRAZ - Mega demo II - Very nice starfield

ALCATRAZ - Mega demo II - Nice picture and sinus scroll

BALL_DT - May be a clone of trailblazer game

BAMIGA SECTOR ONE - Nice music in the "st-00" pure style.

CBC

CHANNEL42 - Very nice arts.


DEMO_OLYMPIC

THE D.O.C DEMO CODED BY UNKNOWN - Already seen earlier in this text.

EDILWIZE


ELECTRONIC-ART - Nice sampled music

EXTAZY - Acid music.
Their end font looks like the one we created for the remember collection titles.

The Silents - Orgasmatron demo
Dick equalizers :)
Same demo named "Fairlight". May be a mistake.

FIRST_WAVE - Nice music

PHENOMENA - FLIGHT_OF_DREAM

FREDDY - Last 3D Demo

HURRICANE - HEAVYBALLS - Love the music because it is a remix of a C64 game.
Music by "Mad Max" (Jochen Hippel). Cover of "Comic Bakery"  by Martin Galway (C64).
And here is Johnny-B cover: (I also love his version)
 


And here is the best "Comic Bakery" cover, by the faboulous band "Press Play on Tape".



HURRICANE - First demo - Display 100 "bobs"

RAZOR1911 - LIQUID_BOB

MEGAFORCE - Intro
MEGAFORCE1

OUIN
PHR-CREW

PROPHETS - 3D Equalizer

FREEDOM FORCE - SEKA_DEMO - Funny start with a fake seka assembler screen.

Bamiga Sector One - SKYLIGHT

SUNRIDERS - Intro

THE_BAND - Goldorak Demo. With music of the cartoon.  ("Goldorak" in France, "Grendizer" elsewhere). This was one of my favorite cartoon when I was younger.

THE_CHAMPS

THE_EXELLER

THE_FRENCH_LIGHT

THE_MAGNUM_FORCE - Demo
THE-MAGNUM-FORCE. Music is in the same style as "Smoke on the water" of Deep Purple.

THE-NEW-MASTER. The huge bob motion can be changed using the F1 to F10 keys. Music is in the same style as "Blue Monday" by New Order.

THRUST_PHANT

TKT-BS1

Kefrens - TRANSFORMER.  Nice demo with 3D wireframe. Music cover of Greensleeves

UNIT_A - Intro

WOW - World of wonders

ZIGAG - Nice music.



TODO: Dans une version de la source, il y a tout un texte revendicatif sur les groupes pourri (comme quartex) et sur l'industrie du jeu français.

Step26 - Bitmap Font

As you've already understood, the font were drawn by hand in a bitmap.
Here is (from my point of view), one of the best font drawn on Amiga: From artist "Rack". 1991 (
Hungary).


The font have been used in a demo called "Ray of Hope 2" by the group "Majic 12".

Here is the demo:



I got one archive with some font. Here is the link: AmigaFonts.zip (2MB, 328 Fonts).
Here are some examples: (Old fashion style)


You can find much more fonts on Carsten Cumbrowski page: HERE

Step27 - Concept "3d Editor" Intro - Dec 1991

My friends from "Concept" worked hard and presented two nice tools:


"3D Editor 1.1"

"Concept Pattern Packer"

The two tools have been done by "Eureka".

The two tools have been put on a disk and I've coded an intro for it. You can see it here:



Source code and data: Intro_ConceptNeige.zip

Texts:

"CONCEPT PRESENT THE PATTERN PACKER AND 3D EDITOR 1.1  BY EUREKA. CREDITS FOR THIS INTRO : CODE BY ORIENS , MUSIC BY TEBIROD , GRAPHS BY ACES FROM  HAWK. THIS IS THE LAST PRODUCTION OF CONCEPT... IT WILL BE SPREAD AT THE IRIS NYC ON THE 27 DECEMBER 1991 ... HAPPY NEW YEAR AND GOOD PARTY .... TRY TO GET THE BRUNO CARETTE DEMO MADE BY HAWK."

Arts:

Logo by Aces
He also drawn some part of the front elements:
The back mountain have been ripped from the game "Lemmings"
The front ice have been ripped from one loading screen of the game "Driving force".
Usually we do not use so many ripped arts, I guess this intro have been done very quickly.

Music:

The music is called "The unnamable". Module is 120Kb. You can find it HERE.

Code:

Here is the full source code: intro.019.s
The effect on the logo is done using the copper list and changing all logo colors for each line. The logo is composed of 16 colors Differents parlettes have been defined (11) and there are displayed using a small sequencer.

MODULE:       
        DC.L    PALETTE0,PALETTE9    ; Start palette, end palette
        DC.W    200            ;  Time
....

My original disk

Step28 - Scanning videos

I've met Christophe "Elric", one of Kreator friend. He had an amiga and one device for making capture from video source (can remember of the name of that hardware). So we made some tests pluging a VCR recorder, or a camrecorder on Amiga.

This is a funny picture of Kreator (on the left), Elric (bottom right) and me on the back. What is more funny is that the scan of picture took some time, so we had to keep immobile for one minute, waiting for the scan to be finished.
Kreator strangling me.


Our friends, the  Care Bears ("Bisounours" in french)

"Coluche", one of the best humorist in the 80'

"Les nuls", humorists of the 80'. Alain Chabat (on the back) and Bruno Carette (front). Bruno Carette died two years ago. From this session, we decided to create a "Tribute demo" to Bruno.

Step29 - Demo "Bruno Carette" Tribute - Dec 1991

On the 27 Dec 1991, Hawk released a "Tribute" demo to french humorist "Bruno Carette". He was part of "Les nuls" group. This group was leaded by Alain Chabat, a talentued actor and writer.




Here is the demo:



The demo is composed of two parts. It is mainly composed of audio sample from "Les nuls" performances and video captures.

Credits:

Code & Musics: Oriens
Fonts: Manhunter
Digits: Elric

Music:

I've composed both musics. There have lot of voice sample from Bruno Carette. People who know him would easily recognize the performances.
I'm not a real musician, but I got a page on Amiga Music Preservation website! You can see it HERE. I also filled an interview.

"intro de.mod" - 188 Kb
"mod.bruno carette mix" - 256 Ko

Arts:

Pictures are in 320x256 size and 16 colors. Each picture in raw data is 40Kb. Using compression, the picture are about 50% of this size.

Here is some pictures that have not been included in the demo:

Code:

Source code is here: caret004.S
The demo is a "trackmo". There is small message while loading each part.
The picture are packed using a tool (.byt extension, tool should be "Byte Killer". Data and source code are included in file. To uncrunch, only have to jump to the loaded binary (JSR) ). Each picture is unpacked ("decrunched") just before beeing used.

The demo have been presented at "Iris New Year conference" demo party. I still have a "Paid" marked on the disk (surely put when entering the party :) )



Next

Next part is currently beeing written. Some hugggge stuffs inside

You can send question/comments or things you would like to see here at my email: consolecoder@hotmail.com