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
15 votes
2 answers
873 views

Drawing Asteroids DVG vector objects

I'm trying to draw the vector objects from the original coordinates of the Asteroids arcade game, starting with the ship from here, but I'm having trouble figuring it out and getting weird results. E....
Martin's user avatar
  • 153
4 votes
1 answer
472 views

How did John Carmack develop DOS games in Softdisk?

I recently listened to a podcast of Carmack and he said that in early DOS days he mostly uses assembly. The host asked him about Pascal and he said back then only Wizardry was written in Pascal. I ...
Nicholas Humphrey's user avatar
7 votes
2 answers
342 views

Mixing small and big data models in 16-bit DOS & Watcom

I want to write an application for DOS using small code/data model, but I would like to use far pointers for some selected memory blocks. I would like to use the OpenWatcom C++/16 compiler. So, for ...
antekone's user avatar
  • 239
23 votes
3 answers
3k views

Why were OS/360 PL/I procedure calls so expensive in terms of stack space?

In 1977, Guy Steele published a paper entitled Debunking the “expensive procedure call” myth or, procedure call implementations considered harmful or, LAMBDA: The Ultimate GOTO. The paper was the ...
Alexis King's user avatar
23 votes
15 answers
5k views

Did type-in-programs or type-in-listings teach programming in the 70s and 80s or was it just tedious typing of the source code?

In the late 70s and early 1980s, computer magazines and books usually distributed program codes via program listings, which the user then had to type into his computer. Today these are also known as ...
Coder's user avatar
  • 831
6 votes
0 answers
197 views

Where can I find information on old Kontron emulators?

Way back in the mid-80s, I worked as a programmer for the Apple II family, Commodore and Atari machines. I remember programming them using a big intimidating box branded Kontron stacked on top of my ...
ATL_DEV's user avatar
  • 382
15 votes
3 answers
3k views

Difference between machine language and machine code, maybe in the C64 community?

I've always been sure that "machine language" and "machine code" are totally synonymous and mean programming directly in the language the machine understands, whether in binary, ...
hippietrail's user avatar
  • 6,303
24 votes
1 answer
1k views

ImageWriter II occasionally prints hex dumps

I have an Apple ImageWriter II that I'm controlling directly over a serial port (Node.JS + serialport, Windows 10). Generally speaking, it works fine. However, occasionally instead of printing text / ...
Jason C's user avatar
  • 581
16 votes
5 answers
850 views

Programming languages that used degrees in trig functions?

Most programming languages that feature mathematical functions expect the arguments to be in radians. For example, sin(1) would typically return 0.841471, equivalent to sin 57.295°. But a couple of ...
scruss's user avatar
  • 20k
2 votes
0 answers
166 views

What does OpenWatcom put to the CONST segment? [closed]

According to the documentation of OpenWatcom, CONST and CONST2 are read-only non-executable segments, string literals are put to CONST, and user-defined const global variables are put to CONST2. My ...
pts's user avatar
  • 1,415
5 votes
5 answers
732 views

Are there any statistics or data showing how much more productive the C programming language is compared to x86 assembly language?

I found out today that a large project like Microsoft Windows 1.0 took 80 man-years to develop. And this one was written in x86 assembly language. Is there a form or rule of thumb that states how much ...
Coder's user avatar
  • 831
24 votes
16 answers
4k views

What were the most popular text editors for MS-DOS in the 1980s? [closed]

Since versions 1-5 of MS-DOS only came with the Edlin line-based editor, but were released on the IBM PC and compatibles, which had screen-based user I/O, my feeling is that most users wouldn't have ...
Brian Reading's user avatar
10 votes
2 answers
742 views

How can I avoid overflowing R_SPARC_13 relocations when writing SPARC assembly?

For fun I'm trying to create an assembly program for Sun Solaris on SPARC. I'm emulating the system with QEMU. My test assembles fine, yet linking fails with "relocation error: R_SPARC_13". ...
Folkert van Heusden's user avatar
14 votes
5 answers
2k views

Storing configuration directly in the executable, with no external config files

Back in the days when dinos talked fluently English, Arabic, Spanish and a bunch of other languages, when one could change tapes of a PDP-11 on the fly there was a programming language Turbo Pascal. I ...
HermDP's user avatar
  • 373
9 votes
3 answers
488 views

How did exception handling work in the Plankalkül language?

I saw mentioned in a number of places that the Plankalkül programming language had exception handling features. However, I am unable to find a description of what that looked like. It seems that most ...
Irit Katriel's user avatar
1 vote
0 answers
648 views

How does Holy C differ from regular C? [closed]

The Temple OS operating system has been credited as one of the most impressive coding achievements ever done by a single coder. It was done in Assembly and a variant of the C language called Holy C. I ...
Neil Meyer's user avatar
  • 5,853
14 votes
2 answers
513 views

How does the Atari ST's VDI polygon filling algorithm work?

I recently noticed something in Neochrome as well as Larry Mears' "Instant Graphics and Sound" programs: Polygons have slightly different shapes depending on whether an outline is drawn or ...
Kirkman14's user avatar
  • 291
