ASMEDIT X16 - 65C02 Assembler and Editor Software
Posted: Sat Aug 05, 2023 1:21 pm
*** VERSION 3 UPLOADED!!! ***
ASMEDIT X16 has been modified to remove the troublesome ROCKWELL instructions BBR, BBS, RMB & SMB, which don't work on a 65c816 CPU. In addition there are new functions included to IMPORT/EXPORT source from/to ASCII text files:
1. CREATE CODE' menu
This existing menu now has a new field included IMPORT TEXT FILE to specify the file name of an ASCII text file to be used as the basis of the new code:-
N.B. The CLEAR CODE field must be set to Y.
The text file should be in ASCII format and be held on the current directory (as set by the F2 directory command)
CR chars indicate a new line.
LF chars are ignored.
Lines greater then 56 chars will be truncated.
A new SECTION is created every 64 lines (leaving plenty of room for code inserts in each section),
Up to a maximum of 99 SECTIONs.
There is no case sensitivity.
There is no verification or conversion of code.
EXPORT TO TEXT FILE is a new command (O filename) within the EDITOR to output the current BUFFER contents.
N.B. Text is written in ASCII format (lowercase).
Sections are output sequentially to one file using the given filename.
The file is written to the current directory.
An existing file will be overwritten.
CR/LF chars are written as line breaks.
The manual has been updated to reflect the new functions. IMPORT (Ref: 3.1) & EXPORT (Ref: 4.23)
See DOWNLOADs below:-
-0O0-
*** NEW VERSION UPLOADED!!! ***
A new function has been added with version 2 of ASMEDIT X16, to browse listings created on disk by the Assembler.
INTRODUCTION
ASMEDIT X16 is an ASSEMBLER (65C02) and EDITOR for the COMMANDER X16. This software, originally developed for the Commodore CBM II Series, has been adapted and ported to the Commander X16 environment.
Source code can be created, saved, loaded, edited and assembled. A 'menu' system is used to navigate between the various functions which include file maintenance. Each of the 'Menu' pages displayed enables the user to choose the current directory path in operation.
ASMEDIT X16 uses a file naming convention to aid the handling of code objects on disk - objects being source code (*.SOR), executable code (*.PRG) and listings (*.LST).
Programs are assigned a CODE NAME by the user. For single SEGMENT programs the CODE NAME is combined with the appropriate FILE TYPE to create a filename e.g., ‘SORT.SOR’.
Large programs may be broken down into SEGMENTs. Each SEGMENT of source code is then stored as a single file prefixed by a 2-character assigned SEGMENT NO. and suffixed by the CODE NAME and FILE TYPE e.g., '3 SORT.SOR'.
LOADING THE SOFTWARE
ASMEDIT X16 can be loaded with BASIC command LOAD “ASMEDIT.PRG” followed by the ‘RUN’ command. ASMEDIT.PRG will then load the following binaries (which will need to be located on the same directory) before entering the PRIMARY COMMANDS menu and be ready for use: -
XAM.BIN Menu Control
XAE.BIN Menu Functions
X0F.BIN Machine Specific Functions
XAI.BIN Default Input Data
XHP.BIN Help Text
XAL.BIN Browse Listing (new with version 2)
DOWNLOAD
Version 3 Version 2 Version 1 Note: A PDF reference manual is included within each download file.
THE ASSEMBLER
The ASSEMBLER generates executable code from source code to run on a 65C02 machine, specifically the commander X16. It can also produce a program listing (complete or errors only). The Listing is created in text format and can be directed to the screen, disk or a printer.
The ASSEMBLER reads through the source code TWICE. The first pass identifies SYMBOLs and builds a SYMBOL table. At this point some SYMBOL values will be unresolved. The second pass resolves these values, creates the listing, identifies and reports coding errors and generates the required machine code. Finally, the SYMBOLs are reported in tabular form, in alphabetic order at the end of the program listing. Progress of the assembly is displayed on the screen.
Large programs may be split into physical SEGMENTS. A SEGMENT is a single source code file which can be loaded into memory. SEGMENTs may be combined at assembly through a naming convention and an assembler command to form a single program.
THE EDITOR
The EDITOR is where the user can enter and edit source code. Source code in memory is logically split into SECTIONS (upto 99), with the current SECTION displayed as a single page (upto 127 lines). [PGDN] & [PGUP] allow the user to scroll through SECTIONS.
Source displayed by the EDITOR is physically held in memory known as BUFFERs. Two BUFFERs are used, BUFFER 1 and BUFFER 2. The EDIT BUFFER is where source code is held when currently in view. This may be either BUFFER 1 or 2. Code entered from the keyboard is always entered into the EDIT BUFFER, similarly all filing is performed to/from the EDIT BUFFER. The STORAGE BUFFER is where code is held temporarily to one side as it were. When in the STORAGE BUFFER it cannot be saved or 'handled' without first passing it back to the EDIT BUFFER. However, its whole contents can be swapped with the EDIT BUFFER at the touch of a key. It may be useful to think of BUFFERs 1 and 2 as being a turn table divided into two. The half nearest and currently in use is then the EDIT BUFFER. The part furthest away is the STORAGE BUFFER. Swapping the BUFFERs is then equated with turning the table so that the other half is then nearer and so becomes the EDIT BUFFER.
The EDITOR supports multiple commands which enable source code to be crafted in the EDIT BUFFER and passed to or from the storage BUFFER. SECTIONs within SEGMENTs can be navigated with the [PGUP]/[PGDN] keys or the GOTO SECTION command. Code entered can be verified with the VERIFY command. Pressing [PF1] in the Editor displays a QUICK GUIDE to the commands available.
#R47
ASMEDIT X16 has been modified to remove the troublesome ROCKWELL instructions BBR, BBS, RMB & SMB, which don't work on a 65c816 CPU. In addition there are new functions included to IMPORT/EXPORT source from/to ASCII text files:
1. CREATE CODE' menu
This existing menu now has a new field included IMPORT TEXT FILE to specify the file name of an ASCII text file to be used as the basis of the new code:-
N.B. The CLEAR CODE field must be set to Y.
The text file should be in ASCII format and be held on the current directory (as set by the F2 directory command)
CR chars indicate a new line.
LF chars are ignored.
Lines greater then 56 chars will be truncated.
A new SECTION is created every 64 lines (leaving plenty of room for code inserts in each section),
Up to a maximum of 99 SECTIONs.
There is no case sensitivity.
There is no verification or conversion of code.
EXPORT TO TEXT FILE is a new command (O filename) within the EDITOR to output the current BUFFER contents.
N.B. Text is written in ASCII format (lowercase).
Sections are output sequentially to one file using the given filename.
The file is written to the current directory.
An existing file will be overwritten.
CR/LF chars are written as line breaks.
The manual has been updated to reflect the new functions. IMPORT (Ref: 3.1) & EXPORT (Ref: 4.23)
See DOWNLOADs below:-
-0O0-
*** NEW VERSION UPLOADED!!! ***
A new function has been added with version 2 of ASMEDIT X16, to browse listings created on disk by the Assembler.
INTRODUCTION
ASMEDIT X16 is an ASSEMBLER (65C02) and EDITOR for the COMMANDER X16. This software, originally developed for the Commodore CBM II Series, has been adapted and ported to the Commander X16 environment.
Source code can be created, saved, loaded, edited and assembled. A 'menu' system is used to navigate between the various functions which include file maintenance. Each of the 'Menu' pages displayed enables the user to choose the current directory path in operation.
ASMEDIT X16 uses a file naming convention to aid the handling of code objects on disk - objects being source code (*.SOR), executable code (*.PRG) and listings (*.LST).
Programs are assigned a CODE NAME by the user. For single SEGMENT programs the CODE NAME is combined with the appropriate FILE TYPE to create a filename e.g., ‘SORT.SOR’.
Large programs may be broken down into SEGMENTs. Each SEGMENT of source code is then stored as a single file prefixed by a 2-character assigned SEGMENT NO. and suffixed by the CODE NAME and FILE TYPE e.g., '3 SORT.SOR'.
LOADING THE SOFTWARE
ASMEDIT X16 can be loaded with BASIC command LOAD “ASMEDIT.PRG” followed by the ‘RUN’ command. ASMEDIT.PRG will then load the following binaries (which will need to be located on the same directory) before entering the PRIMARY COMMANDS menu and be ready for use: -
XAM.BIN Menu Control
XAE.BIN Menu Functions
X0F.BIN Machine Specific Functions
XAI.BIN Default Input Data
XHP.BIN Help Text
XAL.BIN Browse Listing (new with version 2)
DOWNLOAD
Version 3 Version 2 Version 1 Note: A PDF reference manual is included within each download file.
THE ASSEMBLER
The ASSEMBLER generates executable code from source code to run on a 65C02 machine, specifically the commander X16. It can also produce a program listing (complete or errors only). The Listing is created in text format and can be directed to the screen, disk or a printer.
The ASSEMBLER reads through the source code TWICE. The first pass identifies SYMBOLs and builds a SYMBOL table. At this point some SYMBOL values will be unresolved. The second pass resolves these values, creates the listing, identifies and reports coding errors and generates the required machine code. Finally, the SYMBOLs are reported in tabular form, in alphabetic order at the end of the program listing. Progress of the assembly is displayed on the screen.
Large programs may be split into physical SEGMENTS. A SEGMENT is a single source code file which can be loaded into memory. SEGMENTs may be combined at assembly through a naming convention and an assembler command to form a single program.
THE EDITOR
The EDITOR is where the user can enter and edit source code. Source code in memory is logically split into SECTIONS (upto 99), with the current SECTION displayed as a single page (upto 127 lines). [PGDN] & [PGUP] allow the user to scroll through SECTIONS.
Source displayed by the EDITOR is physically held in memory known as BUFFERs. Two BUFFERs are used, BUFFER 1 and BUFFER 2. The EDIT BUFFER is where source code is held when currently in view. This may be either BUFFER 1 or 2. Code entered from the keyboard is always entered into the EDIT BUFFER, similarly all filing is performed to/from the EDIT BUFFER. The STORAGE BUFFER is where code is held temporarily to one side as it were. When in the STORAGE BUFFER it cannot be saved or 'handled' without first passing it back to the EDIT BUFFER. However, its whole contents can be swapped with the EDIT BUFFER at the touch of a key. It may be useful to think of BUFFERs 1 and 2 as being a turn table divided into two. The half nearest and currently in use is then the EDIT BUFFER. The part furthest away is the STORAGE BUFFER. Swapping the BUFFERs is then equated with turning the table so that the other half is then nearer and so becomes the EDIT BUFFER.
The EDITOR supports multiple commands which enable source code to be crafted in the EDIT BUFFER and passed to or from the storage BUFFER. SECTIONs within SEGMENTs can be navigated with the [PGUP]/[PGDN] keys or the GOTO SECTION command. Code entered can be verified with the VERIFY command. Pressing [PF1] in the Editor displays a QUICK GUIDE to the commands available.
#R47