Example of code modification on the 1130

31 views
Skip to first unread message

Eddy Quicksall

unread,
Mar 7, 2018, 7:37:36 PM3/7/18
to ibm...@googlegroups.com

When we programmed for the 1130 didn’t have much memory so, within interrupt code, we generally avoided the complex logic involved with a state machine. The “nice” thing was that we could modify an instruction but can, if not done correctly, lead to more complex logic than you would want to deal with.

 

When my friend wrote a DISKZ that would run as a replacement for DISK1, he used instruction modification to his advantage which eliminated a complex and unnecessary state machine. I also saw a nice use of a similar technique in the IBM SCATx code (BI-SYNC). Here is what I remember of DISKZ from those old days:

 

      *                                                   COL 73

INT   DC      *-*     INTERRUPT ENTRY POINT

 

      ... SAVE REGISTERS & SETUP

 

UT0F  BSC  L  *-*     CONTINUE WITH SERVICE ROUTINE

SERV  EQU     *-1     ADDRESS OF SERVICE ROUTINE

      ... CLEANUP HERE

      BOSC I  INT     RETURN FROM INTERRUPT

     

      ... THIS IS PART OF PERIPHERAL OPERATION AND WE

      ... ARE ON THE INTERRUPT LEVEL HERE

 

      XIO     WHAT1   

      * WE HAVE ISSUED AN XIO TO OPERATE PART OF THE

      * PERIPHERAL AND NOW NEED TO CLEAR THE CURRENT

      * INTERRUPT AND WAIT FOR THIS INTERRUPT

      BSI  L  SERV   

      * WHEN THE INTERRUPT OCCURS, RETURN TO HERE

      ... CHECK FOR ERRORS ASSOCIATED WITH THE OPERATION

      * START THE NEXT LOGICAL OPERATION

      XIO     WHAT2

      BSI  L  SERV

      ...  PICK UP HERE AFTER THE I/O IS COMPLETE

 

 

As I remember, SCATx used the STS instruction to modify a branch. The interrupt code would fall into the branch and would then branch back to the logic and pickup where it left off.

 

Several years ago I developed a technique similar to this to eliminate state machines in C. It was done with macros and I have used it at many companies including CISCO when I wrote their Transceiver Library for the Nexus 7000. You can read about it here: https://www.codeproject.com/Articles/37037/Macros-to-simulate-multi-tasking-blocking-code-at

 

Eddy

 




Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com


kev...@gmail.com

unread,
Mar 7, 2018, 8:25:16 PM3/7/18
to ibm...@googlegroups.com
I remember writing the SCATx routines, but not the details. Spent many weeks at RTP testing with BTAM and using a wire wrap gun  on the board to fix hw logic.
Golf during the day and debug at night.
Great times

Keve Gabbert 

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Eddy Quicksall

unread,
Mar 7, 2018, 9:20:33 PM3/7/18
to ibm...@googlegroups.com

Cool, in order to write my emulation of the IBM2780 (which ran as a .DCI) I studied the scatx routines up one side and down the other. I re-wrote the BSC code when I wrote the BI-SYNC support for TSO (an 1130 time sharing system which is still being used today).

 

Eddy

Bob Flanders

unread,
Mar 8, 2018, 9:57:19 AM3/8/18
to ibm...@googlegroups.com
There is an SCA implementation for the 1130 emulator at ibm1130.org.



To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "IBM1130" group.

To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "IBM1130" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+unsubscribe@googlegroups.com.

Eddy Quicksall

unread,
Mar 8, 2018, 11:43:40 AM3/8/18
to ibm...@googlegroups.com

TSO is not an emulator. It is a time sharing system that runs on the 1130. I could not use standard SCA for that because all of the drivers run in Auxiliary Core and they use an 1800 style interface. I.e. the caller points to a list and the list contains the arguments plus a callback pointer.

 

Eddy

 

From: ibm...@googlegroups.com [mailto:ibm...@googlegroups.com] On Behalf Of Bob Flanders
Sent: Thursday, March 08, 2018 9:57 AM
To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Example of code modification on the 1130

 

There is an SCA implementation for the 1130 emulator at ibm1130.org.

 

 

 

On Wed, Mar 7, 2018 at 9:20 PM, Eddy Quicksall <Ed...@quicksall.com> wrote:

Cool, in order to write my emulation of the IBM2780 (which ran as a .DCI) I studied the scatx routines up one side and down the other. I re-wrote the BSC code when I wrote the BI-SYNC support for TSO (an 1130 time sharing system which is still being used today).

 

Eddy

 

To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "IBM1130" group.

To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "IBM1130" group.

To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "IBM1130" group.

To unsubscribe from this group and stop receiving emails from it, send an email to ibm1130+u...@googlegroups.com.

Gary Wheeler

unread,
Mar 9, 2018, 9:37:13 AM3/9/18
to ibm...@googlegroups.com

Hi from another of the 1130 team.  Are still playing golf?  I've taken it up since retirement.  It is a difficult game and I'm not very good at it.


Gary Wheeler 



From: ibm...@googlegroups.com <ibm...@googlegroups.com> on behalf of kev...@gmail.com <kev...@gmail.com>
Sent: Wednesday, March 7, 2018 5:25 PM

To: ibm...@googlegroups.com
Subject: Re: [IBM1130] Example of code modification on the 1130
Reply all
Reply to author
Forward
0 new messages