Questions tagged [programming]

For questions about programming languages and constructs. For questions about specific languages please check for language-specific tags first, and use those instead.

33
votes
4answers
5k views

Why wasn't ASCII designed with a contiguous alphanumeric character order?

Anyone who has dealt with strings at a low level (e.g., writing a parser in C), knows that doing so tends to involve frequent checks of—either manually, or through isalpha(), isalnum(), etc—whether a ...
10
votes
2answers
393 views

Why are my VGA vram to vram copies so slow?

I'm doing some mode x programming and I noticed that my vram to vram copies are much slower than I expected. My copying method was described by Michael Abrash in his Graphics Programming Black Book ...
7
votes
2answers
420 views

Is there data for programming language popularity pre year 2000?

Besides the TIOBE Index, which ranks programming language popularity by search engine hits and seems to have data reaching back to the year 2001, are there other sources with some form of measure for ...
50
votes
6answers
10k views

How did old MS-DOS games utilize various graphic cards?

Nowadays each graphic card has some driver in operating system that translates some (typically) standard API such as OpenGL, so that programmers use some standardized API code to tell graphics cards ...
14
votes
9answers
2k views

What is the most rudimentary input method a platform has ever been programmed in?

A while ago I did read on the web a page whose topic was more or less: Real men write [insert lowest level language here] (a similar page would be this Reddit thread) If we quickly tour some of the ...
18
votes
3answers
2k views

Is there a way to get a compiler for the original B programming language?

I am learning about the original B programming language, but I don't have a compiler. Is there an emulator for an old computer that can run an old operating system that have a compiler for the ...
5
votes
3answers
391 views

Did the BCPL programming language support floats?

Did the BCPL programming language support floating point? If not, then how did programmers use it to add two floating point numbers?
5
votes
1answer
208 views

How to add an “int” to a “float” in the B programming language?

C has data types, so if you add an int to a float, for example: int i = 1; float f = 2.5; float r = i + f; The C compiler will know that it should generate machine instructions that adds an int to a ...
21
votes
10answers
4k views

Was Objective-C really a hindrance to Apple software development? [closed]

I have heard stories from some of the greybeards I have met on the Internet that Objective-C was by all accounts a nightmare to work with. Was that just a thing about all the low-level languages of ...
0
votes
2answers
204 views

What was the first language compiler to support subtype polymorphism? [closed]

I'm trying to understand the history of Dependency Injection in compiled languages, as an intentional feature of the language. The Wikipedia article on the subject is decidedly Java focused, but I ...
1
vote
1answer
124 views

Decoding the Workings of the TRS-80 BASIC Game “Escape!”

I've decided to port Chase! to Swift, apparently because I am insane. In any event, I'm trying to collect the various switches in versions from the era. One of these is unique, found here under the ...
2
votes
0answers
133 views

Looking for Complex Algorithms to Demonstrate Ascota 170 Capabilities

I am restoring the Ascota 170 antique mechanical programmable computer. It is already working. Now I’m looking for an algorithm to demonstrate its capabilities — like calculating trigonometric or ...
3
votes
0answers
123 views

How did the template cache in CFront work?

I've seen some discussion of how templates were historically implemented in CFront around the web, including here. The link describes the Borland model, which is familiar, and the CFront model with a ...
4
votes
3answers
221 views

What was the DOS FAT12 720k floppy raw disk format structure?

I am looking for detailed info on the low-level floppy disk structure of an MSDOS-compatible 720k Double Sided Double Density disk. Stuff like GAP/SYNC patterns, ID and CRC Field structure, standard ...
4
votes
1answer
184 views

How was dataflow analysis performed before SSA?

If we look at something like LLVM or the GNU Compiler Collection, Dalvik and many others, their intermediate representation (IR) uses SSA (Static Single Assignment form), as part of their Data-Flow ...
31
votes
6answers
10k views

Which was the first programming language that had data types?

Machine language (and Assembly language) don't have the concept of data types, so if you want to add an int and a float variables in Assembly, you have to use the appropriate Assembly instruction that ...
1
vote
1answer
240 views

What don't I understand about this LR35902 code?

