Hacker News new | ask | show | jobs
by dspillett 261 days ago
> yet from pure curiosity I picked up 6502 CPU(Apple 2, Commodore 64, NES) assembly as a hobby project.

I cut my programming teeth on an Acorn Electron (a somewhat cut-down BBC Micro) then later a Master128. The fact that the BASIC ROM included a decent multi-pass assembler was great for learning the deeper workings of the machine and such things in general. Being able to easily mix BASIC and assembly provided good lessons wrt choosing where optimisations were worth bothering with and where you should just stick with BASIC to save dev time. Those machines were also based around variants of the 6502.

2 comments

As well as mixing Assembly into BASIC, BBC BASIC allowed you to use its internal routines from Assembly. You could, for instance, use the floating point routines.

So the BASIC ROM was not a lost 16KB of address space if you were only using Assembly.

Aye. The graphics primitives, and just about everything else, too. A lot of thought went into making those machines conveniently programmable which made them great for both learning and tinkering.

Though the main two reasons I had for assembly were faster maths loops and graphics (via direct access to screen memory including, on the Master, the shadow screen for double-buffered drawing), so neither of those parts where sometime I called much.

This was the most annoying thing about the Commodore machines, frankly. Lack of out of the box tooling for working in 6502 assembly. I had a VIC-20 and quickly hit the limits of its BASIC and started having to POKE 6502 machine code to RAM to do useful things, by reading opcode tables for the processor -- because growing up my parents simply could not afford to go buy me an assembler cartridge for the machine.

Was always jealous of people who had that available to them, and that it was built into the BASIC of the BBC machines is pretty cool. Even the monitor program built into the Apple II was superior.

> because growing up my parents simply could not afford to go buy me an assembler cartridge for the machine

I was lucky in that my elder bother did the research and my parents (who paid for the things at the time) saw the wisdom and spent the extra on the Acorn machines, that were best educationally (while falling behind considerably wrt the availability of games, despite being more than capable enough alongside other popular machines on the market), despite the extra cost (which for my parents at the time, though I didn't realise it back then, was a very significant issue).

That sort of “investment” in us kids, and general encouragement of our interests, by our parents did a lot for us, me in particular (by luck rather than favouritism: I was just the most techie minded of me and my brothers, they invested in my younger brothers interest in music too), long term. They didn't have much, but they made every effort to make the most of it for us.

The monitor built into the C128 was a big step up. Not as good as an assembler since it didn't have labels, but you could do a lot with it.