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
57 votes
3 answers
45k views

Does this 8088 code in the Leisure Suit Larry 2 game actually do anything?

In the Sierra On-Line game "Leisure Suit Larry 2" there's a part in the game where the main character (Larry) has to write a program in 8088 assembly language as part of his tribal ...
Noel Whitemore's user avatar
3 votes
1 answer
670 views

What do the pins D0-D7 on the Intel 8080 exactly signify?

I am currently trying to create a FPGA styled simulator of the 8080 in C. I have a couple of questions regarding the D0-D7 pins. As far as I can see the D0-D7 lines are used in order to store data (a ...
cdunku's user avatar
  • 31
4 votes
2 answers
2k views

Gameboy Key Input Causes Crash

I made a Key Tester using the STDIO header included with GBDK. It works... Until it doesn't. All the keys register and print to the screen, except the Left(5) and Right(4) Directional Keys, which ...
OPM eStudio's user avatar
12 votes
1 answer
1k views

When was the original version of the DICE C compiler for the Amiga released? And when did it become free?

Back in the day I bought SAS/C for the Amiga. I seem to recall that before that there was Aztec C, Manx C, and Lattice C that were the major commercial C compilers for the platform. I never used them. ...
hippietrail's user avatar
  • 6,646
8 votes
1 answer
1k views

C64 char screen plot routine - not clear about reason for logical OR

I'm trying out some 6502 assembly language, specifically using Kick Assembler. I have the following routine that just sticks a character on the text screen at a specified x and y, it's taken from the ...
Alan B's user avatar
  • 4,055
16 votes
4 answers
16k views

How were the signs for logical and arithmetic operators decided?

I'm curious as to how exactly some of the logical and arithmetic operator signs were decided? The plus and minus operators make sense, but how was decided that / was the division operator or that * ...
Neil Meyer's user avatar
  • 6,285
11 votes
6 answers
3k views

What made the ENIAC "programmable"?

The ENIAC was the first programmable, electronic, general-purpose digital computer. However, it was programmed by "rewiring", and this is what I do not understand. When we say "...
Noob_Guy's user avatar
  • 693
15 votes
2 answers
911 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
625 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
6 votes
2 answers
420 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
  • 237
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
  • 1,017
6 votes
0 answers
215 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,646
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
17 votes
5 answers
888 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
  • 21.5k
2 votes
0 answers
171 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,485
5 votes
5 answers
793 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
  • 1,017
13 votes
2 answers
1k views

How do I stop flickering in mode 13h?

I'm making a small graphics library for MS-DOS 6.22, using mode 13h with Turbo C on VirtualBox. Recently, I was able to code a small snippet to move a sprite on the screen, using double buffering and ...
SlickSpore's user avatar
24 votes
16 answers
5k 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
756 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
  • 383
9 votes
3 answers
506 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
973 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
  • 6,285
14 votes
2 answers
549 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
225 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
  • 661
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
  • 455
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,762
7 votes
1 answer
285 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
1k 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,762
6 votes
1 answer
381 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
59 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
20 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
  • 6,285
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
7 answers
7k 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
  • 60.4k
11 votes
1 answer
571 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
  • 670
11 votes
1 answer
556 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
23 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
  • 331
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
  • 60.4k
31 votes
11 answers
6k 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,646
32 votes
2 answers
9k 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 ...
Eric Cartman's user avatar
  • 6,620
10 votes
11 answers
974 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
385 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
12 votes
6 answers
5k 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
  • 223
3 votes
1 answer
347 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
20 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,330
6 votes
2 answers
465 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
20 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,330
10 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,485

1
2 3 4 5