mirror of
https://github.com/michaelcmartin/Ophis.git
synced 2024-09-07 13:54:30 +00:00
A cross-assembler for the 6502 series of microprocessors.
16 additional bytes from the zero page are now available; the ZP locations from $02-$8F are now free for your program's use. Approximately 128 additional bytes in main RAM are now available, giving you free reign from $0800-$CFFF. Zero Page backup is now handled underneath the KERNAL's ROM, with the program epilogue safely handling swapping out the KERNAL for the duration of the switch. (IRQs are disabled, and NMI handling code is replicated and modified to not hurt anything.) Program exit is now handled by keyboard buffer and jumping through BASIC's warm reset vector. This technique lets programs play more nicely with PUCRUNCH and onefilers (which otherwise often confused BASIC as the BASIC prologue would change as part of decompression or link-loading). |
||
---|---|---|
bin | ||
doc | ||
examples | ||
platform | ||
src | ||
tests | ||
vendor | ||
.gitattributes | ||
.gitignore | ||
README |
Ophis is a cross-assembler for the 65xx series of chips. It supports the stock 6502 opcodes, the 65c02 extensions, experimental support for the 4502/4510 used in the Commodore 65 prototypes, and syntax for the "undocumented opcodes" in the 6510 chip used on the Commodore 64. (Syntax for these opcodes matches those given in the VICE team's documentation.) Ophis is written in pure Python and should be highly portable. It is provided under the MIT license, reproduced below: --- Ophis, Copyright (C) 2002-2014 Michael Martin and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.