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.
265 questions
12
votes
1
answer
1k
views
How much extra stack space should I reserve for MS-DOS and interrupts?
When I write a program for MS-DOS, and I know at most how many bytes of stack space my program needs, then how many extra bytes of additional stack space should I reserve (in the assembly source code ...
5
votes
0
answers
138
views
Running .CO programs from file on Kyocera 85/TRS-80 Model 100/NEC PC-8201
I'm starting to write some machine language programs for my Kyocera
85-family systems, starting with my TRS-80 Model 100 and NEC PC-8201.
My understanding is that the .CO files contain the binary
code ...
17
votes
4
answers
3k
views
Did the ENIAC have any programming language?
On Wikipedia's entry for ENIAC, it states the ENIAC had 5 programming languages. I believe some of those are just names for different graphing systems, but ARC Assembly and Curry Notation System seem ...
5
votes
1
answer
351
views
Apple IIe Enhanced not following BEQ correctly
I'm running the example code from Assembly Lines chapter 5 programs 2A and 2B which print the entire character map for the Apple II and then are supposed to break, however my code is looping ...
13
votes
2
answers
3k
views
What was the main implementation programming language of old 16-bit Windows versions (Windows 1 - Windows 3.11)?
It seems that MS-DOS was primarily written in assembly even in its last versions.
I understand that new versions of Windows such as the NT-based versions currently in use, and Windows 95 .. ME which ...
13
votes
2
answers
2k
views
Which programming language/environment pioneered row-major array order?
The Wikipedia page describing specifics of row-major vs column-major storage order for multi-dimensional arrays, mentions, among others, C/C++ (*1), Pascal and PL/I for the former, and, surely, ...
12
votes
2
answers
1k
views
Is there a pre-defined compiler macro for legacy Microsoft C 5.10 to get the compiler's name and version number?
In Microsoft Visual C++, I can use the macros _MSC_VER for compiler identification and _MSC_FULL_VER for its version number to retrieve the data of the used compiler at runtime of my C program. But ...
1
vote
4
answers
574
views
What ever happened to Perl? [closed]
Think of the most currently "awesome", popular programming language that everyone wants to learn, and is going to "take over the world"... From the late 1990's to early 2000's ...
11
votes
1
answer
912
views
Are there official, standard, or conventional names for the screen RAM addresses on the ZX Spectrum?
I'm working on a disassembly tool for the Sinclair ZX Spectrum and want to do things "right" when possible.
I remember seeing lists of ROM routines, system variables, and memory addresses ...
26
votes
3
answers
4k
views
Which programming language first used negative indexing to mean counting from the end?
Negative indexing is a well-known feature of Python, for example a[-1] gets the last element of list a. Which programming language was the first to do this? (FORTRAN has supported arbitrary indexing ...
21
votes
10
answers
7k
views
What happened to the job market for assembly programmers once high level languages became mainstream?
At some point it became easier and faster to write high level code than assembly. I'm curious about the transition - right now a full time assembly programmer is rare indeed, although there are still ...
7
votes
1
answer
601
views
What was "Mac SLM" or "ASLM"?
While looking through a very old codebase, I found some preprocessor defines and comments referring to something called "Mac SLM" or "ASLM". From the context, it appears to have ...
9
votes
2
answers
629
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 ...
3
votes
1
answer
607
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....
9
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 ...
61
votes
3
answers
46k
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 ...
3
votes
1
answer
730
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 ...
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 ...
14
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.
...
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 ...
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 * ...
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 "...
15
votes
2
answers
981
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....
5
votes
1
answer
825
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 ...
6
votes
2
answers
511
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 ...
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 ...
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 ...
6
votes
0
answers
229
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 ...
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, ...
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 / ...
17
votes
5
answers
913
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 ...
2
votes
0
answers
180
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 ...
5
votes
5
answers
917
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 ...
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 ...
24
votes
16
answers
6k
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 ...
10
votes
2
answers
799
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". ...
14
votes
5
answers
3k
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 ...
9
votes
3
answers
530
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 ...
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 ...
14
votes
2
answers
596
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 ...
5
votes
0
answers
244
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 ...
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 ...
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 ...
7
votes
1
answer
305
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 ...
3
votes
1
answer
2k
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 ...
7
votes
2
answers
730
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 ...
17
votes
3
answers
3k
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 ...
59
votes
7
answers
7k
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 ...
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 ...
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 ...