Git Product home page Git Product logo

jdimeglio / sysmon65 Goto Github PK

View Code? Open in Web Editor NEW
25.0 7.0 4.0 29.26 MB

SYSMON65 is a full 2-pass assembler, with local and global labels, directives, and more. A 65C02 disassembler is included which includes Step-By-Step debugging (i.e., Tracing), memory dump, ASCII dump, fill, delete, block move, intel hex loader and more.

Assembly 100.00%
6502 65c02 6502-assembly 6502-disassembly assembler tracer debugger lcd16x2 6551 6522

sysmon65's Introduction

░██████╗██╗░░░██╗░██████╗███╗░░░███╗░█████╗░███╗░░██╗░█████╗░███████╗ ██╔════╝╚██╗░██╔╝██╔════╝████╗░████║██╔══██╗████╗░██║██╔═══╝░██╔════╝ ╚█████╗░░╚████╔╝░╚█████╗░██╔████╔██║██║░░██║██╔██╗██║██████╗░██████╗░ ░╚═══██╗░░╚██╔╝░░░╚═══██╗██║╚██╔╝██║██║░░██║██║╚████║██╔══██╗╚════██╗ ██████╔╝░░░██║░░░██████╔╝██║░╚═╝░██║╚█████╔╝██║░╚███║╚█████╔╝██████╔╝ ╚═════╝░░░░╚═╝░░░╚═════╝░╚═╝░░░░░╚═╝░╚════╝░╚═╝░░╚══╝░╚════╝░╚═════╝░

SYSMON65

SYSMON65 is an operating system for my custom built 65C02 single board computer (SBC). This OS can easily be ported to other 65C02 based SBCs. SYSMON65 uses the 65C02 specific instructions, such as phx, plx, bra, and more. However, it can be converted back to 6502 only instructions (if anyone were really interested in do so) for use with say the KIM-1, Apple II series computers, Commodore 64, VIC-20, and other hardware implementations. My personal SBC includes the venerable 65C02 processor, a 6551 for UART functionality, a 6522 chip for I/O ports, a 27C256 typical ROM and RAM chips, LCD and address decoding logic chips.

After searching the internet and reviewing the few 6502 operating systems and monitor software that I could find, I discovered that I only liked parts of the functionality of each.

So, I decided to develop my own OS – admittedly I had written one in 1990’s and it was inspired back when Windows had DEBUG. Initially the memory footprint of the OS was not considered, but as development progressed this became a priority - so where I can I save every byte I could. My goal for SYSMON65 is to be a software development tool for my SBC. A user may paste code into the terminal, compile it, do memory dumps, decode it, edit the code, and much more…

Parts of my code was inspired by the following:

  • The A1 Assembler by San Bergmans I liked the front-end editor only, but the assembler does not come with a dissembler. However the assembler is a 2-pass assembler and feels very solid, but it was written primarily for an Apple computer, and therefore limited to only 6502 instruction set. With San’s permission I used his front-end editor code, reviewed every line, but eventually re-wrote most of it - lile 98% of it. This allowed me to ensure I could get the full use of the 65C02 instructions but fully integrated it into my OS

  • The KRUSADER by Ken Wessen Among other things this has a super-efficient disassembler (most likely created by MOS and used by Apple) and includes the specific 65C02 instructions. With respect, I did not like anything else.

The look and feel of SYSMON65 was heavily influenced by the famous line-oriented debugger Debug https://en.wikipedia.org/wiki/Debug_(command) found in DOS (those were the days!). Some Debug front-end functionality can be found in SYSMON65, including the [Backspace] key to fix mistypes, and command history functionality using the [Up arrow] key.

SYSMON65 has a full 2-pass assembler with local and global labels, directives, and much more. A 65C02 disassembler is included. Ive also built step-by-step debugger (aka Tracing), memory dumps, ASCII dumps, fill, delete, block move, intel hex loader, Kermit and a library to drive LCD display to name a few.

SYSMON65 has been tested on real hardware running a N65C02 processor. It also includes code for an LCD 16x2 module. The software currently takes just over 7.2KB of memory space.

sysmon65's People

Contributors

jdimeglio avatar opcodepete avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.