118
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 ...
93
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 ...
89
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 ...
82
votes
Accepted
Who is credited for the creation of Assembly Language?
According to Wikipedia, the first assembly language, "Contracted Notation", was developed in 1947 by the late Kathleen Booth (née Britten). The language doesn’t look anything like “modern” ...
75
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 ...
73
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. ...
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 ...
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 ...
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 ...
46
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.
...
44
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 ...
42
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 ...
40
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 ...
39
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 ...
37
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 ...
37
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 ...
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 ...
34
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 ...
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 ...
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 ...
29
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 ...
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 ...
27
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 ...
27
votes
Accepted
References for the complexity of the COBOL language
No, COBOL is not complex and didn't require complex compilers.
At least not for COBOL up to 74 (*1) which was the standard at the time of introduction of micros (mid 70s to late 80s). From the ...
26
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 ...
Community wiki
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 ...
24
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 ...
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 ...
23
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 ...
23
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
software-development × 62history × 20
programming × 7
gaming × 7
assembly × 5
basic × 5
apple-macintosh × 5
software-development-kit × 5
emulation × 4
c × 4
graphics × 3
software × 3
commodore-64 × 2
ms-dos × 2
6502 × 2
nes × 2
operating-system × 2
instruction-set × 2
apple × 2
compilers × 2
pdp-11 × 2
software-recommendation × 2
books × 2
source-control × 2
sunos × 2