5 votes
0 answers
210 views

How is the Genreal MIDI Soundbank file format structured?

Until today, you can download soundbanks for the Java Sound API from Oracle here. What surprises me is, that they are not hidden on an old subpage -- you find them freely accessible on their website ...
hefe's user avatar
  • 651
31 votes
6 answers
3k views

Managing registers/memory effectively on the Z80

I've been writing assembly for the Z80 for some time, lately. Initially, I had no experience with working with 8-bit processors, but after going through a tutorial for my platform and spending a lot ...
v-rob's user avatar
  • 403
21 votes
8 answers
7k views

Did Pascal programmers really move on to Java in the 90s?

According to this video Pascal suffered great loss of percentage in the 90s. There is, contrary to the common belief that C prevailed over Pascal, a counterargument that Pascal programmers moved on to ...
Schezuk's user avatar
  • 3,722
7 votes
1 answer
267 views

How do you implement double-buffering on a CoCo 3 320x192x16 screen in BASIC?

I was hoping someone could just share a small code snippet with all the requisite POKEs that would illustrate how this is done. I would think for someone who knows what they were doing that this is a ...
TheSentinel's user avatar
3 votes
1 answer
755 views

What were top-10 popular programming languages in the 60s, 70s, and the 80s?

TIOBE index has been tracking the most popular programming languages since 2001, which reflects the dominance of C/C++/Java in the first score of 21st century. However C derivatives hadn't beat Pascal ...
Schezuk's user avatar
  • 3,722
6 votes
1 answer
338 views

What is the earliest use in C of indexing the bits of a float or double to sample a table lookup?

One common way to produce an approximation of a function like the logarithm or the exponential is to precompute a table of values (a lookup table) for the output or some intermediate stage of the ...
Adam Hyland's user avatar
17 votes
2 answers
2k views

When did type punning through violating the strict aliasing rule become disallowed?

Looking at the C code from the Fast Inverse Square Root, the casting of a float to a long is done via pointer arithmetic: i = * ( long * ) &y; // evil floating point bit level hacking The ...
Adam Hyland's user avatar
58 votes
7 answers
6k views

Origin of "string"

When did people start referring to an ordered group of characters as a "string"? Did this name come from before / outside of the computing field, or is it special to computing? The metaphor ...
John Skiles Skinner's user avatar
19 votes
4 answers
5k views

Who invented garbage collection?

Google tells me that John McCarthy invented garbage collection, for Lisp in 1959. However, a video on C that I was watching (‘Learn C Programming with Dr. Chuck’, c. 6:40) mentions the lack of a ...
Neil Meyer's user avatar
  • 5,853
7 votes
1 answer
1k views

What are the most historically relevant implementations of Prolog? And what platforms?

Does anyone know what are the most historically relevant implementations of Prolog, in the sense of being extensively used, and producing representative programs written in this language? And what ...
Taciano Dreckmann Perez's user avatar
27 votes
6 answers
6k views

Did anyone ever run out of stack space on the 6502?

Unlike its main rival the Z80, the 6502 had a size limit of 256 bytes for the hardware stack. That sounds like a very tight limit, but in my experience, it was never actually an issue; by the time you ...
rwallace's user avatar
  • 58.1k
11 votes
1 answer
556 views

The MAC-360 programming language developed in the mid 1960s

On SE Space Exploration, one of the answers to this question, Fortran and the Apollo 11 mission states that the MAC-360 language, developed around 1967 by Hal Laning, was used to do develop ...
Fred's user avatar
  • 580
9 votes
1 answer
501 views

How can I properly execute and clean up after a DOS MZ executable loaded into memory with int21 function 4b01h?

Ralf Brown's Interrupt List describes a subvariant of the DOS int21/4Bh function with AL=01, where the program is loaded into memory and a PSP + stack are allocated for it, but the program is not ...
neuviemeporte's user avatar
22 votes
8 answers
6k views

Why were nested functions excluded from B and C?

I'm learning C and was curious as to why the language does not allow nested functions. From what I've read, the lack of nested functions seems to have been a simplification that was inherited from its ...
user51462's user avatar
  • 321
16 votes
7 answers
3k views

Was any indentation-sensitive language ever used with a teletype or punch cards?

