New answers tagged

5

The model of how the Monitor command line works in the Apple II Reference Manual, and most other documentation, isn't really in line with how it does work. It doesn't help that the Monitor itself, at least as far as command line parsing goes, is more a set of hacks than anything truly coherent. The following is an excerpted and edited copy of my personal ...


4

Immediate mode constant allow the use of modifiers to select high/low byte of an address. From the Merlin manual: 6.4 Immediate Data For those opcodes such as LDA, CMP, etc., which accept immediate data (numbers as opposed to the contents of addresses) the immediate mode is signaled by preceding the expression with a "#". An example is LDX #...


6

In assembler, a label is just a number representing an address. On the 6502, addresses are 16 bits, but the accumulator can only contain 8 bits at a time. What you need is to extract the high and low halves of the address as distinct immediate operands, so that you can store them in the zero-page pointer location. I'm not familiar with this particular ...


2

Apparently, the correct syntax is as follows: START LDA #<DATA STA STRLO LDA #>DATA STA STRHI The #< and #> seem to indicate the the assembler that we are going for the LSB and MSB of the address for the DATA, not the DATA itself. I'll leave the question open in case someone wants to elucidate on the why/...


3

I did some looking around on the internet archive, browsing through a few collections, and I ran across this variant: Rhode Island Apple Group Volume 14 - Integer Basic Games The disk contains a what could be a variation, or an ancestor (or even a descendant) of the code listed above. There are enough similarities to look suspicious, but most of these ...


2

Okay stealing text from the Apple Monitor unpeeled: $31 MODE - This byte is used by the Monitor command processing routines to control parsing and to control operations when a blank is encountered after the hex digits. For example, a hex address followed by a colon causes setting of MODE so that during further processing of the input line each blank ...


3

I think I found an ancestor in the Nibble magazine program index from volume 2, number 7, 1981: Catsup Catalog Supervisor Weber, Chuck Express II, V2N7 1981 You can run it online or download the disks in a zip archive. (It's on NIB06.DSK.) Another ancestor might be Beagle Brothers' KEY-CAT from Utility City. =========================== "KEY-CAT" ...


7

For getting your first taste of 6502 assembly, I recommend doing the web-based tutorial Easy 6502. You should be able to get through it in a few hours. Once you've got the basic ideas down, if you're going to learn 6502 assembler at the level of writing non-trivial routines and programs you're going to have to write a fair amount of it. I recently wrote a ...


9

I realize the OP asked specifically about Assembly Language, but I felt strongly enough about the quality of "Machine Language for Beginners" that I wanted to post it as an answer. Given that the Apple IIe has a pretty decent built-in monitor, this book is a natural fit for getting the basics down. I completely understand the utility of a good assembler, ...


4

Muse's 1979 classic Three Mile Island might be it. It was text and lo-res graphics; there are a bunch of screen shots on MobyGames.


2

Creative Computing Magazine printed Stephen R. Berggren's Apple Nuclear Power Plant simulator in December 1980. There were many variants/developments on this for different platforms, and some added graphics. There's a playable version of the original at kevinr/apple-nuclear-power-plant-sim: Stephen R. Berggren's 1980 Apple Nuclear Power Plant sim.


20

No, you can't substitute; the 6502A was used precisely because it is faster for some things, even when not run at a higher clock rate. Apple IIe Technical Note #2: Hardware Protocol for Doing DMA (starting on page 2 of that PDF) explains this. On page 4 of 9 of the note it says: In the Apple IIe a 6502A, a 2 MHz part is used instead of the 1 MHz 6502 ...


2

I've written a small program that confirms that lines of text do tear if modified while being scanned. It's not easy to see (it would have been a large amount of extra work to do the exact sync that would make it really clear), but as it runs, amongst all the flickering you can see diagonal lines across the line of text where the line tears due to reading ...


6

For many questions in the early days, the answer was Beagle Brothers. In this case DiskQuik. DiskQuik DISK DRIVE EMULATOR by HARRY BRUCE and GENE HITE (REQUIRES APPLE IIe WITH EXTENDED 80-COLUMN CARD) AN IN-MEMORY "DISK DRIVE" DiskQuik acts like a disk drive connected to Slot 3, but it is much faster, quieter and more reliable.


0

I worked with Apple II from the assembly code side many years ago for a gaming company. I just remember that you could split the screen so that you could show graphics and text at the same time. I remember it being pretty well behaved. You could not easily do the same thing on the Commoredore 64. We had to do special coding to switch between graphics and ...


5

Hardware management on the Apple II is done by accessing a set of 'Softswitches', addresses when accessed set certain modes. For the screen there are several locations: $C050 Select Graphics $C051 Select Text $C052 Full Screen (Graphics) $C053 Mixed Screen $C054 Page 1 $C055 Page 2 $C056 Select Low Res $C057 Select Highres Usually they are accessed with a ...


7

The screen refreshes 60 times per second (or 50 times in PAL countries) so a cell with one character in the top half and a different one in the bottom half would only be visible for 1/60th or 1/50th of a second. Under ordinary conditions, you won't notice it.


Top 50 recent answers are included