First console and computer not progammed in assembly?

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Post Reply
Wall_Axe
Manic Miner
Posts: 492
Joined: Mon Nov 13, 2017 11:13 pm

First console and computer not progammed in assembly?

Post by Wall_Axe »

Does anyone know the first computer and console where most developers used programming languages of a higher level than assembly? e.g. C
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: First console and computer not progammed in assembly?

Post by Ralf »

PC :) Around 1992-1994 I guess.

I recall that even quite advanced consoles like SNES and arcade games from the early 90s were still programmed in assembly.
User avatar
Joefish
Rick Dangerous
Posts: 2041
Joined: Tue Nov 14, 2017 10:26 am

Re: First console and computer not progammed in assembly?

Post by Joefish »

http://en.wikipedia.org/wiki/History_of ... _languages

The first 'high-level' language that had a proper compiler (i.e. wasn't just a theoretical language you compiled by hand) was FORTRAN, developed at IBM in 1954.

The first one designed around the English language (for non-mathematicians to understand) was FLOW-MATIC, developed by (Admiral) Grace Hopper in 1955 for the UNIVAC, which evolved into COBOL (US DoD 1959) and ALGOL (ETH Zurich, 1958). COBOL used more English words to describe instructions; converesely ALGOL ('ALGOrithmic Language') introduced more engineered program structures like code blocks and local variables, based around a stack. This was a big influence on later structured programming lanugages like Pascal and C.
In-between was John McCarthy's LISP (LISt Processor, 1958), a language designed for applying algorithms to structured data.

There were loads of others developed around that time, but FORTRAN was the first to have a working compiler and FORTRAN, LISP and COBOL are still in use around the world.

Other than a few specific examples (IBM on whatever their machines were at the time, and Grace Hopper's UNIVAC), you can't really say which actual computer got a language first, as the whole point of these languages was that they were independent of the hardware; the code you wrote coud be carried from one machine to another, so long as there was an appropriate compiler for that machine. And the compilers would have been written in assembly, based on the language specification.
AndyC
Dynamite Dan
Posts: 1388
Joined: Mon Nov 13, 2017 5:12 am

Re: First console and computer not progammed in assembly?

Post by AndyC »

Ralf wrote: Fri Feb 23, 2018 9:38 am I recall that even quite advanced consoles like SNES and arcade games from the early 90s were still programmed in assembly.
I think the SNES Dev kit included a C compiler, so it was certainly possible to do and I'd be unsurprised if at least some Megadrive games were written in C to at least some degree. They probably would still have had some chunks of hand constructed assembler in places though. 16-bit machines in general were probably on the verge of being viable targets for that kind of approach (and sacrificing performance may have been worth it if the game was cross platform)

Once you got to 32-bit machines, I think you'd have been far more likely to have gone to a pure high level language approach.
AndyC
Dynamite Dan
Posts: 1388
Joined: Mon Nov 13, 2017 5:12 am

Re: First console and computer not progammed in assembly?

Post by AndyC »

Joe makes a valid point though, if you were writing business software and not games it would be much, much earlier.
Wall_Axe
Manic Miner
Posts: 492
Joined: Mon Nov 13, 2017 11:13 pm

Re: First console and computer not progammed in assembly?

Post by Wall_Axe »

Deluxe Paint seems to have been written in C.
I doubt Amiga games were though :)

Although I'm wondering if Amiga games were written partly in C
User avatar
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: First console and computer not progammed in assembly?

Post by Kweepa »

Depends what you mean by 'most developers' too :)
In the late 70s/early 80s most developers would be using BASIC to write games. Possibly with some short assembly routines. As the software market matured, of course, professional games went 100% assembly.

Also, games on mainframes in the 70s were generally written in C.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: First console and computer not progammed in assembly?

Post by Ralf »

Deluxe Paint seems to have been written in C.
I doubt Amiga games were though :)

Although I'm wondering if Amiga games were written partly in C
Actually Amiga had a high level language which was used to write many games and I would say it was much popular than C for this job. It allowed a very decent quality of games. It was called AMOS:
https://en.wikipedia.org/wiki/AMOS_(pro ... _language)

Some very incomplete list of games made with it, I would say there were much more:
http://www.mobygames.com/game-group/games-made-in-amos
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: First console and computer not progammed in assembly?

Post by bob_fossil »

Wall_Axe wrote: Fri Feb 23, 2018 5:13 pm Deluxe Paint seems to have been written in C.
I doubt Amiga games were though :)

Although I'm wondering if Amiga games were written partly in C
Some early Electronic Arts games such as Archon and Arctic Fox used a copy protection system written in C which, ironically, made it harder to crack as the resulting compiled assembly was harder to trace through and follow than hand written 68000 assembler. :)

http://www.softpres.org/wip:2004-02-20#electronic_arts
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: First console and computer not progammed in assembly?

Post by Nomad »

Fig forth was designed to run on the metal. Running with the target's rom was just an option. Pretty much any cartridge forth would have been running its own OS. Anything you wrote would have been in Forth or Assembly. (odds are it would have been a mix - you write the utility/low level words in assembly for speed of execution, and the high level words are written in forth.)

The Forth user group were sending out listings of fig forth since the latter part of the 70s and judging by Forth Dimensions programs were being written at least from 1976 in forth.

Atari used Coin Op Forth in house (A version of Fig Forth but with Atari specific add ons like a usable block editor that could also use files (Like ValForth), could use graphics and sound. , not sure how many applications/games got written with it but looking at the size of the manual for an internal program it must have been pretty widely used within Atari to get so much love to write a huge manual with multiple versions.

Guys have been writing Lisp applications forever, that is even more of a 'religion' language than Forth is. :lol: You can say on microcomputers/S100 bus people were using Lisp as long as they were using Forth (so late 70s onwards).

No love for COMAL? That was a flavor of the month language back in the day. :lol:
Action! was also a popular dev choice on the Atari.

Don't forget LOGO :lol: there is a 3 volume book set where a fella shows that logo can write programs for all features of a comprehensive computer science degree. So in theory you could use logo to do almost anything. I saw logo programs in the 80s so deffo it was being used. Not sure if there were commercial release of stuff written in Logo though.

PLATO had its own language for writing the lesson screens. That system has been around since the mid 70s. There were thousands of applications written for it.

One of the most impressive projects was the Lisp machines. These things ran lisp on the bare metal, and had a full GUI operating system, and applications. But they cost a fortune. (Kind of like someone saying 'Yea I am going to buy a NeXT computer, I got $6,500 burning a hole in my pocket (in today's money that's more like 13k)..')

I should add that Forth optimized computers were developed but for whatever reason these machines stayed in a 'research' ghetto. (with the exception of dragon 32)
User avatar
PeterJ
Site Admin
Posts: 6854
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: First console and computer not progammed in assembly?

Post by PeterJ »

There was the Jupiter Ace which used Forth and although the machine could not be considered a success it did run much faster than BASIC.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: First console and computer not progammed in assembly?

Post by Nomad »

PeterJ wrote: Sat Feb 24, 2018 8:31 am There was the Jupiter Ace which used Forth and although the machine could not be considered a success it did run much faster than BASIC.
Yea I was being a potato - when I said Dragon 32 I should have said Jupiter Ace. :lol:

Hector HRX. Cannon Cat also 80s examples of Forth microcomputers. But in fairness I think a Jupiter Ace that had a price point of multi thousand dollars like the Cannon Cat would have been a killer development system.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: First console and computer not progammed in assembly?

Post by Ralf »

Jupiter Ace was a commecial fail because it was released AFTER Zx Spectrum, yet it was a machine at the level of ZX81 with it's black and white graphics capabilities.

Speaking of Basic, actually Basic doesn't need to run as slow as it did. Let's be honest, the existing Basic implementations were far from perfection. Spectrum Basic was still good, compare let's say C64 Basic where you couldn't draw a line or circle.

But I believe it would be possible to make a Basic that you run let's say 4 times faster as existing one. And would have support for sprite drawing which would enable doing much more advanced games.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: First console and computer not progammed in assembly?

Post by Nomad »

That is true, just look at what you can do with MSX Basic. With a well though out system design and not skimping on hardware you can have a pretty kick ass microcomputer.

I think what crippled a lot of the microcomputers released for the UK market was they were often rushed to market and created on a shoestring. If there were more time for the development then sure you could have had more time to develop better Basic or more creativity with the hardware. But when the price point was already so low I guess a lot of corners had to be cut to meet the budget specification. And they were rushing to market.

When you look at machines that had decent development budgets, realistic hardware specifications vs features. It is a different story. Again MSX is a great example.

You didn't need to spend a fortune either, Atari managed to create an outstanding system with the 800. But they had some of the best people in the business working for them at the time so it makes sense they could hit a home run. To be honest its a shame the Atari didn't take off more in the UK like it did in Poland. Perhaps they have better taste in your neck of the woods :lol:

But even if you had a very high price point to enable good hardware choices, you still had weird issues like the Apple II having such a weird display. With all the money they had it was still an idiosyncratic machine.
User avatar
PeterJ
Site Admin
Posts: 6854
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: First console and computer not progammed in assembly?

Post by PeterJ »

Ralf wrote: Sat Feb 24, 2018 10:34 am

But I believe it would be possible to make a Basic that you run let's say 4 times faster as existing one. And would have support for sprite drawing which would enable doing much more advanced games.
I keep meaning to have a play with the HiSoft Colt compiler. It has sprite support too:

https://spectrumcomputing.co.uk/index.p ... 96&id=8254
AndyC
Dynamite Dan
Posts: 1388
Joined: Mon Nov 13, 2017 5:12 am

Re: First console and computer not progammed in assembly?

Post by AndyC »

Ralf wrote: Sat Feb 24, 2018 10:34 am Speaking of Basic, actually Basic doesn't need to run as slow as it did. Let's be honest, the existing Basic implementations were far from perfection. Spectrum Basic was still good, compare let's say C64 Basic where you couldn't draw a line or circle.

But I believe it would be possible to make a Basic that you run let's say 4 times faster as existing one. And would have support for sprite drawing which would enable doing much more advanced games.
Compared to Sinclair BASIC? Easily. Even machines like the Amstrad CPC run rings around Sinclair BASIC, despite there not actually being that huge a difference in CPU grunt (and certainly not enough to account for the much larger display file). The Spectrum's implementation was mostly crippled by being based on the ZX81 version (which was optimized to squeeze into just 8K) as well as space being reserved to put the Microdrive code into it, though that ultimately never happened due to delays.

SAM Basic was supposed to be pretty good, with support for using the full 512K memory as well as commands for doing things like palette changes on specific scan lines and some primitive sprite-like drawing capabilities. And, again, that was on a machine which wasn't all that much faster than a Speccy.
Post Reply