Most programming languages delimit block structure with punctuation e.g. { ... } or keywords e.g. begin ... end. However, some languages such as Python and Haskell delimit it with indentation (...
rwallace's user avatar
  • 58.1k
31 votes
11 answers
5k views

How to divide an unsigned 8-bit integer by 3 without divide or multiply instructions (or lookup tables)

On CPUs without divide or multiply instructions like the Zilog Z80 and the MOS 6502, how could division by three be efficiently implemented? I know in practice in game code you'd usually use a 256-...
hippietrail's user avatar
  • 6,303
32 votes
2 answers
8k views

Did Forth's inventor Charles Moore really write a CAD program in only 5 lines of code?

In wiki.OSDev.org, they talk about Forth's inventor Charles Moore and you have the following statement: Charles Moore, inventor of Forth, wrote a CAD program which was structured around just 5 lines ...
aybe's user avatar
  • 6,338
10 votes
11 answers
920 views

Towards people who were there, what programs did you use to develop applications for the IBM 5150? [closed]

I want to get into programming on old MS-DOS systems, before then going to older DOSs like CP/M. However, while programming for MS-DOS I'd like to also use era-appropriate software, both for the ...
Sage Hendricks's user avatar
-1 votes
2 answers
344 views

How can I embed C++ Builder 6 (32-bit) VCL into a Delphi 7 (32-bit) VCL application by using a .DLL? [closed]

Note to the reviewer: Please sorry for my English, I don't speak it well. But all Information's should be reproduced. If you have any questions, let me know it. Thanks, Jens Hello, This is more a ...
Jens's user avatar
  • 83
10 votes
4 answers
4k views

How was the first release of Java (JDK 1.0) used?

Foreword: I am not trying to accomplish a task using this technology but rather asking about the specific use cases of the very first release, out of curiosity. Was Java used for anything else other ...
Ethicist's user avatar
  • 203
3 votes
1 answer
310 views

Mark IV - information please

I have in my library a copy of "Mark IV systems : Application Development Systems : Pocket Specifications Manual" by Informatics Inc. I can find very little about this, only a generalised ...
user avatar
19 votes
1 answer
2k views

In MS-DOS, how much stack do I need to make an int21 call?

The context is that I'm calling DOS interrupts from DPMI using int31 / ax=0x300, and you have to tell it what stack you want the real mode call to have. By default you get a small stack of about 20 ...
David Given's user avatar
  • 1,378
6 votes
2 answers
452 views

SciTech's SVGAKit seems to be incomplete

I'm trying to get into MS-DOS development for fun, and I'd like to use SciTech's SVGAKit library. The last version of it is still downloadable via the Internet Archive here. However it seems to be ...
Spudd86's user avatar
  • 211
17 votes
2 answers
3k views

In 16-bit MS-DOS, how do I get a file handle to the currently running .exe?

The context is that I have additional data in the .exe file and wish to access it. I know this is possible, as plenty of programs would store extra data after the loadable part of an MZ .exe — most 32-...
David Given's user avatar
  • 1,378
9 votes
4 answers
1k views

Did the Algol 68 standard allow a procedure to be called before its declaration?

In Algol 68, is it legal to say this? proc even = (int x) bool: (x = 0 | true | odd(x – 1)); proc odd = (int x) bool: (x = 0 | false | even(x – 1)); Forward references in structures are used in the ...
texdr.aft's user avatar
  • 3,445
5 votes
0 answers
148 views

Looking for documentation or source for CERN Fortran programming aids

In the 1970s, the CERN Program Library for IBM/CDC included a few FORTRAN source analysis tools. As mentioned in CERN Computer Newsletter 141, Q. SERVICE OR HOUSEKEEPING-PROGRAMMING AIDS ... *X ...
Leo B.'s user avatar
  • 18.1k
2 votes
3 answers
499 views

What is the most recent programming language that didn't support comments? [closed]

I'm sure that some early programming languages didn't support comments. And perhaps some tiny interpreted languages did not. Putting aside esoteric languages, what was the most recent significant ...
mikado's user avatar
  • 177
9 votes
3 answers
2k views

String manipulation in MS-DOS 6.22 batch files

So I've been struggling to find any information about batch files in MS-DOS through all the information about CMD, but basically I'm trying to create a folder like 'Month-year'. I've managed to create ...
Chris McQueen's user avatar
10 votes
3 answers
2k views

Is there an equivalent of "#pragma once" in RGBASM (Gameboy DMG assembly language)?

So I am really just starting out in my assembly coding adventure. I have a little bit of knowledge of C/C++ but nothing too advanced yet. But I also used to do a tiny bit of Z80 assembly, and I wanted ...
I_Keep_Trying's user avatar
14 votes
2 answers
1k views

What was the first game console to ship with an official C development SDK?

I'm pretty sure (but please correct me if I'm wrong!) in the 4th generation (e.g. SNES, Sega Genesis) assembly for whatever chip the console had was still the most common development language(s) and ...
Jared Smith's user avatar
29 votes
2 answers
4k views

What exactly is/was threaded p-code?

Quickbasic 4.0 added threaded p-code which at the time I remember thinking was magical. But I have no idea what it means. What exactly is/was threaded p-code (and is the p actually the Greek letter ...
Simd's user avatar
  • 393
6 votes
1 answer
294 views

XMS function 0Ch "Lock Extended Memory Block"

I have a question about this function that has bugged me for years, so I decided to let this community a try :) So, this function supposedly locks a XMS extended memory block in place, and returns an ...
Vasil Daskalov's user avatar
22 votes
4 answers
5k views

What was the first programming language with generics?

To belatedly celebrate the release of Go 1.18, I ask the question: what was the first programming language with support for generics? For concreteness (to prevent anyone trying to weasel out with ‘...
user3840170's user avatar

1
2 3 4 5