rcornwell / sims

Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH
http://sky-visions.com
95 stars 20 forks source link

KA10: ITS uses uncodumented Type 344 CONO bits #204

Closed larsbrinkhoff closed 4 years ago

larsbrinkhoff commented 4 years ago

ITS uses CONO bits 1000, 400, and 200 to the 340 display. These are not documented here.

When running SPCWAR and TWDEMO, ITS wants to do CONO DIS,200. The comment is "EDGE GRONK DIS AND KEEP GOING". Possibly to an clear edge hit condition.

@rcornwell, @philbudne, @aap, any ideas are welcome.

larsbrinkhoff commented 4 years ago

The ITS code is:

        CONSZ DIS,5000
        JRST SRCY4

and elsewhere

SRCY4:  CONO DIS,200\SDCHN_3\DISCHN     ;EDGE GRONK DIS AND KEEP GOING
        JRST SRCYCX

5000 are the horizontal and vertical edge violation bits.

larsbrinkhoff commented 4 years ago

From the 1964 manual:

conio

larsbrinkhoff commented 4 years ago

For CONO 200, the obvious solution of just clearing the two edge bits does seem to work.

larsbrinkhoff commented 4 years ago

From the 1973 file .INFO.; 340 INFO:


340 CONO BITS ARE:
        ;2.3            CLEAR NO INK MODE
        ;2.2            SET NO INK MODE (IN NO INK MODE, NO INTENSIFICATION CAN OCCUR)
        ;2.1            CLEAR HALF WORD MODE
        ;1.9            SET HALF WORD MODE
        ;1.8            RESUME DISPLAY (TO CONTINUE AFTER A SPECIAL INTERUPT)
        ;1.7            INTIALIZE
        ;1.6-1.4        SPECIAL PIA
        ;1.3-1.1        DATA PIA
larsbrinkhoff commented 4 years ago

The light pen interrupt also uses CONO DIS,200. So it looks like the edge and light pen bits should be cleared. But not the stop bit.

larsbrinkhoff commented 4 years ago

I made this a pull request to add the CONO 200 behaviour. Timesharing Spacewar and TWDEMO works fine now (they trigger edge violations). Light pen interrupt tested with PEEK.

larsbrinkhoff commented 4 years ago

In case anyone wonders about the 1000 and 400 "half word mode" bits, they are only used in ITS by the "interpretive display", and no top of that only in commented-out code.

philbudne commented 4 years ago

Request: please document any MIT H/W mods in comments

larsbrinkhoff commented 4 years ago

We don't know if this was an MIT modification, or something that was added after the 1964 manual. But yes, I'll add comments.

larsbrinkhoff commented 4 years ago

By the way, this is the full comment. It also says CONI had more bits.


;CONI BITS OF THE 340 ARE:
        ;2.9-2.7        MODE
        ;2.4            VECT CONT LP(????)
        ;2.3            VERTICAL EDGE HIT
        ;2.2            LIGHT PEN HIT
        ;2.1            HORIZONTAL EDGE HIT
        ;1.9            STOP
        ;1.8            DONE (CAUSES DATA INTERUPT)
        ;1.6-1.4        SPECIAL PIA
        ;1.3-1.1        DATA PIA
;340 CONO BITS ARE:
        ;2.3            CLEAR NO INK MODE
        ;2.2            SET NO INK MODE (IN NO INK MODE, NO INTENSIFICATION CAN\
 OCCUR) 
        ;2.1            CLEAR HALF WORD MODE
        ;1.9            SET HALF WORD MODE
        ;1.8            RESUME DISPLAY (TO CONTINUE AFTER A SPECIAL INTERUPT)
        ;1.7            INTIALIZE
        ;1.6-1.4        SPECIAL PIA
        ;1.3-1.1        DATA PIA