Giter Site home page Giter Site logo

osi-monitor-roms's Introduction

Ohio Scientific Monitor ROMs Project
====================================

Last update: Dec 29, 2022

This is a repository of OSI Monitor ROMs.
The goal is to gather known monitor roms, disassemble each back to readable source,
with meaningful symbols, label names, and descriptive comments, and to be
able to re-assemble it with the ACME assembler. Once the ROM is understood
we want to be able to customize each with enhancements or additional features,
for example supporting Superboard II Rev D (C1P Series II) selectable video
modes, colour printing etc.

Included Monitors
-----------------

* CEGMON   - In progress
* WEMON    - In progress
* SYN600   - Queued
* NEWMON   - Queued
* BAER MON - Queued
* PCMON2   - Queued
* DABUG    - Queued
* Aardvark - Queued

MONITORS
========

CEGMON - Chkiantz, Elen, and Graves Monitor
------
* /Original Source/ folder was a disassembly found on the web. For reference only!
* /Docs/ contains the manual and installation instructions.
* /Binaries/ contains know versions for various systems.
* /NewBinaries/ contains newly assembled versions from my updated source
* NOTE: CEGMON will not function correctly with US ROMs. You must use the UK-101 ROMs!

WEMON - Watford Electronics Monitor
-----
* Only the Binary and Manual were available.
* /Docs/ contains the Manual and a review
* /Binaries/ contains original binaries for various systems.
* /Disassembly/ folder is my own disassembly of the binary using CBM-Transfer.
  The included ASM-PROJ file will enable you to generate various output formats.
* /Experimental/ is a special "split" version.


SYN600 - Original OSI Monitor for multiple systems
------
* Split Binaries can be assembled as required


NEW MONITOR - By Roger Cuthbert - Supplied with UK-101 machines
-----------
* Binary and Manual


BAER MON By Wolfgang Baer
--------
* Binary and Manual (German)


PCMON2
------
* Binary only - Found in a Superboard I purchased. 
* Appears to be a variation of the SYN600 ROM.


DABUG - Unknown Monitor for C1
-----
* Binary Only


Aardvark - Monitor for C1 and Superboard II. The version for C4 has not been found yet
--------
* Binary for C1
* Binary for Superboard II
* Basic Disassemblies for both


###########
## BASIC ##
###########

* UK-101 BASIC ROMs can be found in the /BASIC folder.
* Needed for certain Monitor ROMs


CURRENT STATUS
==============

SYSTEMS:  (S) =Superboard II
          (SD)=Superboard II Rev D / C1P Series II
          (UK)=UK-101
          (C2)=C2P/C4P

FEATURES: (ASM) = Assembles?, (LBL)=Meaningful Labels, (COM)=Commented
          (CUST) = Customizable? (VID)=Selectable Video Options?

STATUS:   (Y)es, (No), (P)artial

MONITOR  SYSTEM ASM LBL COM CUST VID
-------  ------ --- --- --- ---- ---
CEGMON   UK       Y   Y   P  Y    Y
CEGMON   S        Y   Y   P  Y    Y
CEGMON   SD       Y   Y   P  Y    Y
GECMON   C2	  Y   Y   P  Y    N

WEMON    UK       Y   P   P  N    N
WEMON    S        Y   P   P  N    N
WEMON    SD       Y   P   P  N    N
WEMON    C2       N   P   P  N    N

All other MONITORS have not been investigated yet.
If you have other Monitor ROMs please contact me to have them added!

Steve

osi-monitor-roms's People

Contributors

sjgray avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

osi-monitor-roms's Issues

cegmonc2az.asm assemble arithmetic problem

I am usiing this assembler listing with my home built 6502 system. In may ways it duplicates the Ohio superboard I had years ago.
Major difference is rearranging all IO to be in the $Dxxx segment and uing a PS2 keyboard instead of the original scanned matrix. (Interface is similar to ACIA)
To the problem( about 80 lines down):
The screen is still 1k at $D000-$D3FF but the assembler listing calculation does not give the correct result.

SWIDTH	=	COLS-1
TOP	=	SCREEN+START
BASE	=	ROWS-1*WIDTH+TOP
BOT	=	SIZE+1*1024+SCREEN

For my board: SCREEN = $D000, WIDTH = 32, SIZE =0, START =69, COLS = 24. ROWS = 26
The calculations give (verified by examining the output file):
SWIDTH = 23
TOP = $D045
BASE = $D03F
BOT = $D400

The calculation for BASE gives $D035 which is clearly (now) not correct and gave some strange results.
The formula should have been (NB parentheses):
BASE = (ROWS-1) * WIDTH + TOP which gives $D365 and works correctly.
As it happens the formula for BOT was OK for my system (accidental) but it should be:
BOT = (SIZE+1) * 1024 + SCREEN
Admittably I am not using the same assembler but I would assume that the normal arithmetic precedence rules would be followed. (Mine is VASM oldstyle)
I think this may also apply to other listings.
Hope that is useful
Phil

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.