119 votes
Accepted

Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?

One use is as a copyright mechanism. Many distributors would steal/copy programs and sell pirate or derivative copies, by changing the text strings inside the code and reordering the blocks, it was ...
user avatar
  • 1,204
90 votes
Accepted

Did Apple not originally allow anyone to develop software for the Macintosh?

This is most certainly a myth. There was no conspiracy by Steve Jobs or Apple to prevent third-parties from engaging with the ecosystem that would eventually flourish for Classic Macintosh ...
user avatar
  • 56.8k
87 votes

Back in the late 1980s, how was commercial software for 8-bit home computers developed?

It varied. There was no single method. Some people used assemblers on the target machine, others used cross-development tools. As an example of a large product for an 8-bit machine, I worked on the ...
user avatar
  • 7,684
72 votes
Accepted

How were the first ZX Spectrum games written?

Interestingly enough, I stumbled in a related article, that hints firstly the (cross)development at Sinclair was made on CP/M machines, (which corroborates the Matthew Smith Manic Miner development in ...
user avatar
71 votes

Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?

The NES was also from the era where some sound and graphics resources were also executable code. (Typically, this worked the other way around. Identify a needed sound and listen to chunks of the ...
user avatar
  • 1,099
70 votes
Accepted

Who is credited for the creation of Assembly Language?

According to Wikipedia, the first assembly language was developed in 1947 by Kathleen Booth (née Britten). The language doesn’t look anything like “modern” assembly though (see the end of this paper); ...
user avatar
  • 95.7k
70 votes
Accepted

How did Woz write the Apple 1 BASIC before building the computer?

TL;DR: As explained on Steven Weyhrich's great and authoritative Apple II History Site, Wozniak simply sat down and wrote his Integer-BASIC (*1) on paper, while assembling it at the same time by hand. ...
user avatar
  • 168k
56 votes

How were the first ZX Spectrum games written?

This is quite a wide-ranging question. There are some resources online which help: Jonathan Cauldwell, author of various Spectrum hits, has a How to write games for the Spectrum" guide, which ...
user avatar
54 votes
Accepted

Which original retrocomputer OS's are still maintained and updated today, for original hardware?

My previous research into retrocomputer OS updates has led me to the following list. For each retrocomputer OS, the date and version of the latest update released at time of posting is included. The ...
user avatar
  • 56.8k
41 votes
Accepted

How can I create a split-scroll effect in an NES game?

This is done by changing the scroll mid-screen. This is what the nametables look like on scanline 30 in Super Mario Bros, with the scroll shown: The horizontal scroll is 0 (you can barely see the ...
user avatar
  • 5,074
41 votes

When did assembly source code begin to be written in lowercase?

It changed when people learned that a) they HAD lowercase, b) typing in uppercase is a pain in the neck, c) that it doesn't matter what case it's in. It's just the natural progression as capabilities ...
user avatar
  • 10.9k
39 votes
Accepted

What caused the demise of BASIC/BASICA in the late 1980's?

In my view, the brief popularity of BASIC in the 1980s is directly related to the popularity of Javascript today - Simply, it's the Runtime that is Everywhere. That is what BASIC was back then. ...
user avatar
  • 56.8k
39 votes
Accepted

How did people program for Consoles with multiple CPUs?

It varies machine to machine; at the simplest end is the Neo Geo — its 68000 and Z80 have completely independent buses. You write one program for the 68000 and one for the Z80 and a single pipe of ...
user avatar
  • 32.4k
38 votes

How did Woz write the Apple 1 BASIC before building the computer?

One thing is certain: Steve Wozniak was very good at hand assembling 6502. Instead of writing assembler mnemonics he could simply type in the necessary hex code. I realize this isn't a proper answer ...
user avatar
37 votes
Accepted

What was the first mainstream advanced debugger?

The "Basic Programming" cartridge for the Atari 2600 came out in 1980 and it supports all of those except the first one. It had windows for the program, stack, variables, and output which could ...
user avatar
  • 27.4k
36 votes

Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?

