New answers tagged

4

My two cents: I have written a lot of code with interrupts, and failed many times. Interrupts are very difficult to debug because they are asynchronous, you cannot easily enforce the same conditions again and again and you are fighting against race conditions and a lot of "background" operations. The main problem, in my opinion, was that Woz had to program ...


1

Another possible reason: with PC-relative addresses, you can easily relocate your program in the memory. Sometimes is a good idea to have a program you can load and run from any address (well, not really ANY, but you know...) When you program like "jump 10 bytes forward", you can easily relocate. With "jump at $12A5", you have a fix memory location your ...


1

The Wikipedia page on PETSCII is unfortunately very wrong. I advise you to have a look at the "talk" page. For reference I'm copying my own contribution there with some elaborations: Instead of "shifted" and "unshifted", the two text modes were commonly called "lowercase" (or sometimes "business") and "graphics" mode. Since the shift key sets the high ...


1

If your looking for concepts to add to BASIC, One of the most advanced BASICS of the time was Microware's BASIC09 for the 6809. It had removed line numbers as well as added structured programming concepts. It had a number of features that took advantage of the processor that might be very difficult to do on a 6502.


12

On the 6502, the designers did this for efficiency. This is documented in the original MCS 6500 Microcomputer Family Programming Manual: If one considers that the instruction JMP required three bytes, one for OP CODE, one for new program counter low (PCL) and one for new program counter high (PCH) it is seen that jump on carry set would also require ...


24

TL;DR: It is all about making one of the most important instruction(s) as performing as possible, while keeping everything manageable for tools at the time (plus a little bit of dogma). The branching is thus the most optimized instruction of the whole 6502 design. In addition, long branches are not really in demand (*1). Of the 116 branches used in the ...


Top 50 recent answers are included