|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6478 (0x194e)
Notes: pts_type(SC)
Names: »TNDOPN.SC«
└─⟦f350e1b7a⟧ Bits:30009678 Philips computer tape "600219"
└─⟦this⟧ »PTSDEMO/TNDOPN.SC«
IDENT TNDOPN OPEN TELLER NOTE DISPENSER DDUM DEMODD **************** * * PROCEDURE-NAME * TNDOPN * * FUNCTIONAL DESCRIPTION * THIS ROUTINE PERFORMS THE OPEN FUNCTIONS FOR * THE TND: * CHECKS THE DENOMINATION TABLE, * GETS THE LOADED NUMBER OF NOTES PER CASSETTE * CHECKS THE CASSETTE SERIAL NUMBERS AFTER LOAD * * BOOLEAN TNDOPF IS SET TO INDICATE THAT THE OPEN * HAS BEEN EXECUTED SUCCESFULLY * * PROCEDURES USED: * XBFMT SCREEN MANAGEMENT * XEERR DISPLAY ERROR-MESSAGE * VARIABLES USED: * * * SB CANCEL CANCEL SWITCH * NDDUMP NO. OF REJECTED NOTES PER CASSETTE * TNDST ERROR-STATUS * CASMAX NUMBER OF USED CASSETTES * NOTES(..) DENOMINATION TABLE * NDDATA1(..,..) TND TABLE (SEE DATA DIV.) * TNDRCF REJECT CASSETTE EMPTY * TNDBAD UNCONTROLLED (=BAD ) TND STATUS * TND OPF OPEN INDICATOR FOR TND ************************************************************************ PDIV EXPROC XBFMT EXPROC XEERR EXPROC IOTND ENTRY SPAP33 ENTRY TNDOPN ENTRY TNDINI TNDOPN PROC TBF SBTND,TO999 B TO035 TO010 PERF XBFMT,=W'75' 'MOUNT CASSETTES' TBT SBCANCEL,TO999 SEND LIFTS UP PERF IOTND,KW1,TNDSET,WW1,WW2,WW3,WDEC1,WCSTRG6,TNDBFF CBE TNDST,KW0,TO040 LIFTS UP SUCCESSFULL? TO030 PERF XEERR,=W'79',KW3 MESSAGE 'OPEN FAILURE' * TBT SBCANCEL,TO999 STOP IF CANCELED, ELSE RETRY TO035 PERF IOTND,KW2,TNDSET,WW1,WW2,WW3,WDEC1,WCSTRG6,TNDBFF TND LIFTS DOWN, RETRY B TO010 TO040 MOVE TNDCIX,KW1 TND OPEN OK TO050 PERF TNDINI INIT TND REGISTERS * * CHECK CASSETTE SERIAL OF REJECT CASSETTE * CHECK CASSETTE SEQUENCE TO060 MOVE WCSTRG6,=C' ' INIT CASSETTE ID MOVE WW1,KW5 POINT TO REJECT CASS. SERIAL COPY WCSTRG6,KW1,KW5,TNDBFF,WW1 MOVE WDEC1,WCSTRG6 CONVERT TO DECIMAL SUB WDEC1,NDRCID CHECK IF SAME REJECT CASSETTE BZ TO070 IF EQUAL,CONTINUE TO065 PERF XEERR,=W'78',KW3 MESSAGE 'CASS. SERIAL ERROR' TBT SBCANCEL,TO999 STOP IF CANCELED B TO035 RETRY TO070 MOVE TNDCIX,KW0 TO080 ADD TNDCIX,KW1 CBG TNDCIX,CASMAX,TO100 HANDLED ALL CASSETTES? MOVE WCSTRG6,=C' ' ADD WW1,KW5 POINT OT NEXT SERIAL NO. COPY WCSTRG6,KW1,KW5,TNDBFF,WW1 MOVE WDEC1,WCSTRG6 CONVERT IT TO DECIMAL SUB WDEC1,=D'0' IS IT ZERO? BZ TO080 ....THEN LOOP, ELSE TO090 MOVE WW2,NDDATA2(KW1,TNDCIX) GET LOGICAL POINTER SUB WW2,KW0 IS IT ZERO BZ TO080 ....THEN LOOP BACK SUB WW2,KW1 SET TO INDEX EQUIVALENT MOVE WW3,KW5 MATCH WCSTRG6,WW3,KW1,NDMAP,WW2,KW1 CHECK 1 DIGIT BNE TO065 IF NOT SAME, CASSETTE ERROR ADD WW2,KW1 RESET TO POINTER MOVE NDDATA1(KW4,WW2),WCSTRG6 B TO080 GET NEXT ONE * * * TO100 GET NUMBER OF NOTES AND MOVE WW1,KW1 T110 CBG WW1,KW4,T120 DIV NOTES(WW1),=D'100' ADD WW1,KW1 B T110 T120 MOVE TNDCIX,KW1 THEIR DENOMINATIONS PERF XBFMT,=W'76' MOVE WW1,KW1 T131 CBG WW1,KW4,T135 MUL NOTES(WW1),=D'100' ADD WW1,KW1 B T131 T135 TBT SBCANCEL,TO999 CANCELED? SET TNDOPF TNDOPENED CLEAR TNDRCF REJECT CASSETTE FULL CLEAR TNDBAD TND-STATUS OK TO999 RET PEND * **************************** * * * INITIALISATION ROUTINE FOR THE TND REGISTERS * ***************************** TNDINI PROC MOVE WW1,KW1 INIT TND REGISTERS INI010 CBG WW1,KW5,INI999 5 ROWS TO INIT MOVE TNDCIX,KW1 INI020 CBG TNDCIX,KW4,INI040 ..... AND 4 COLUMNS PER ROW CBNE WW1,KW2,INI030 MOVE NDDATA2(WW1,TNDCIX),=D'0' INI030 MOVE NDDATA1(WW1,TNDCIX),=D'0' ADD TNDCIX,KW1 INCREASE COLUMN NO. B INI020 INI040 ADD WW1,KW1 INCREASE ROW NO. B INI010 INI999 MOVE NDDUMP,=D'0' RET PEND * ************************************ * * KEYBOARD INPUT ATTRIBUTE ROUTINE, USED * WHEN ENTERING THE NUMBER OF NOTES FOR A CERTAIN * CASSETTE * ************************************* * SPAP33 PROC XWRET PBIN XWRET GETABX TNDCIX GET INDEX (FIELDNO.) MOVE WDEC1,SPINPUT CBE WDEC1,=D'0',SP33001 MOVE NDDATA2(KW2,TNDCIX),=D'1' NOTES HAVE BEEN LOADED ADD TNDCIX,KW1 .... FOR THIS CASSETTE RET INCREASE REGISTER INDEX SP33001 MOVE SPBINW4,KW5 ERROR, VALUE MUST BE ENTERED MOVE XWRET,KW1 RETURN AND REPEAT INPUT RET PEND END