Monitor ROM Source code

Steve Gray
Posts: 321
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Monitor ROM Source code

Post by Steve Gray »

I am now working on WEMON. I have cleaned up the source, fixed up the formatting, and now WEMON assembles!

The output is 3-bytes short of being binary exact. I'm not sure of the reason, but 3 jump instructions seem to point to the incorrect location (ie: to non-opcode bytes). This could be because of a corrupted source binary. There might be other corrupt bytes. Or, it could have been my disassembler.
If anyone has an original WEMON ROM that they could re-dump and send to me it would be appreciated.

I currently do not have a system set up for a 4K monitor ROM, and WINOSI does not handle it either, so I can not test the binary. Anyone want to try?

The latest files can be found on github: https://github.com/sjgray/OSI-monitor-r ... ster/WEMON

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.
dave
Site Admin
Posts: 710
Joined: Tue Sep 09, 2008 5:24 am

Re: Monitor ROM Source code

Post by dave »

Very nice! Is there a way to get this running with a C2/4 as well?
Steve Gray
Posts: 321
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Monitor ROM Source code

Post by Steve Gray »

dave wrote: Tue Jun 25, 2019 8:41 pm Very nice! Is there a way to get this running with a C2/4 as well?
That is my goal. The source assembles but i still do not understand how it all fits together yet. More work to do!...

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.
Mark
Posts: 293
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: Monitor ROM Source code

Post by Mark »

So the deal with 4K WEMON support is the ACIA in a UK101/C1P is moved from $F000 to $E000 making a 4K chunk of memory available from $F000-$FFFF for the WEMON monitor ROM.

The C2/C4 defaults to an ACIA at $FC00. If it was moved to $E000, it would interfere with the color RAM of the OSI540B ($E000-$E7FF). The PIA of the 500 & 505 board at $F400 would have to be moved as well. Afterwards, you'd have a system that would require a rewrite of all standard software you use to target the new I/O locations.

You could split the wemon code into 2 or 3 chunks, but it probably wouldn't be worth the effort to wire it in....

I believe in addition to the WEMON it also used a custom UK101 BASIC and additional support ROMS for further enhancement.
Steve Gray
Posts: 321
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Monitor ROM Source code

Post by Steve Gray »

So far the only external ROM I can see is a disk controller with firmware at $9800. WEMON has no disk code in order to fit the full-screen editor.

Yes, the C4 will be some work. I don't know if it's worth it or not. Still, I'd like to disassemble and understand as much of WEMON as I can.

I have a Superboard Rev D clone with BILLO's RAM/EPROM board. The EPROM is mapped to $8000 and is 8K, so one of my ideas is to make a 2K "normal" rom for the monitor socket, and put the rest at $8000. That way no ACIA relocation is needed. It's trivial to put the ACIA anywhere once you have source ;-) I haven't tried the RAM/EPROM board in a C4 yet so I don't know if I can do the same for it.

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.
Steve Gray
Posts: 321
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Monitor ROM Source code

Post by Steve Gray »

Behold! WEMON running on WINOSI with some code in a monitor rom from $F800-FFFF and the remainder running at $8000. No ACIA relocation is required.
wemon-with-external-rom.jpg
wemon-with-external-rom.jpg (339.4 KiB) Viewed 9322 times
I tried to get it to work with C4 from $FD00-FFFF, but WINOSI complained about the ROM format.
You can look at the code in the \EXPERIMENTAL folder on my Github.

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.
Steve Gray
Posts: 321
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Monitor ROM Source code

Post by Steve Gray »

And on real hardware:
WEMON-EXT-600D-P50.jpg
WEMON-EXT-600D-P50.jpg (243.86 KiB) Viewed 9320 times
Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.
Post Reply