Updated notes on 6502 assembler

This commit is contained in:
Jeff Parsons 2016-05-11 09:39:05 -07:00
commit 603b429c60
5 changed files with 32 additions and 14 deletions

View file

@ -1,10 +1,10 @@
--- ---
layout: page layout: page
title: Challenger 1P Machine-Language (6502) Applications title: Challenger 1P Machine-Language Applications
permalink: /apps/c1p/6502/ permalink: /apps/c1p/6502/
--- ---
Challenger 1P Machine-Language (6502) Applications Challenger 1P Machine-Language Applications
--- ---
The project contains the following 6502 machine-language tests: The project contains the following 6502 machine-language tests:

View file

@ -1,10 +1,10 @@
--- ---
layout: page layout: page
title: Challenger 1P Machine-Language (6502) Programs title: Challenger 1P Machine-Language Programs
permalink: /apps/c1p/6502/jeffpar/ permalink: /apps/c1p/6502/jeffpar/
--- ---
Challenger 1P Machine-Language (6502) Programs Challenger 1P Machine-Language Programs
--- ---
The project contains the following 6502 machine-language programs written by [Jeff Parsons](https://twitter.com/jeffpar) The project contains the following 6502 machine-language programs written by [Jeff Parsons](https://twitter.com/jeffpar)

View file

@ -6,23 +6,36 @@ redirect_from:
- /pubs/c1p/programming/ - /pubs/c1p/programming/
--- ---
6502 ASSEMBLER/DISASSEMBLER 6502 Assembler/Disassembler
--- ---
By Jeff Parsons
This "source code listing" from June 19, 1980 is for the first piece of software I sold, right around the The "source code" listing below from June 19, 1980 is for the first piece of software I sold, right around the
time I graduated from high school. I had had my Ohio Scientific Challenger 1P for maybe a year when I decided time I graduated from high school. I had had my Ohio Scientific Challenger 1P for maybe a year when I decided
to write something that would make it easier to write "machine language" programs than the incredibly tedious to write something that would make it easier to write "machine language" programs than the incredibly tedious
HEX monitor that was built into the C1P. And so my **6502 ASSEMBLER/DISASSEMBLER** was born, with full-screen HEX monitor that was built into the C1P. And so my [6502 Assembler/Disassembler](ASSEMBLER-4K.json) was born,
editor, assembler, and disassembler. with full-screen editor, assembler, and disassembler.
There were two versions, one for each of the standard Challenger 1P memory configurations:
- [6502 Assembler/Disassembler for 4K C1P](ASSEMBLER-4K.json)
- [6502 Assembler/Disassembler for 8K C1P](ASSEMBLER-8K.json)
One of the conditions of the sale, however, was that I provide a "source code" listing. I don't think the buyer One of the conditions of the sale, however, was that I provide a "source code" listing. I don't think the buyer
understood that I had essentially written the program in machine language -- because that's how I had to enter it understood that I had essentially written the program in machine language -- because that's how I had to enter it
into the machine. Maybe *some* lucky C1P users had disk drives and editors and assemblers, but I had none of those into the machine. Maybe *some* lucky C1P users had disk drives and editors and assemblers, but I had none of those
of things. I had never even used tools like that before, which is why the **6502 ASSEMBLER/DISASSEMBLER** is a of things. I had never even used tools like that before, which is why the [6502 Assembler/Disassembler](ASSEMBLER-4K.json)
bit of an odd duck. I'll post some screenshots and a demo eventually, and you'll see what I mean. is a bit of an odd duck. I'll post some screenshots and a demo eventually, and you'll see what I mean.
Anyway, to satisfy the buyer, I sat down at my old manual typewriter and banged out my version of a "source Anyway, to satisfy the buyer, I sat down at my old manual typewriter and banged out my version of a "source
code" listing. I produced it mostly by using the program to disassemble itself, combined with information code" listing. I produced it mostly by using the program to disassemble itself, combined with information from
from hand-written notes (which I may still have somewhere). Here it is, many decades later, for your amusement. hand-written notes (which I may still have somewhere).
Here it is, many decades later, for your amusement.
[<img src="http://archive.pcjs.org/apps/c1p/6502/jeffpar/assembler/thumbs/OSI_Assembler-Disassembler_Listing-thumb.jpg" width="200" height="260" alt="6502 Disassembler Listing (by Jeff Parsons, June 1980)"/>](http://archive.pcjs.org/apps/c1p/6502/jeffpar/assembler/pdfs/OSI_Assembler-Disassembler_Listing.pdf) [<img src="http://archive.pcjs.org/apps/c1p/6502/jeffpar/assembler/thumbs/OSI_Assembler-Disassembler_Listing-thumb.jpg" width="200" height="260" alt="6502 Disassembler Listing (by Jeff Parsons, June 1980)"/>](http://archive.pcjs.org/apps/c1p/6502/jeffpar/assembler/pdfs/OSI_Assembler-Disassembler_Listing.pdf)
NOTE: Even though the "source code" listing was based on the 8K version, it more closely resembles the
[4K version](ASSEMBLER-4K.json), because the [8K version](ASSEMBLER-8K.json) I originally located appears to be
an older vintage (4/1980 instead of 6/1980, if the embedded dates are correct). However, even the 4K version
probably doesn't align perfectly with the listing, because it appears to be *newer* than the listing (9/1980).

View file

@ -15,4 +15,9 @@ Here are some sample C1P Machine Configurations:
* [8kb "Server Array" Demo](8kb/array/) * [8kb "Server Array" Demo](8kb/array/)
* [32kb with Diskette Support](32kb/) * [32kb with Diskette Support](32kb/)
See the [C1Pjs Documentation](/docs/c1pjs/) for operational details of our Challenger 1P emulator. See the [C1Pjs Documentation](/docs/c1pjs/) for operational details of the emulator.
Browse our collection of [Challenger 1P Applications](/apps/c1p/), which come in two flavors:
- [BASIC](/apps/c1p/BASIC/)
- [6502 Machine-Language](/apps/c1p/6502/)

View file

@ -32,7 +32,7 @@ Our [Publication Archive](/pubs/) includes these PC-related resources:
* [Reference Manuals](/pubs/pc/reference/) * [Reference Manuals](/pubs/pc/reference/)
* [Software User and Development Guides](/pubs/pc/software/) (eg, [DOS](/pubs/pc/software/dos/), [OS/2](/pubs/pc/software/os2/), [Windows](/pubs/pc/software/windows/)) * [Software User and Development Guides](/pubs/pc/software/) (eg, [DOS](/pubs/pc/software/dos/), [OS/2](/pubs/pc/software/os2/), [Windows](/pubs/pc/software/windows/))
And publications related to Ohio Scientific's 6502-based Challenger 1P: And publications related to Ohio Scientific's 6502-based [Challenger 1P](/devices/c1p/machine/):
* [Datasheets](/pubs/c1p/datasheets/) * [Datasheets](/pubs/c1p/datasheets/)
* [Programming Guides/Samples](/pubs/c1p/programming/) * [Programming Guides/Samples](/pubs/c1p/programming/)