News:

11 March 2016 - Forum Rules

Main Menu

How were early 8 and 16-bit games programmed?

Started by pianohombre, November 02, 2017, 05:32:58 PM

Previous topic - Next topic

pianohombre

One popular error message I used to get was "Segmentation fault", meaning trying to access restricted memory. Common message usually in loops or variables where a few things are off.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

mikeybabes


Greeting to everyone, I just stumbled on this group for some reason or other, so this is my first posting.

Let me start saying that I was one of those early games programmers, back in 1980 I had my first title released on an 8bit home computers and several more after this time.

So firstly I will only comment on my own experience of 10years+ games programming, that pretty much all titles of this era are written in assembly language, which naturally translates into what's known as machine code. There quite likely is some early titles of days which would not have such luxury and would be written on paper and hand assembled into hex, and thus made into a binary form.

The idea of C didn't exist, and any high-level language would not really cut it in the world of small memory, large video frame buffers, and CPU with simple instruction sets.
Consoles devices just didn't have a kernel as such, so you had to do everything from nothing, with reference documents by manufacturers, after you agreed with a DNA.
Home computers of the time had a form of Basic pretty much a common thing, and many titles simpler in nature text adventure etc could well be done this way.

The original idea about just slotting in graphics never happened, there was no template to work with, and that if you were lucky, there was some kind of reference material.

I put my efforts into 6502, 65c02 and some 65816 (ie SNES).  A lot of graphics tools and utilities, such as a map design, would tend to be written for the project in hand.  Whilst later some useful stuff appeared on the PC in shape of Delux Paint (DP) let's face it a mouse is easier to use to draw with than a joystick!

A lot of the consoles has specialist and expensive developments system, which would be a loan item, or sometimes part of a deal with a project for a contract of development, as the studios started to make cash.  A lot of studios to save contractor costs would build in-house development teams, with the potential of being cheaper to produce titles. (not always for the better)

Myself I used cross development on some home computers for a target device, in case of the C64 computer I re-programmed the BIOS and added my own keyboard keys to jump to a parallel port download from another home computer holding all the assets. Cross development what we called it.

I'd be happy if I get more spare time to answer any other questions anyone would like to pose. As it's a Sunday, and my Son is getting tired of a little midday sleep!

regards to all.





RyanfaeScotland

I'm guessing source code management wasn't really a 'thing' back then in the same way as it is today?! How was multiple people working on one project handled?

KingMike

I'm guessing it was often just one or a few people, and if you needed to share info you stick it on a disk and give it to them?
"My watch says 30 chickens" Google, 2018

Squall_FF8

Quote from: RyanfaeScotland on April 05, 2018, 07:23:04 PM
I've always wondered what the tools for programming were back then? I get that you programmed assembly but was it really just with 'notepad' like editors? Was there at least syntax highlighting!? This is something I've always wondered so if anyone here can shed some light on I'd love to hear it.
Quote from: KingMike on April 05, 2018, 07:52:03 PM
If it was DOS, it was probably a text editor. You open, you type. You hope you don't get mistakes.
You run it through the assembler. It tells you if you got an error, then you go back to the code and fix it and try again. Repeat.

Syntax highlighting? In the '80s? I'm doubting it.
Yeah, developers were siting on branches and waited somebody to give them bananas :D

You might be surprised, but actually the wheel is not invented today. 1983 a little known company Borland starts selling "Turbo Pascal" later known as Turbo Pascal 1.0 (aka Borland Pascal). It contained: "a custom text editor, compiler, and all functionality need to produce executable programs" - pretty much the basic of contemporary IDE. I have to say - much more then 90% hackers around use now!
Later versions add things like breakpoints, step debugging, contextual help,... and of course syntax highlight. Personally I started with Turbo Pascal 3.0 (then 5.5 and 7.0). It had full fledged IDE easy to use and really fast compiler. One of the first things I made was 6502 disassembly. It was compiling for 2-3 seconds. Anyway that is just an example of the fact that IDEs come much earlier.

"Notepad" ... dude do you consider that 'thing' an editor? Back then there were plenty of real editors, that came from Unix or CP/M powered computers, like PE2, E3. One of the trait such editors had was the ability to use external compiler. Even on my 6502 machine (Oric Atmos) I had used a clone of PE2 as an editor for the macro-assembler.
Welcome to the FF5 Den: https://discord.gg/AUqDF85

pianohombre

I like how editors now have line numbers and they color certain known commands for a programming language. One popular editor is PSPad Editor. It's free and has plenty of useful tools for programmers. There's a lot of other popular ones as well. You can do things like "find and replace" if you want to switch a command that's written several or ten times in your program and it's tedious to manually change each command individually. They will also underline common syntax errors before you run it through a compiler.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

mikeybabes

Quote from: KingMike on April 08, 2018, 08:52:08 PM
I'm guessing it was often just one or a few people, and if you needed to share info you stick it on a disk and give it to them?
The technical term we used was sneakernet!
With moderate teams, it often was music supplier by another, and graphics also. with the programmer putting it all together in a manageable form.
Computer networks we becoming a thing when a lot of cross development was done via a PC.