HP3000-L Archives

May 2000, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Denys Beauchemin <[log in to unmask]>
Reply To:
Date:
Wed, 17 May 2000 08:41:13 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (142 lines)
In 1981 I wrote a system on a series 44 that controlled about 6 time and 
attendance terminals.  I believe they were the HP 3077 but it is so long ago. 
 I used software interrupts to control all this stuff.  The data capture 
program was written in SPL.  The rest was in BASIC and SPL.  The code for the 
data capture went something like this (hey it's 20 years ago):

DBOpen the database.
Fopen all terminals with NOWAIT I/O.
Reset all the terminals and display the time on them.
Issue an Fread to all terminals.
Wait at a location in the code that called IOWAIT.
When a terminal completed a read (someone had put their card through), the call 
to IOWAIT would be complete and it would tell me which terminal (or which 
Fread) had completed the I/O.
DBget the employee number.
DBput a record for the employee, the date and the time.
Display the employee name at the terminal.
Renable the terminal for the next read.
Issue a NOWAIT I/O Fread on the terminal.
Return to the IOWAIT call to wait for the next input.

I used to go watch the employees punch in and out at the various locations. 
 Clocking in was pretty lame, the employees dribbled in over time. However, at 
quitting time, they lined up at the punch clock up to 15 minutes ahead of time 
and just waited for the appropriate time on the terminal.  When that was 
displayed, it was amazing to see 400+ employees clock out in about 4 minutes.

The code was not very big, but I did get quite familiar with the 3077!
BTW, the system did not have to send the time every minute to the terminal. 
 Once the time was set, the terminals continued on their own. However, I reset 
the clock to system time after every transaction.  It would then show the time 
at which the transaction was recorded.

A few years later, I adapted the technique to record the call data from a 
telephone switch, but that's a different story.

Kind regards,

Denys. . .

Denys Beauchemin
HICOMP
(800) 323-8863  (281) 288-7438         Fax: (281) 355-6879
denys at hicomp.com                             www.hicomp.com


-----Original Message-----
From:   Gary Nolan [SMTP:[log in to unmask]]
Sent:   Wednesday, May 17, 2000 7:25 AM
To:     [log in to unmask]
Subject:        Re: software interrupts

Hi Mark,
It's like the old story "it's hard to remember the initial objective was to
drain the swamp when the gators are snapping at your ...."
The objective is to have a bar code scanning process reading tags and
dumping them in a msg file. Then an operator program that works on other
things and when there is a record in the msg file interrupt the operator to
process the barcode tag info.The operator is not constantly using the
terminal so a looping structure just checking the message file will not work
it must interrupt the current program and present the operator with a
different screen. I tried using the msg file as the driving file but then I
was locked into waiting for the scanner or I had to loop around chewing up
CPU and we only have a small 947 with 60 users. Basically I am trying to
make the 3000 operate like a real time system. This is the last in a long
line of twisted programs in what was going to be a temp system that would be
replaced by a real time process control (i.e. Vax), but was 10 years ago and
the 3000 has done everything and more then was initially desired or dreamed
of.

Gary

----- Original Message -----
From: Mark Boyd <[log in to unmask]>
To: 'Gary Nolan' <[log in to unmask]>
Sent: Tuesday, May 16, 2000 4:55 PM
Subject: RE: software interrupts


Please excuse my naiveté, what are you trying to accomplish with the message
file?

-----Original Message-----
From: Gary Nolan [mailto:[log in to unmask]]
Sent: Tuesday, May 16, 2000 12:49 PM
To: [log in to unmask]
Subject: Re: software interrupts

Steve,
Thanks for the info I had read this before but it did not sink in... bad
memory day. Now I must go to plan "B"... I wish I had a plan "B".

Thanks for the help
Gary

----- Original Message -----
From: Steve Dirickson <[log in to unmask]>
To: 'Gary Nolan' <[log in to unmask]>; <[log in to unmask]>
Sent: Tuesday, May 16, 2000 4:00 PM
Subject: RE: software interrupts


 I am looking a writing a program that will use software
  interrupt on a msg
  file. But I see in the manual that you cannot do this in
  Cobol. Does anybody
  know if you can do this in Transact/xl? Can  anybody explain
  how to create a
  procedure label (plabel) and reference it in Transact?

> Unfortunately, it can't be done; Transact/iX has no way, at the
 moment, to export an externally-callable entry point. We discussed
 this fairly extensively at IP..er SIG3000 this spring; here's that the
 SIGRAPID ballot said:

>   Item 8  -  Support "callback" capability in Transact/iX as required
 by, for example, XCONTRAP.

> Expanded descriptions of items:
 ....
   Item 8    Transact/iX should support "callback" functionality. For
 example, Transact programs can not call the XCONTRAP or XSYSTRAP
 intrinsics; those intrinsics require the address of a function/entry
 point to call when the trap occurs, and Transact has no way to provide
 such an address. The "command sequence" construct indicates that the
 Transact runtime has the ability to control program execution based on
 external input; the issue is how to safely expose that control in
 other contexts.

> This discussion went on on the SIGRAPID mailing list in March. If
 you're a Transact user, you might want to subscribe to the list. The
 easiest way to do so is from
  http://www.interex.org/cgi/lists.cgi?list=rapid

>
 Steve Dirickson   WestWin Consulting
 [log in to unmask]   (360) 598-6111

>

>

ATOM RSS1 RSS2