Hi L.Curtis,
thanks a lot for that explanantion!
While debugging the F$SRqMem I found out the 'need' for that $1900 value ... to ensure beginning at an even numbered page.
When I have the time I will debug/trace from the last point I did arrive to.
This time I will not 'skip' code setting a breakpoint on $c0c3 (where string should be printed), instead I will trace everything,
so sooner or later I will get to $c0c3.
I had found an endless loop the first time I debugged from $c0c3 (inside CC3Go), I hope to detect this time what are the variables
that do not change value and so create the dread loop
cheers!
pere
Ps I downloaded the file "NitrOS-9_EOU_Level_2_Technical_Reference_Manual (L.Curtis Boyle).pdf"
This is really a must read book. Thanks a lot for sharing all this information!
OS-9 Level 2 for (updated) Dragons
Re: OS-9 Level 2 for (updated) Dragons
Hi Pere,
Thanks for your work on reconstructing Bob Hall’s level 2 procedure.
I recall that Tormod has already ported NitrOS-9 Level 2 to the MOOH, which might be a useful starting point for your work.
The source is available here: https://gitlab.com/tormod/level2mooh
Cheers
Ken
Thanks for your work on reconstructing Bob Hall’s level 2 procedure.
I recall that Tormod has already ported NitrOS-9 Level 2 to the MOOH, which might be a useful starting point for your work.
The source is available here: https://gitlab.com/tormod/level2mooh
Cheers
Ken
Re: OS-9 Level 2 for (updated) Dragons
Hi, KenKenH wrote: ↑Fri Jul 24, 2026 10:47 am Hi Pere,
Thanks for your work on reconstructing Bob Hall’s level 2 procedure.
I recall that Tormod has already ported NitrOS-9 Level 2 to the MOOH, which might be a useful starting point for your work.
The source is available here: https://gitlab.com/tormod/level2mooh
Cheers
Ken
pleased to hear from you!
I have a 'mooh' module, will give a peek at his web. The version we are converting to the Dragon uses modules from the v2.0 of OS9L1
from Eurohard, so it is using PMode4 to show the text. The first Tormod's version I remember was using plain text but I think it was for
any Dragon, so 64K were enough to start ...
Thanks a lot for the pointer!
cheers!
pere
Re: OS-9 Level 2 for (updated) Dragons
Hello,
just an update of the status of this project.
I have arrived to the point where a new process is created (OS9 F$Fork) and then it is associated to the module "CC3Go"
The second process is started and the 'parent' process never returns ...
In theory, CC3Go is the module that should print the welcome message so, hopefully in next debug/trace session I will get to
the point that creates the endless loop. Hopefully we will find the reason for that ...
By the way, while tracing till this point, I found an apparently Easter egg. It is an encoded string just using the eor function.
The text that appears seem to be the name of three important people inside Microware:
- The president and the OS9 programmers (one for sure ...) See image
#image cheers!
pere
just an update of the status of this project.
I have arrived to the point where a new process is created (OS9 F$Fork) and then it is associated to the module "CC3Go"
The second process is started and the 'parent' process never returns ...
In theory, CC3Go is the module that should print the welcome message so, hopefully in next debug/trace session I will get to
the point that creates the endless loop. Hopefully we will find the reason for that ...
By the way, while tracing till this point, I found an apparently Easter egg. It is an encoded string just using the eor function.
The text that appears seem to be the name of three important people inside Microware:
- The president and the OS9 programmers (one for sure ...) See image
#image cheers!
pere
Last edited by pser1 on Sat Jul 25, 2026 11:04 am, edited 1 time in total.
Re: OS-9 Level 2 for (updated) Dragons
Hi Pere
Good to hear from you too.
My MOOH board is no longer functional, but I believe Tormod’s Level2 implementation supported multiple screen modes, including COHR for high res. Might be worthwhile to check out his code.
https://gitlab.com/tormod/level2mooh/-/wikis/build
Good to hear from you too.
My MOOH board is no longer functional, but I believe Tormod’s Level2 implementation supported multiple screen modes, including COHR for high res. Might be worthwhile to check out his code.
https://gitlab.com/tormod/level2mooh/-/wikis/build
Re: OS-9 Level 2 for (updated) Dragons
That's right. Looking at the last url I can see a lot of different possible graphic compilations.KenH wrote: ↑Fri Jul 24, 2026 3:02 pm Hi Pere
Good to hear from you too.
My MOOH board is no longer functional, but I believe Tormod’s Level2 implementation supported multiple screen modes, including COHR for high res. Might be worthwhile to check out his code.
https://gitlab.com/tormod/level2mooh/-/wikis/build
I have downloaded the zip with some source files. Maybe could be of help for next versions.
First we need to get it writting onto screen!
thanks a bunch!
pere
-
lcurtisboyle
- Posts: 33
- Joined: Thu Nov 05, 2020 9:47 pm
Re: OS-9 Level 2 for (updated) Dragons
Yes, this is the default keyboard buffer string in SCF (we changed it in NitrOS9, naturally!). If you hit CTRL-A (or SHIFT-RIGHT ARROW in NitrOS9 Level 2) before you type anything else in any SCF device (screen, window, terminal, etc.), that hidden credits message will show up.pser1 wrote: ↑Fri Jul 24, 2026 2:12 pm By the way, while tracing till this point, I found an apparently Easter egg. It is an encoded string just using the eor function.
The text that appears seem to be the name of three important people inside Microware:
- The president and the OS9 programmers (one for sure ...) See image
#image
EasterEgg found at $da26 (from $d9f5)x.jpg
cheers!
pere
Re: OS-9 Level 2 for (updated) Dragons
I have debugged/traced that code three more times to be sure that the welcome message is correctly processed.
OS9 returned address $8a00 as the beginning of the $1800 area we need for PMode4
The module CC3Go prepares chunks of 32 chars (copied to $a2e0) and then calls the function F$Write that reads
every char and then processes it applying 4 masks and the result is put into RAM in the reserved range ($8a00 ...)
The message is processed in five parts because it has length $89 = 137 (4x32+9)
Despite I can see the values POKEd in the RAM area, nothing is shown on screen
I cannot understand that behaviour. I don't know if this could be the result of one or more wrong parameters in
modules like SCF, Kbvdio, Term ...
Looking at the MMU pages, I can see slot 4 for task #0 associated to physical page #03
But for task #1 in that same slot there is value '3e' that seems to denote slot not in use
OS9 writes from task #0 and when finished returns control to CC3Go so I imagine that this is the point where it
changes back to task #1.
Could anyone shine a bit of light to solve this 'white screen' problem?
Thanks beforehand
pere
Ps according to Bob Hall's procedure, we are using SCF, CC3Go, IOMan from Tandy Level II
but Term, Kbvdio are from Eurohard Level I v2.0
To help anyone wanting to look for that problem, I am attching here a zip with all of the source files
OS9 returned address $8a00 as the beginning of the $1800 area we need for PMode4
The module CC3Go prepares chunks of 32 chars (copied to $a2e0) and then calls the function F$Write that reads
every char and then processes it applying 4 masks and the result is put into RAM in the reserved range ($8a00 ...)
The message is processed in five parts because it has length $89 = 137 (4x32+9)
Despite I can see the values POKEd in the RAM area, nothing is shown on screen
modules like SCF, Kbvdio, Term ...
Looking at the MMU pages, I can see slot 4 for task #0 associated to physical page #03
But for task #1 in that same slot there is value '3e' that seems to denote slot not in use
OS9 writes from task #0 and when finished returns control to CC3Go so I imagine that this is the point where it
changes back to task #1.
Could anyone shine a bit of light to solve this 'white screen' problem?
Thanks beforehand
pere
Ps according to Bob Hall's procedure, we are using SCF, CC3Go, IOMan from Tandy Level II
but Term, Kbvdio are from Eurohard Level I v2.0
To help anyone wanting to look for that problem, I am attching here a zip with all of the source files
Re: OS-9 Level 2 for (updated) Dragons
Just to prove that the intro message is well depicted on screen despite being not visible ...
I have saved a Snapshot from XRoar and then have found the beginning of the data at $86C70
I have used an hexadecimal editor to cut out just some $1600 bytes into a Dragon binary file
Then I have started a Dragon emulation, set PMode4, PCLS1, SCREEN1,1 and set an infinite loop
While looping I can load from disk the file into memory ($C00 on)
The result is in the image below. So the masking system works flawlessly.
Now we need to find a way to make it appear on screen.
Seems easy, doesn't it?
But I cannot see what's preventing it to be shown
cheers!
pere
@sixxie
Could you tell me what exact memory is saved at trhat address ($86C70) when saving a snapshot
of the Dragon with the iMMUnity module?
I have saved a Snapshot from XRoar and then have found the beginning of the data at $86C70
I have used an hexadecimal editor to cut out just some $1600 bytes into a Dragon binary file
Then I have started a Dragon emulation, set PMode4, PCLS1, SCREEN1,1 and set an infinite loop
While looping I can load from disk the file into memory ($C00 on)
The result is in the image below. So the masking system works flawlessly.
Now we need to find a way to make it appear on screen.
Seems easy, doesn't it?
But I cannot see what's preventing it to be shown
cheers!
pere
@sixxie
Could you tell me what exact memory is saved at trhat address ($86C70) when saving a snapshot
of the Dragon with the iMMUnity module?
Re: OS-9 Level 2 for (updated) Dragons
For anyone that could want to give it a debug session, I am attaching here a zip containing two virtual disks
- F1-step8 (BOOT6, L2BOOT, CCSW53).VDK
- F2X2-184K.VDK
We need to have the 'Level 2-like' disk on drive 1, so we need to mount into drive 1 disc 'F2X2' and to drive 2 disk 'F1-'
Sorry for the numbers inversion ...
Once done, on XRoar just issue: RUN"2:CCSW53 and press Enter
You will see a message asking for confirmation and then it will STOP
Now it is time to start GDB and set one breakpoint at least ...
Then just 'cont' on GDB and 'CONT' on the Dragon
Hope someone will find the offending code
cheers
pere
- F1-step8 (BOOT6, L2BOOT, CCSW53).VDK
- F2X2-184K.VDK
We need to have the 'Level 2-like' disk on drive 1, so we need to mount into drive 1 disc 'F2X2' and to drive 2 disk 'F1-'
Sorry for the numbers inversion ...
Once done, on XRoar just issue: RUN"2:CCSW53 and press Enter
You will see a message asking for confirmation and then it will STOP
Now it is time to start GDB and set one breakpoint at least ...
Then just 'cont' on GDB and 'CONT' on the Dragon
Hope someone will find the offending code
cheers
pere