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
9 votes
2 answers
513 views

How did the PL/I designers not understand environments?

In Charles Lindsey's “A browse through some early bulletins”, he mentions (regarding Knuth's Man Or Boy test): As a postcript to this whole episode, it may be noted that a couple of years later Bekic ...
texdr.aft's user avatar
  • 3,627
3 votes
1 answer
582 views

Why does this code trigger a TRAP on a PDP11/70?

On the PDP11/70, in the XXDP BKTCB0.BIC program I saw the following code: 012716 177777 mov #-1,(KSP) 006627 MTPI (PC)+ According to the comments in the source-code, this triggers a trap....
Folkert van Heusden's user avatar
8 votes
2 answers
1k views

Building a "hello, world!" program using MPW

I've been setting up a Basilisk II emulator to try my hand at developing apps for 68k System 7 systems, and have set up the Macintosh Programmer's Workstation (v.3.5 Gold Master from ...
gorgo's user avatar
  • 368
59 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
698 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,664
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,740
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,869
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
941 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
682 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
453 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,068
6 votes
0 answers
221 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,664
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
893 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.7k
2 votes
0 answers
173 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
  • 2,013
5 votes
5 answers
841 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,068
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
768 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
519 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
1k 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,869
14 votes
2 answers
573 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
232 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
  • 659
31 votes
6 answers
4k 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
  • 857
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,754
7 votes
1 answer
295 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,754
7 votes
2 answers
709 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
6k 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,869
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
  • 62.6k
11 votes
1 answer
578 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
  • 680
11 votes
1 answer
574 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
7k 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
  • 491
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
  • 62.6k
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,664
31 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 ...
aybe's user avatar
  • 7,102
13 votes
13 answers
1k views

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

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
412 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
370 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,320

1
2 3 4 5 6