Skip to main content

Questions tagged [programming]

Programming aspects of retro systems and historical programming languages. Please check for language-specific tags first and use those instead, if applicable.

Filter by
Sorted by
Tagged with
6 votes
2 answers
734 views

Flash border color during Kernal LOAD routine

I would like to use the Kernal's LOAD routine to load a file into memory, because that seems to be the easiest way to do it. However, that LOAD call is synchronous in the sense that it returns once ...
Cactus's user avatar
  • 2,810
23 votes
1 answer
6k views

What happened to MODULA-2?

I studied at the Federal Institute of Technology Zurich or ETHZ in Switzerland, where Professor Dr. Niklaus Wirth developed MODULA-2. What happened to his project?
CEO tech4lifeapps's user avatar
17 votes
3 answers
2k views

Why can't I invoke the next interrupt service by incrementing the AX register after calling the same interrupt?

I have two snippets of 8086 assembly code, both of which are supposed to do the same thing: make the mouse appear on the screen. Show_Mouse: push ax mov ax,0 ;Reset Mouse int 33h ...
puppydrum64's user avatar
  • 1,668
19 votes
3 answers
5k views

Which language had the first scanf?

As a companion to the question "What was the first programming language to have 'printf'?", which language had the first scanf? It doesn't have to be literally called scanf, but I am looking ...
DrSheldon's user avatar
  • 16.6k
5 votes
1 answer
591 views

Why does the ‘Get Next Selector Increment Value’ DPMI call exist?

In DPMI, interrupt 0x31 services 0x0000 and 0x0100 are capable of simultaneously allocating multiple protected-mode selectors in a single call. When that happens, both services return only the first ...
user3840170's user avatar
  • 24.9k
23 votes
2 answers
3k views

How can a protected-mode Watcom C program access memory that a real-mode interrupt service returned in a segment:offset register pair?

I'm using Open Watcom 1.9 to write some 286 real mode, and 386 protected mode software for DOS in C. In real mode, I can retrieve a pointer to the system ROM character bitmaps in real mode using int ...
knol's user avatar
  • 12.8k
17 votes
1 answer
3k views

What was the first programming language to use `+` for string concatenation?

Many reasonably modern programming languages (Java, Python, C++, Ruby) use + to represent string concatenation. "A" + "B" is the string "AB". Languages with a more ...
Silvio Mayolo's user avatar
13 votes
2 answers
3k views

What really prevented PC games from using hardware scrolling on CGA

According to https://en.wikipedia.org/wiki/Adaptive_tile_refresh: CGA (the previous generation of PC graphics hardware) lacks features for scrolling in hardware so PC games started featuring ...
DmytroL's user avatar
  • 2,674
3 votes
1 answer
950 views

Why were procedure parameter specifications optional in the ALGOL 60 Revised Report?

In Algol 60 procedure declarations, the 'specification' part was optional for by-name parameters. The specification is what gives (loosely speaking) the type of parameter - whether it's real, integer,...
dave's user avatar
  • 38.2k
5 votes
1 answer
277 views

Which extant ALGOL-60 compilers fully support numeric labels?

This question is prompted by a related one by texdr.aft. It turns out that the Revised report on Algol-60 allowed numeric labels (3.5.1, page 15), <label> ::= <identifier> | <unsigned ...
Leo B.'s user avatar
  • 20.7k
17 votes
4 answers
4k views

Why does Pascal have numeric labels?

