Jump to content

  • Log In with Google      Sign In   
  • Create Account


game development in the 80s


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 thanous-m   Members   -  Reputation: 102

Like
0Likes
Like

Posted 25 December 2012 - 02:25 PM

what did huge game companies like Nintendo or Sega or Atari or even those awful companies like ljn (shivers) or great companies like konami use to program there games in the 80s?



Sponsor:

#2 Khatharr   Crossbones+   -  Reputation: 2961

Like
1Likes
Like

Posted 25 December 2012 - 02:59 PM

From what I understand it was mostly assembly. I have a book at home by an old NES programmer. I'll post the title when I get back home.
void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

#3 uglybdavis   Members   -  Reputation: 901

Like
2Likes
Like

Posted 25 December 2012 - 03:31 PM

http://skilldrick.github.com/easy6502/

 

knock yourself out kid.



#4 thanous-m   Members   -  Reputation: 102

Like
0Likes
Like

Posted 25 December 2012 - 03:52 PM

thank you so much!



#5 thanous-m   Members   -  Reputation: 102

Like
0Likes
Like

Posted 25 December 2012 - 04:23 PM

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.


Edited by thanous-m, 25 December 2012 - 04:47 PM.


#6 Matias Goldberg   Crossbones+   -  Reputation: 3139

Like
1Likes
Like

Posted 25 December 2012 - 06:33 PM

All in asm. Even in C was very rare.

You may find this interesting.



#7 Olof Hedman   Crossbones+   -  Reputation: 2743

Like
2Likes
Like

Posted 25 December 2012 - 06:50 PM

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.



#8 larspensjo   Members   -  Reputation: 1526

Like
2Likes
Like

Posted 25 December 2012 - 07:16 PM

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.


Current project: Ephenation.
Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/

#9 Ravyne   Crossbones+   -  Reputation: 7116

Like
0Likes
Like

Posted 25 December 2012 - 08:57 PM

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.



#10 Khatharr   Crossbones+   -  Reputation: 2961

Like
0Likes
Like

Posted 26 December 2012 - 06:31 AM

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.


void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.

#11 skuzzbag   Members   -  Reputation: 120

Like
0Likes
Like

Posted 27 December 2012 - 04:16 AM

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!



#12 larspensjo   Members   -  Reputation: 1526

Like
0Likes
Like

Posted 27 December 2012 - 04:25 AM

Nice job with the case!

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.


Current project: Ephenation.
Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/

#13 Sik_the_hedgehog   Crossbones+   -  Reputation: 1606

Like
0Likes
Like

Posted 27 December 2012 - 06:22 AM

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.


Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

#14 Paradigm Shifter   Crossbones+   -  Reputation: 5254

Like
0Likes
Like

Posted 27 December 2012 - 01:05 PM

Where I worked they used PCs running MSDOS 5.0 I think.
"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

#15 JiiPee   Members   -  Reputation: 135

Like
0Likes
Like

Posted 28 December 2012 - 04:05 AM

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.


See my game dev blog: http://gamedev4hobby.blogspot.fi/




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS