top | item 5002605

(no title)

Direct | 13 years ago

> All written in machine code: that's even lower-level than assembler!

Can you clarify? I don't know much about the history of this game or the BBC Micro. But do you mean to say this was written byte by byte by hand? I'm imagining someone typing each individual byte of an opcode here. If so, that's pretty amazing.

discuss

order

jacquesm|13 years ago

It's nonsense, elite was written in assembler. Nobody but masochists were programming directly in hex. The only time I've done it was because there was a quick hack to be done on an apple II and I knew most of the opcodes by heart and how to compute branches. (And the reason for that is that I'd written an assembler). So unless you had no tools you really did not have to program by poking bytes into memory directly. Apropos, BBC basic came with an assembler built in triggered by the [ character.

gillianseed|13 years ago

Yes, although back in my c64 programming days I knew the 6510 opcodes by heart, one didn't actually program by using machine code.

You used an assembler (turbo assembler, those were the days).

assembly: lda #00, sta $d021, sta $d020,

generated machine code: a9 00, 8d 21 d0, 8d 20 d0

Anyone else remember what this would do on the c64? :)

amalcon|13 years ago

That was normally done with a hex editor, but yes, that's pretty much how it worked if you didn't have an assembler.

dasmoth|13 years ago

The BBC BASIC interpreter (present in ROM on all these machines) included a pretty good assembler. There may have been issues putting together a 22kb program with it -- probably had to be assembled in several chunks -- but no need to use a hex editor.