Questions tagged [programming]

Programming languages and constructs. Please check for language-specific tags first and use those instead, if applicable.

Filter by
Sorted by
Tagged with
59
votes
5answers
10k views

Why was `!` chosen for negation?

It seems that the use of the exclamation mark ! to denote negation started with the C programming language (as far as I can tell from my google research). Nowhere though is mentioned who and why chose ...
10
votes
2answers
448 views

What was the first programming system to place no limitations on the length of identifiers?

Historically, interpreters and compilers have limited the length of identifiers. For example, FORTRAN I and II considered only six characters to be significant, and LISP 1.5 forbid symbol names to ...
14
votes
2answers
703 views

How much of the Program Segment Prefix area can be reused by programs with impunity?

I am writing a tiny TSR program, and I want it to take as little memory while installed as possible. The memory footprint of every loaded DOS process, including a TSR, includes a data structure known ...
7
votes
1answer
564 views

What was the first compiler/interpreter/assembler to indicate problematic columns in diagnostic messages?

These days, most compilers and interpreters seem to provide the following in diagnostics: A description of the problem The name of the source file A line number A relevant position within the line ...
11
votes
6answers
511 views

Are there any primary sources for the “passing constant by reference” behavior in old Fortran compilers?

Occasionally I have heard references to a peculiarity of certain (old) Fortran compilers, with regards to subprogram argument passing. Here is an example, from an answer to a Stack Overflow question: ...
2
votes
3answers
511 views

M68k Big Endian to Little Endian

I'm trying to write a binary file using vasm68k_mot (Motorola 68k) writing File-Size and File-Offset everything goes well, except that M68K is Big-Endian, there's a way I can change to Little-Endian ...
1
vote
0answers
109 views

Python2.4 Amiga OS M68K restarting system and where to get libs

Just installed python 2.4 on my Amiga os3.9. sometimes when I run a script the machine restarts. Any idea why that may be? It has 030 with MMU, 64MB RAM and 1MB chip ram. All MMU libs are installed. ...
4
votes
1answer
152 views

How were card sequence numbers typically checked?

Although average punched cards had eighty columns, often only seventy-two were used for characters; the remaining eight were ignored by software. Hence arbitrary metadata could be included with each ...
7
votes
1answer
177 views

How did macro-instructions and indirect addressing interact in IBM's MAP/FAP assemblers?