Pascal was intended, in part, to be a simple language to implement. Some of the design decisions reflecting this are Declarations/definitions must be given in a strict order (labels, constants, types,...
texdr.aft's user avatar
  • 3,730
17 votes
1 answer
2k views

In what year did term "program" first appear in the meaning of "series of coded instructions"?

I'm trying to figure out year when the term "program" was firstly used is the meaning ‘a series of coded instructions which directs a computer in carrying out a specific task’. Additionally ...
No Name QA's user avatar
44 votes
6 answers
10k views

Why didn't C++ specify filename extensions?

Apparently even today there is no single "official" standard for C++ file extensions. There are just common conventions. To me this stands out as an anomaly... file extensions are heavily ...
StayOnTarget's user avatar
  • 3,896
18 votes
5 answers
3k views

What was the first programming language, other than Lisp, to have “short-circuiting” Boolean expressions?

(This question is, of course, another thrilling installment of “The history of expression evaluation”; see the previous episodes here and here.) In many programming languages, the Boolean operators ∧ ...
texdr.aft's user avatar
  • 3,730
60 votes
4 answers
13k views

Why were single quotes ('…') chosen for characters, and double quotes ("…") for strings?

In C, '' is used to denote a character, while "" is used to denote a string. Why was this syntax chosen? I tried to research this using Wikipedia’s Timeline of Programming Languages along ...
hb20007's user avatar
  • 661
37 votes
3 answers
6k views

What was the first programming language to support “operator chaining”?

The Python language has a neat feature: An expression like x < y <= z is interpreted, according to mathematical convention, as equivalent to x < y and y <= z. Operands are evaluated only ...
texdr.aft's user avatar
  • 3,730
112 votes
7 answers
28k 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 ...
blues's user avatar
  • 1,129
13 votes
3 answers
1k 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 ...
texdr.aft's user avatar
  • 3,730
16 votes
2 answers
1k 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 ...
user3840170's user avatar
  • 24.9k
9 votes
1 answer
679 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 ...
texdr.aft's user avatar
  • 3,730
13 votes
6 answers
868 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: ...
texdr.aft's user avatar
  • 3,730
2 votes
3 answers
987 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 ...
Raoni's user avatar
  • 39
3 votes
1 answer
314 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. ...
Bartek Malysz's user avatar
4 votes
1 answer
308 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 ...
texdr.aft's user avatar
  • 3,730
8 votes
1 answer
285 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 ...
texdr.aft's user avatar
  • 3,730
27 votes
2 answers
8k 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 ...
Brian H's user avatar
  • 61.5k
15 votes
1 answer
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 ...
robertspierre's user avatar
6 votes
3 answers
1k 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 ...
Z. Laris's user avatar
4 votes
2 answers
501 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 ...
Neil Meyer's user avatar
  • 6,939
9 votes
3 answers
669 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 ...
SlowMagic's user avatar
  • 215
5 votes
1 answer
425 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 ...
Gerard de Jong's user avatar
21 votes
1 answer
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 ...
NoDataDumpNoContribution's user avatar
5 votes
1 answer
324 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 ...
user avatar
2 votes
4 answers
769 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 ...
user20613's user avatar
31 votes
13 answers
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 ...
Barmar's user avatar
  • 2,370
17 votes
3 answers
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 ...
texdr.aft's user avatar
  • 3,730
0 votes
1 answer
717 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 ...
Jaap Joris Vens's user avatar
12 votes
2 answers
1k 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 ...
stevec's user avatar
  • 259
32 votes
3 answers
5k 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 ...
user3840170's user avatar
  • 24.9k
9 votes
1 answer
1k 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 ...
Michael Shopsin's user avatar
9 votes
1 answer
919 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 ...
Liamm's user avatar
  • 91
3 votes
1 answer
678 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 ...
Bartek Malysz's user avatar
56 votes
1 answer
7k 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, ...
DrSheldon's user avatar
  • 16.6k
5 votes
2 answers
715 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 ...
knol's user avatar
  • 12.8k
2 votes
2 answers
287 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,...
knol's user avatar
  • 12.8k
4 votes
3 answers
656 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>...
knol's user avatar
  • 12.8k
8 votes
2 answers
1k 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....
knol's user avatar
  • 12.8k
10 votes
4 answers
2k 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 ...
Jeffrey Henning's user avatar
5 votes
3 answers
448 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 ...
Leo B.'s user avatar
  • 20.7k
16 votes
2 answers
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 ...
rwallace's user avatar
  • 63.8k