Sign in to follow this  
thanous-m

game development in the 80s

Recommended Posts

what about for the original gameboy or the turbo grafx 16? it doesn't say you can use 6502 it just says BBC MicroAtari 2600Commodore 64Apple II, and the Nintendo Entertainment System.

 

The gameboy used the z80, another very popular 8 bit processor.

I don't know what the TurboGraphics used.

 

One should not forget that these game devices also came with a custom GPU that let you do things like sprites efficiently without much CPU load.

It was nothing like a modern GPU though.

 

And also, that assembler for an 8 bit processor is very much easier to handle then modern asm. You can fit the entire instruction set on a single page, and it was not uncommon to know the hex opcodes for all of them by heart.

Share this post


Link to post
Share on other sites
And also, that assembler for an 8 bit processor is very much easier to handle then modern asm. You can fit the entire instruction set on a single page, and it was not uncommon to know the hex opcodes for all of them by heart.

 

True. I used to program the 6502 by hex code. Still remember a few instructions. That was fun, but a waste of memory today.

 

Only way to update the code was to replace buggy code with a jump to the first free memory, add corrected instructions, and then a jump back again. That was true spaghetti programming. My first game was a Asteroid look-a-like, but using character graphics.

 

I remember the day I could afford an upgrade of the RAM from 4K to 8K.

 

800px-Ohio_Scientific_Superboard.jpg

 

Wow, old memories coming back. I implemented my first programming language at that time, being a Lisp-look-a-like (implemented using the string functions in the built-in Basic). Didn't work very well, due to a memory management in the Basic interpreter that would eventually hang. I complained to the retailer, and they said it was "normal behavior".

 

It was possible to save the binary code to a tape recorder, but I don't remember the details.

Share this post


Link to post
Share on other sites

Even C was almost unheard of until the Playstation/Saturn/N64 -- There was some on the Genesis*, but it was the only early machine that wasn't too register-starved, or otherwise limited, for contemporary compilers to be useful. Even with the option to use C, many devs clung to ASM for long after.

 

*The Genesis had a luxurious 16 registers in its 68000 CPU, the z80 systems like the Gameboy or master system had a workable 8, but word size, memory segmentation, and lack of memory was still a serious hurdle.

Share this post


Link to post
Share on other sites

They book I was thinking of is Core Techniques and Algorithms in Game Programming by Daniel Sanchez-Crespo Dalmau.

 

Looking back over it he just spends some time in the early chapters chatting about the chronology of game development. Most of the book after that ends up begin about 3D graphics stuff, though he does talk about a lot of different things on the way.

Share this post


Link to post
Share on other sites
And also, that assembler for an 8 bit processor is very much easier to handle then modern asm. You can fit the entire instruction set on a single page, and it was not uncommon to know the hex opcodes for all of them by heart.

 

True. I used to program the 6502 by hex code. Still remember a few instructions. That was fun, but a waste of memory today.

 

Only way to update the code was to replace buggy code with a jump to the first free memory, add corrected instructions, and then a jump back again. That was true spaghetti programming. My first game was a Asteroid look-a-like, but using character graphics.

 

I remember the day I could afford an upgrade of the RAM from 4K to 8K.

 

800px-Ohio_Scientific_Superboard.jpg

 

Wow, old memories coming back. I implemented my first programming language at that time, being a Lisp-look-a-like (implemented using the string functions in the built-in Basic). Didn't work very well, due to a memory management in the Basic interpreter that would eventually hang. I complained to the retailer, and they said it was "normal behavior".

 

It was possible to save the binary code to a tape recorder, but I don't remember the details.

 

I'd recognise that computer anywhere - Ohio Superboard or UK101 (in the UK) a computer sold in kit form in the 70s - My mum convinced my dad to buy one :) I never programmed it beyond basic but got into 6502 once she convinced my dad to buy an Acorn BBC-B. Nice job with the case! We actually bought a case to go around it but my dad added a PSU that sat on top and got so hot it required a massive fan which didn't have a cage and affected the video output making it go wavy.

 

I'm not sure if other platforms did this but when Acorn implemented their version of the Basic language they made it incredibly easy to drop in and out of 6502 assembler within the basic program - IIRC it was as simple as putting a control code and then getting on with using the values you were passing in and out.

 

I think that was a big step in getting early coders into assembler easily on the BBC.

 

Personally my first steps in 6502 were disassembling the code for a game until I figured out how the game was drawing the sprites. Due to the fact that computers only had video memory and no buffer to draw a sprite that didn't destroy the background you first had to save the background onto a stack. Draw the sprites, calculate new positions, then draw the background back onto the sprites by pulling off the stack (to preserve any multiple overwrites with other sprites), push the new location backgrounds onto the stack - repeat.

 

That's about as much as I can remember!

Share this post


Link to post
Share on other sites

[quote name='skuzzbag' timestamp='1356603377' post='5014662']
Nice job with the case!
[/quote]

I am afraid the case isn't mine. I got the picture of the board from Wikipedia, as I don't have any picture remaining of my own board.

Share this post


Link to post
Share on other sites
Even C was almost unheard of until the Playstation/Saturn/N64 -- There was some on the Genesis*, but it was the only early machine that wasn't too register-starved, or otherwise limited, for contemporary compilers to be useful. Even with the option to use C, many devs clung to ASM for long after.

 

*The Genesis had a luxurious 16 registers in its 68000 CPU, the z80 systems like the Gameboy or master system had a workable 8, but word size, memory segmentation, and lack of memory was still a serious hurdle.

 

Even in Genesis' case C was generally ignored in favor of assembly simply because of how slow the generated code would be back then (optimizers simply weren't all that good). Also there were some performance tricks that were easier to do in assembly than in C (like abusing the MOVEP instruction to create a list of commands for the video hardware).

 

It'd be more interesting to know what kind of hardware they used to develop games.

Share this post


Link to post
Share on other sites

I have read stories about how they programmed Elite and it was very fascinating. I mean they really took code beyond the capabilities of the platform, which is really incredible. If I remember correctly, they even made multiply and division calculates with natural logarithms to save some memory. One can only wonder how much we could save resources on modern platforms if the code would be that optimized.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this