The MAP and FAP assemblers for the IBM 709/7090/7094 had a nice macro facility. I was surprised by its power. (Actually, I guess it is possible that most macro processors at the time were as ...
27
votes
2answers
6k views

How did the “Programmer's Switch” work on early Macintosh Computers?

The early Apple Macintosh computers (original Mac, Mac 512K, Mac Plus) all came with a "Programmer's Switch" installed on the side. I believe this persisted for a long time, with the switch ...
12
votes
1answer
1k views

Who are the people associated with Simula, Assembler and Fortran in this video?

I am watching a recording of a discussion panel ‘Unix50 - Unix Today and Tomorrow’, part of which contains Bjarne Stroustrup’s talk ‘From C to C++’, discussing the history of C++. At 20:46 there is a ...
6
votes
3answers
621 views

Was there anything about the “power of the NES” that made Super Mario Bros. have “realistic physics”?

If you look at older platformers, and even many later ones for other platforms and even the NES, there is typically no "momentum" and "realistic" physics for the main character ...
4
votes
2answers
385 views

Are ECMA and ANSI sister organisations?

ECMA was the body that formalized JavaScript while ANSI was as I understand it the body that formalized much of the early C programming language, what became known as ANSI C. Are these two ...
8
votes
3answers
526 views

Uh, oh, I've woken up in 1973. Can I get a job in computing? [closed]

I've woken up in 1973. Until I can figure out how to monetize my knowledge of coming political, economic, and social trends, I need to support myself somehow. So... I walk into one of the major ...
5
votes
1answer
191 views

Multi-GPU PowerMac G5?

I’ve got a 2005 PowerMac G5, Dual 2.3 GHz with a stock Nvidia GeForce 6600 running OSX 10.4 Tiger that I enjoy experimenting with, purely for fun and to learn writing legacy software in XCode. Would ...
22
votes
1answer
2k views

Where are the sources of the original curses library?

The curses library is a terminal control library for Unix-like systems used in text based user interface applications. It has been used in many games in the past. It was developed by Ken Arnold and ...
6
votes
1answer
161 views

Chaining IRQ's with BASIC & Kernal routines turned off

Having disabled BASIC and Kernal routines I set up an IRQ to run the following code when the raster line reaches 200: .irq1 inc 53280 // change border colour // lda #$ff // clear the ...
2
votes
4answers
734 views

Are there some non-OOP programming languages that does not allow you to make a variable private? [closed]

In the non-OOP programming languages that I know of, you can't make a variable private (i.e. there is no private keyword), but there are some tricks that you can use to effectively make a variable ...
30
votes
13answers
6k views

In what language(s) is the return value set by assigning to the function’s name?

In this Stack Overflow question the original code made the mistake of using the function name as a variable, and assigned the return value to it. A commenter mentioned that he once used a language ...
14
votes
3answers
3k views

When was the phrase “sufficiently smart compiler” first used?

In discussions and arguments about programming language design, one often hears comments about "sufficiently smart" compilers, as in "X needn't be inefficient, since a sufficiently ...
-1
votes
1answer
277 views

How were console games ported to DOS?

Many popular DOS games were ported from video game consoles: Earthworm Jim Mega Man The Lion King The Lost Vikings Turrican 2 Rayman Oscar Zool Video game consoles generally have wildly different ...
11
votes
3answers
577 views

What was the earliest use of |> pipe in programming?

I am trying to find which language used the |> operator first. It's being discussed for use in R, and it's been in OCaml for some years. Did it originate in OCaml? If not, what are its earliest ...
30
votes
3answers
4k views

Why is the ‘auto’ storage class specifier included in C?

The auto keyword in C seems quite redundant: wherever it makes sense to define a variable with automatic storage duration, it is already the default, so there is no reason to use the keyword. The ...
8
votes
1answer
996 views

Why does the Applesoft BASIC have shapes?

Why did Apple include shapes in Applesoft BASIC? There are no sprites on the Apple II, but shapes provide a simple vector drawing tool. As graphics go the shapes are kind of an odd duck, they provide ...
7
votes
1answer
454 views

How did old car games, using “sprite illusions”, function on a technical level?

Example: https://youtu.be/E9QJZSBpvg0?t=80 The road turns not only left and right, like in the classic Pole Position, but also goes up and down. Other than the cars and the road, there are numerous ...
0
votes
0answers
73 views

How to burn CDTV extended ROM image to eeproms

I have a patched version of CDTV extended rom, which I need to burn to 2 chips. I have 2 ST M27C1000 with pin swap adapter (pins 2 & 24 - M27C1001), TL866 mini pro programmer, hex editor and I was ...
2
votes
1answer
274 views

How to get started with writing drivers for amiga OS

I would like to learn how to write drivers for Amiga OS. Seems like a daunting task, but I have spare time and I find great value for amiga (CDTV) community in particular. Currently if a CD ROM breaks ...
51
votes
1answer
6k views

How was collision detection done on the Asteroids arcade game?

In honor of today's landing of and sample collection by the OSIRIS-REx spacecraft on the asteroid Bennu: How did the arcade game Asteroids detect collisions between the screen objects (player's ship, ...
3
votes
2answers
318 views

Is there any documentation for programming Microsoft Windows Sound System sound cards?

I'm programming my own sound mixing engine and drivers for MS-DOS, but I can't find any documentation for programming for Microsoft Windows Sound System interface sound cards. Was there any ...
2
votes
2answers
212 views

Why isn't this invocation of XMS function Move EMB 0Bh in Turbo C correct?

Following on from my last question, I cannot get Move Extended Memory Block (Function 0Bh) working in Turbo C 2.01. The following main.c contains only the minimum functions: get the XMS driver pointer,...
4
votes
3answers
536 views

How can I force Turbo Assembler to use multiple passes when invoked from Turbo C?

I'm using Turbo C and Turbo Assembler 2.01 to write a C wrapper around the XMS interface so I can use XMS memory in real mode, large model. I've started by writing the following: #include <dos.h>...
6
votes
2answers
628 views

How can I malloc() a block that's guaranteed to lie within a single DMA segment in Turbo C 2.01?

I'm following root42's videos about DOS programming using Turbo C 2.01. I've written my own Soundblaster 1.xx driver following the Creative Labs documentation, and I'm confused about memory allocation....
10
votes
4answers
1k views

What were the first BASIC interpreters to be programmed in high-level languages?

I've been continuing to revise and expand the Wikipedia article that I started on BASIC interpreters. One of the criticisms was that it was too focused on the microcomputer era (which interested me ...
5
votes
3answers
345 views

Was this FORTRAN “extension” originated by IBM?

This question has been prompted by a recent question about the assigned GOTO operator. It appears that some early FORTRAN implementations supported a non-obvious construct: using an indexed variable ...
17
votes
2answers
2k views

When did FORTRAN decide on signed integers?

I have personally always been of the opinion that it would make sense for the default integer type to be unsigned, though it's been a long time since that would've been a live issue for debate; C in ...
15
votes
2answers
2k views

Looking for information on a programming language called WhatDoesItDo

I am looking for information on a training language called "WhatDoesItDo". It was used in 1978 at Austin Community College on a Motorola 6800 CPU. If anyone has any information, I would ...
3
votes
2answers
320 views

Is there a way to blank out a portion of a screen on Commdore C64?

I would like to blank out a couple of lines between two given rasterlines. Above that I'm planning to have a scrolling background and sprites, below that is a textual info area. I'm thinking of a ...
4
votes
1answer
244 views

Back in the day, were games coded to run better with more (not faster) RAM? [closed]

Let's say the year is 1999 or something like that. I have a PC with 400 MHz, no graphics accelerator and 64 MB RAM, and try to run some Need for Speed game or something. I notice that it goes laggy. ...
19
votes
1answer
543 views

Was the IBM S/360 Responsible for Popularizating the 'A'-to-'F' Notation in Hexadecimal Numbers?

In the early history of computing before the mid-1960s, there wasn't an universal, de-facto standard for the written representation of a hexadecimal number, different computer systems used their own ...
7
votes
2answers
889 views

How can I programmatically determine whether an Apple II .dsk disk image is a DOS .do image or a ProDOS .po image?

I'm interested in working with the most common Apple II disk image file format, .dsk. (I only programmed these machines briefly in Basic around 1979-81 and have not been in the emulator scene, so I'm ...
3
votes
1answer
108 views

What is the layout of the directory track on a TRS-80 Model I/Model III disk?

I've decided to add support for some more classic Z80 computers I used to use to my Ghidra modules, and the first Z80 systems I used were the TRS-80 model I and model III. I've found documentation ...
9
votes
2answers
1k views

What was the first preprocessor for a programming language?

A preprocessor is a tool that takes source code as input and outputs a modified version of it for input to a downstream tool, such as a compiler or interpreter. Preprocessors can be used to implement ...
2
votes
1answer
124 views

Are there open source Java libraries for reading DSK and EDSK disk image files as used by Amstrad and Spectrum +3 emulators?

I've been working on some modules for the Ghidra reverse engineering tool. Ghidra is written in Java, which I'd always avoided when I was more actively programming so this is an opportunity to learn ...
27
votes
2answers
10k views

What is this programming language having PROC, DCL, LABEL keywords?

A 1980 paper called "Register Allocation via Coloring" contains something that looks like source code: P: PROC(MODE); DCL MODE BIT(1), (A1,A2,A3,A4,A5,A6,A7,A8,A9,A10, B1,B2,B3,...
23
votes
7answers
4k views

Was it possible programmatically to manipulate the volume as well as the pitch on computers with no sound chip?

On early versions of many 8-bit computers like the Apple II, Spectrum, and even the IBM PC, there was no sound hardware other than the simple "beeper". Programmers made sound by hitting a hardware ...
12
votes
2answers
837 views

Did the Commodore 128's Z80 CPU also have full access to the machine's custom hardware?

The C128 was a C64 with an extra CPU as well as extra memory. But the second CPU was a Zilog Z80 while the primary was the usual Commodore CPU, a MOS 6502. The Z80 was there so that CP/M software ...
5
votes
2answers
440 views

How did Microsoft get away with JScript? [closed]

How exactly did Microsoft reverse engineer Brendan Eich's JavaScript, call it something else and not get a massive lawsuit in the aftermath? I understand this was a long time ago but I still wonder ...
9
votes
1answer
550 views

Can you program an arcade game and have MAME or another emu run it?

I know Mame works with drivers for each game or hardware, and it checks for specific ROMs, and I guess it might check also for some checksum to verify the ROMs integrity. Is there some way you could ...
13
votes
1answer
514 views

Did Babbage's Analytical Engine lack indirect addressing?

As I understand it the analytical engine could only refer to memory by variable cards that had the explicit address printed on them, see https://www.fourmilab.ch/babbage/cards.html. For instance the ...
20
votes
3answers
4k views

How were the 70's and 80's coin-op programmed?

How were the 70's and 80's coin-op programmed? What tools did a programmer use? Nowadays a programmer can use a PC, an IDE to program, test, use breakpoint... but in the 80s? How could a programmer ...