Git Product home page Git Product logo

sysmon65's Introduction

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

SYSMON65

SYSMON65 is a system monitor which has been developed for my custom built 65C02 single board computer (SBC). This monitor can easily be ported to other 65C02 based SBCs. SYSMON65 also supports 65C02 specific instructions, such as phx, plx, bra, and more. However, it may be converted back to 6502 specific instructions (if anyone were really interested in do so) for use with the KIM-1, Apple II series computers, Commodore 64, VIC-20, and other hardware implementations.

My 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, 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 monitor software. During early development, the memory footprint of the monitor software was not considered, but as development progressed this became a priority, I had to keep it “real tight”!

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 like the front-end editor, but the assembler does not come with a dissembler. The assembler is a 2-pass assembler and feels very solid, but it was written primarily for an Apple computer. With San’s permission I used his front-end editor code, reviewed every line, and eventually re-wrote most of this.

  • The KRUSADER by Ken Wessen 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 the front-end editor.

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 includes a full 2-pass assembler with local and global labels, directives, and more. A 65C02 disassembler is included which includes step-by-step debugging (aka Tracing), memory dumps, ASCII dumps, fill, delete, block move, intel hex loader and more.

SYSMON65 has been tested on 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

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.