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
Monitor ROM Source code
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: Monitor ROM Source code
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.
-
- Site Admin
- Posts: 717
- Joined: Tue Sep 09, 2008 5:24 am
Re: Monitor ROM Source code
Very nice! Is there a way to get this running with a C2/4 as well?
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: Monitor ROM Source code
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.
-
- Posts: 297
- Joined: Tue Sep 16, 2008 6:04 am
- Location: Madison, WI
- Contact:
Re: Monitor ROM Source code
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.
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.
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: Monitor ROM Source code
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
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.
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: Monitor ROM Source code
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.
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
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.
-
- Posts: 325
- Joined: Mon Oct 06, 2008 1:54 pm
- Location: Markham, Ontario, Canada
- Contact:
Re: Monitor ROM Source code
And on real hardware:
Steve
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.