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

How to make use of the transcribed listing? #5

Open
larsbrinkhoff opened this issue Nov 19, 2020 · 8 comments
Open

How to make use of the transcribed listing? #5

larsbrinkhoff opened this issue Nov 19, 2020 · 8 comments

Comments

@larsbrinkhoff
Copy link
Contributor

Hello,

Is there a plan for making use of the transcribed listing?

Is there a cross assembler? Is there a JOHNNIAC emulator?

@sebras
Copy link
Owner

sebras commented Nov 19, 2020

There are several instruction listings and I'm working on an emulator for JOHNNIAC. I'm using what appear to be sample tests to see if the emulator behaves reasonably. I'm basically slowly teaching myself how to write an emulator. If I can get anything to run decently there I might have learned enough to make a port of it to SimH. That's my plan anyway.

There is an assembler written for JOHNNIAC itself, JACASS II. Since JACASS II appears to be written in its own assembler format it is rather hard to put into the emulator. I have seen a document somewhere that explains the format, but where is it now? Oh and I have not fully understood the format yet.

@larsbrinkhoff
Copy link
Contributor Author

larsbrinkhoff commented Nov 20, 2020

Cool! I'd like to see your emulator when there is something to show.

I might be interested in making an assembler. In addition to making an executable binary, it could also do some sanity checks on the transcribed text. Perhaps Python would be comfortable implementation language for many?

Just by typing some pages, I'm guessing this:

                       vOperand 1, register Q5
G006E000+    * 33  010 Q  5 010 * 043
^Page ^ ^    ^Label ^Opcode     ^Operand 2, memory?
   Line New section?
```

P and Q seems to be registers?  * memory?  = immediate?

@larsbrinkhoff
Copy link
Contributor Author

Ah, this explains a lot.
johnniac

@drboone
Copy link

drboone commented Nov 20, 2020

The JOSS listing is in J136 loader format. http://bitsavers.org/pdf/rand/johnniac/J136A_Loader_For_Style_E_Programs_Dec55.pdf

@drboone
Copy link

drboone commented Nov 20, 2020

Also, the JACASS pdf is an actual assembler listing, with both source and object represented. It ought to be possible to convert the object code columns into one of the absolute binary card formats fairly easily.

@sebras
Copy link
Owner

sebras commented Nov 21, 2020

The JOSS listing is in J136 loader format. http://bitsavers.org/pdf/rand/johnniac/J136A_Loader_For_Style_E_Programs_Dec55.pdf

I have that loader transcribed.

@sebras
Copy link
Owner

sebras commented Nov 21, 2020

The JOSS listing is in J136 loader format. http://bitsavers.org/pdf/rand/johnniac/J136A_Loader_For_Style_E_Programs_Dec55.pdf

I have that loader transcribed.

This is now part of #13.

@sebras
Copy link
Owner

sebras commented Nov 21, 2020

In #2 I read

I haven't seen much (any?) doco about how the machine was initially started. Anyone? My guess is that a short series of 10.x orders were entered from the console to initially load a card deck (or perhaps something stored permanently on the drum).

I have not seen anything about that. But it seems like JOHNNIAC had a number of subroutines (listed in http://www.bitsavers.org/pdf/rand/johnniac/Johnniac_Library_Writeups_Sep59.pdf) saved in some (semi-?)permanent locations such that their addresses could be depended on.

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

3 participants