Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

possible "enhancement" for kl10 NI20 #310

Open
jeffgunter opened this issue Sep 30, 2023 · 7 comments
Open

possible "enhancement" for kl10 NI20 #310

jeffgunter opened this issue Sep 30, 2023 · 7 comments

Comments

@jeffgunter
Copy link

my tops10 hiccups with a KNIWUV stopcode during system startup.

the last two machines our company ran on were the sc40 and then the klh10. both of these machines don't actually require that the NI ucode be loaded from boot, and so we didn't load the ucode at all.

tops10, in routine INIKNI/INIKN1, the ucode version is preferred to be MINUVR, or 167.

i'm assuming that the NI20 doesn't actually execute DEC's NI20 ucode. not sure how simh's kl10 NI20 handles being "loaded", but if my tops10 reads station info, the default "unloaded" ucode version word is 0,,1717, so the ucode version # is seen as zero. if the NI20 "runs" without actually being loaded with ucode, then maybe the default "unloaded" ucode version field 3,,770000 ought to be 1,,670000 (or higher) so that tops10 will be happy with the ucode version number ? ie: something like 1,,671717 ...

my current machine has a ucode version word of 1,,721717 (ie: version 172); don't recall what the sc40 returned.

-jfg

@rcornwell
Copy link
Owner

I support tracking the microcode by saving locations 274 - 277. If your versions stores it at a different location I can expand the range.

@jeffgunter
Copy link
Author

i interpret your comment to mean that the expectation is that valid dec ni ucode is "loaded" into the NI20, by boot or knildr, and then the simulator makes note of info in ucode adresses 274-277 and provides that back to the pdp10 code on reading the station address ... ? does this imply that the emulated NI20 really executes the code it is given, or does it just keep track of those locations solely for the purpose of returning version info etc ? i can probably dig up the real microcode and brew a version of boot that will load it.

if the emulated ni20 doesn't actually execute dec ni20 ucode, then maybe it should return version info related to the version of the ucode that it does attempt to emulate... ?

in any case, not complaining, i can live with teaching boot to load the real ucode just for that purpose. or neutering the pdp10 code in tops10 kniser that checks it.

thanx,
-jfg

@rcornwell
Copy link
Owner

I pretty much copied the microcode checking from Klh10. And no I do not execute the microcode. I am not sure if there is sufficient documentation actually emulate it. Under Tops 10 is verifies some location (274-277) to validate that the microcode loaded. I emulate versions 0172.

@jeffgunter
Copy link
Author

no need to change anything, unless you're doing it as a voluntary enhancement. as i say, we don't have the ni ucode in the version of boot we normally run because it isn't necessary on the sc40 or klh10. the sc40 and the klh10 apparently do not need to have any dummy loads sent to them in order to return a reasonable ucode version number. not sure as to whether they actually do return the same number as given if a load is done, but they return a valid number even if a load is not done.

i'm happy, i loaded up boot with the ni ucode to make the kniwuv stopcode go away. as the title says "possible enhancement".

@rcornwell
Copy link
Owner

I assume you will load the microcode, which should be automatic. If you don't load the microcode then you will have empty machine. I don't do a SC40 so no idea about whether microcode was loaded or not.

Can we close issues that are resolved?

@jeffgunter
Copy link
Author

jeffgunter commented Sep 30, 2023 via email

@rcornwell
Copy link
Owner

I try to emulate closer to hardware. It would not be hard to force a specific version into the NIA20 if you wanted.

Also not overboard, I thank you for finding these errors. Keep going, it is very helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants