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
title: Challenger 1P Machine-Language (6502) Applications
title: Challenger 1P Machine-Language Applications
permalink: /apps/c1p/6502/
---
Challenger 1P Machine-Language (6502) Applications
Challenger 1P Machine-Language Applications
---
The project contains the following 6502 machine-language tests:

View file

@ -1,10 +1,10 @@
---
layout: page
title: Challenger 1P Machine-Language (6502) Programs
title: Challenger 1P Machine-Language Programs
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)

View file

@ -6,23 +6,36 @@ redirect_from:
- /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
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
editor, assembler, and disassembler.
HEX monitor that was built into the C1P. And so my [6502 Assembler/Disassembler](ASSEMBLER-4K.json) was born,
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
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
of things. I had never even used tools like that before, which is why the **6502 ASSEMBLER/DISASSEMBLER** is a
bit of an odd duck. I'll post some screenshots and a demo eventually, and you'll see what I mean.
of things. I had never even used tools like that before, which is why the [6502 Assembler/Disassembler](ASSEMBLER-4K.json)
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
code" listing. I produced it mostly by using the program to disassemble itself, combined with information
from hand-written notes (which I may still have somewhere). Here it is, many decades later, for your amusement.
code" listing. I produced it mostly by using the program to disassemble itself, combined with information from
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)
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/)
* [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/)
* [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/)
* [Programming Guides/Samples](/pubs/c1p/programming/)