The question you are now reading is about a comment on this question, about overflow bugs in some Pokemon game. A comment on that question says: It was Game Freak's first project. They just were ...
1
vote
5answers
473 views

Are there any old and nowadays active Operating Systems which has only BASIC Programming Language?

Some old Operating Systems I hear have only BASIC Programming Language. Are there any active and old operating systems which includes only BASIC Programming Language?
3
votes
2answers
409 views

EGA style 16 color dithering

I am trying to write a program in C# that will re-create the type of dithering used in many of the old sierra and Lucas arts games. I have looked up many different dithering algorithms and none seem ...
1
vote
1answer
177 views

How to read disk files using CBM specific functions in cc65 with proper error checking

TL:DR What is the reason my kernel_read() function ignoring file errors? I'm trying to understand how to work with files in cc54 using CBM specific functions. My target is Commodore 64 with 1541 ...
9
votes
4answers
877 views

First language designed to be embedded?

Some languages like Python, Lua, and Tcl are designed with the intention that you can easily embed the interpreter into some other native program. For example, many VFX applications like Nuke, Maya, ...
4
votes
1answer
452 views

Where can I find macrofun.hlp?

In the days before Visual Basic for Applications, the macro language for Microsoft Excel was called XLL. The syntax was similar to that of ordinary Excel formulas, except for two things: Macros were ...
15
votes
2answers
2k views

First language with C-like memory management

