sjgray / osi-monitor-roms Goto Github PK
View Code? Open in Web Editor NEWProject to disassemble ROM then re-assemble to byte exact plus enhancements
Project to disassemble ROM then re-assemble to byte exact plus enhancements
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.