I'm just speculating here, but one possible reason for using a 2-byte NOP would be if you wanted to change an existing 2-byte instruction into a NOP (to fix a bug, for instance), without changing the ...
user avatar
35 votes

Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?

A mistake? The instruction $89 on the 6502 is a two-byte NOP. Based on adjacent instructions in the opcode matrix, especially LDA #ii ($A9 ii), it would have been STA #ii, a store to an immediate ...
user avatar
33 votes

Did Apple not originally allow anyone to develop software for the Macintosh?

The premise of his argument was that Apple could have ruled the world with the Macintosh (as in, Windows/IBM Compatibles wouldn't have had a 90% or whatever market share) but Steve Jobs was just too ...
user avatar
  • 10.1k
33 votes

Back in the late 1980s, how was commercial software for 8-bit home computers developed?

This had a lot of drawbacks, like the limited screen size, the slow Disk I/O, the limited RAM needed for the tools and your own code, etc. Those are just drawbacks of having a slower or less capable ...
user avatar
  • 34.3k
33 votes

Late 1970s and 6502 chip facilities for operating systems

The simple answer is that early operating systems for the systems you mention did not provide those features. Apple DOS, for example, makes no use of interrupts, and has no concept of processes or ...
user avatar
  • 9,396
29 votes
Accepted

Late 1970s and 6502 chip facilities for operating systems

For "home" computer systems such as the Apple II, the "operating system" wasn't anything like a modern one with processes and device drivers and so on; by the standards of modern ...
user avatar
  • 21k
25 votes
Accepted

Was there a 'git' in the 1990s?

You are nuts, unfortunately. The thing that's now called Git didn't exist at all until Linus invented it after experience with BitKeeper, and thinking about distributed version control. Linux didn't ...
user avatar
  • 2,213
24 votes
Accepted

Which BASIC interpreters support techniques for hybrid programming in Assembly?

BBC BASIC: inline assembly First one that comes to mind would be the BBC BASIC family. Beside many great features to access the OS, Assembly code could be directly inserted. It would be assembled ...
24 votes

When did assembly source code begin to be written in lowercase?

I guess there is no straight answer, as it's a fuzzy move spread across a long time, many machines, OSes and applications. Also, with each generation, systems usually start out with only one case. If ...
user avatar
  • 168k
23 votes

Did Apple not originally allow anyone to develop software for the Macintosh?

The first set of Inside Macintosh books was about 1000 pages of documentation covering everything you needed to write a Macintosh application, and was available from the beginning. It didn't only ...
user avatar
23 votes

Who is credited for the creation of Assembly Language?

As an addition to Stephen's extensive list, Zuse's 'Planfertigungsteil' (a modern translation might be Program Manufacturing Device) as implemented in 1942-1945 for the Z4 computer might be worth ...
user avatar
  • 168k
23 votes
Accepted

Was it feasible to create Win16 software using pre-existing DOS development tools?

Windows executables are in NE format rather than the MZ format used by DOS, so a developer would need a toolchain capable of generating files in that format. Windows functions are not accessed by ...
user avatar
  • 5,882
22 votes
Accepted

Retrocomputing software development process/methodologies

From a UK/Z80-based perspective: More than a few games were published using little more than a ZX Spectrum, a tape recorder, a copy of The Complete Spectrum ROM Disassembly borrowed from the public ...
user avatar
  • 17.2k
22 votes

Back in the late 1980s, how was commercial software for 8-bit home computers developed?

So, nowadays, you'd have to be crazy not to use a PC and some nice cross-development tools when targeting these old machines. To start with, I still like to use my IIgs (or IIc-plus) when coding for ...
user avatar
  • 168k
22 votes
Accepted

Did CP/M support custom hardware using device drivers?

The answer depends on the version. CP/M 2.2 did not support any loadable device drivers. There simply was no provisioning to do that. Originally, the in-built device drivers were limited to storage, ...
user avatar
  • 28.3k

Only top scored, non community-wiki answers of a minimum length are eligible