This is a nerd question but I can’t find anything in google. So, in which programming language did the classical memory management system first be implemented? I mean the division into value types (...
4
votes
1answer
351 views

Was there ever a home PC which ran JOVIAL?

We are having a frank exchange of views here in the office. We were discussing the heydays of home PCs, back in the early 80s, when there were a plethora to choose from, most running some form of ...
17
votes
2answers
668 views

What's a good way to implement this “splashing water” effect on the C64?

This pillow fighting game set in Venice depicts the two opponents fighting on a wobbly gondola on a canal. It was apparently known as "Pillow Fight" in English and as "Kissenschlacht" in German, and ...
16
votes
2answers
1k views

6502 branch offset calculation

This question expands on How does the 6502 implement its branch instructions? I'm working on a cycle accurate VHDL implementation on an FPGA. I have much of the program logic already written, but I ...
4
votes
0answers
151 views

How to use IIgs enhanced graphics modes in AppleSoft BASIC with System 6?

There are many packages that let you use the enhanced graphics modes of the IIgs in AppleSoft BASIC. However most packages like Iconix do not like System 6 so they have to run off disks and not the ...
10
votes
4answers
2k views

What are the rules for Applesoft BASIC formatting for code?

What are the rules for Applesoft BASIC formatting for code? I've been doing some BASIC coding and noticed that: 10 input "some question?"; name$ Will be reformatted as: 10 INPUT "some question?";...
3
votes
4answers
572 views

Was there ever a compiler type that was just large enough to contain a memory segment?

From this answer, Hark back to the days of segmented 16-bit architectures for example: an array might be limited to a single segment (so a 16-bit size_t would do) BUT you could have multiple ...
13
votes
8answers
2k views

Uses for the halt instruction?

What was the halt instruction in early CPUs such as the Z80 and 8080 used for? Here's a description of the Z80 instruction: The HALT instruction suspends CPU operation until a interrupt or reset ...
18
votes
6answers
3k views

What caused the downfall of Pascal? [closed]

From 1985 to 1990 Borland's Turbo Pascal was at least as popular as C for DOS systems. Turbo Pascal was especially popular because of it's ground breaking BGI graphics interface while C was stalled in ...
14
votes
1answer
688 views

Fortran variable type defaults - origin

In older versions of Fortran, e.g. 77, variables did not need to be declared. If the name starts with I, J, K, L, M, or N then it would be assumed to be an INTEGER. Otherwise, it would be assumed to ...
0
votes
1answer
530 views

Is it possible to make VICE load .prg files faster?

When I load a C64 .prg with the Hoxs64 emulator, my .prg loads pretty much instantly. But when I load the same .prg file with VICE (x64 app.prg) it takes quite a while (depends on memory map, but ...
2
votes
1answer
197 views

Is it possible to use the BRK instruction when ROM is banked out?

I used to use the BRK instruction when debugging on the C64. However, when I bank out ROM with... lda #$35 // Bank out kernal and basic sta $01 // $e000-$ffff ...the BRK instruction (...
12
votes
3answers
2k views

What's a good way to implement this “fade” effect on C64

See the beginning of https://www.youtube.com/watch?v=hmfLBAtGAKk. Here's a screenshot: It basically clears characters pixel by pixel both horizontally and vertically. Use sprites for the pixel by ...
2
votes
3answers
654 views

Reading both keyboard and joystick with non-KERNAL code on C64

I'm implementing non-KERNAL joystick and keyboard controls for my Commodore 64 game. I used to use the KERNAL SCNKEY routine earlier to read keyboard and it worked well with my joystick port 2 code. ...
29
votes
5answers
7k views

Why was nil defined as a reserved word in Pascal?

In Pascal, nil (the pointer value to "nothing") is a reserved word. Why wasn't it simply a predefined identifier as true and false are, for example? This is stated in PASCAL User Manual and Report p....
34
votes
4answers
11k views

Who is credited for the creation of Assembly Language?

The C Programming Language was originally developed by Dennis Ritchie who also co-designed the Unix operating system with which development of the language was closely intertwined. Is there a ...
26
votes
7answers
12k views

How can you run a program that is bigger than RAM?

Suppose you have a program that is 218 words long. However you are using a 16 bit machine and have 216 words of RAM. (The RAM is directly addressed by the CPU). On the other hand, you have unlimited '...
6
votes
2answers
356 views

What books did schools use to teach BASIC?

What books would have been used to teach school aged kids BASIC in a classroom setting back when BASIC was in common use? 8-Bit computers commonly came with tutorials to learn BASIC, like A Touch of ...
12
votes
3answers
2k views

Native C compiler for Sinclair ZX Spectrum

I am looking for a native C compiler for the Spectrum 128. I would like one which: Has good support for the latest C standard at the time. Is not limited to compiling ridiculously short source code. ...
6
votes
2answers
5k views

Best path to learn C64 assembly [closed]

The amount of tutorials, youtube videos, scanned books on C64 programming is overwhelming. What materials would you recommend -- and, importantly, in what order! -- to build a path to programming my ...
2
votes
1answer
426 views

How was the first working version of Google written?

Which language and/or server software did Google use for its initial version?
29
votes
4answers
7k views

Why (historically) include the number of arguments (argc) as a parameter of main?

A comment on this answer to a StackOverflow question made me curious. According the C99 standard, section 5.1.2.2.1: The function called at program startup is named main. The implementation ...
7
votes
2answers
460 views

Unsigned addition on the 6502

I am currently playing around with pointer and indirect addressing on the C64 and I encountered a problem with the ADC opcode. I am trying to increment a number repeatedly and when it overflows (goes ...
13
votes
3answers
914 views

What is going on in the overscan area of Sega Genesis games?

What is going on in the overscan area of Sega Genesis games? I noticed that different games display different things in the overscan area. I understand this was never intended to be seen. However,...
15
votes
3answers
3k views

Do you need to allocate memory before you use it in MS-DOS?

In modern operating systems (for example: Windows), you can't access a memory location before you allocate that memory location to your program (or else a segmentation fault will occur). I am ...
4
votes
2answers
690 views

How hard would it be to port Amiga OS4 to x86 or ARM?

This question was raised on Facebook a few hours ago. Some say it's possible, others say impossible. What do you experts say?
5
votes
1answer
399 views

What is the title of this Macintosh programming book?

Back when Mac OS was called "System" and preemptive multitasking was a distant fantasy, I had a small collection of Macintosh programming books. For the life of me, though, I can't remember what one ...
7
votes
1answer
223 views

Was there an interactive macro/scripting language named PAGEN?

In a BESM-6 disk image I can see bits and pieces of something that looks like a strange interactive scripting language: [start of disk block] <LET=P11=%X01 <IEQ=P11=%377 <LET=P11=1 <END &...