1 CLS:?"***Punch Card Jam***" 2 CLV:FORP=1TO6:OUTP,-1:NEXT:BEEP 3 '@RESET 4 OUT0:Z=0:L=0 5 '@OK 6 ?CHR$(8);:?"OK":?CHR$(1); 7 IF!IN(11)CONT 8 '@ICARD 9 R=1:GSB41 10 IFC=0&&O=0GOTO8 11 ?CHR$(8);:IF!CGOTO23 12 IFTGSB21 ELSEGSB18 13 FORB=1TOZ:BEEP20,5:WAIT20:NEXT 14 GOTO34 15 '@ICARDEND 16 IF!IN(11)CONT 17 ?CHR$(1);:GOTO8 18 '@ICARDN 19 Z=Z+1:[Z]=C*16+O:IFC=8L=L+1:[80+L]=Z 20 ?"read> ";Z*10;" ";:RTN 21 '@ICARDT 22 [Z]=[Z]|((C*16+O)<<8):T=0:RTN 23 '@COM 24 BEEP30,30:IFO=1?"RUN":R=0:GOTO29 25 IFO=2?"LIST":R=2:GOTO29 26 IFO=3?"NEW":GOTO3 27 IFO=4CLS:GOTO5 28 GOTO8 29 '@GO 30 A=0 31 '@GLOOP 32 A=A+1:IFA>ZGOTO5 33 C=[A]&#F0/16:O=[A]&15:?CHR$(8);A*10;" "; 34 '@GDO 35 IFC=15&&O=15LRUN1,150 36 LRUN1,C*10 37 '@GLOOPEND 38 IFT&&(R!=1)C=([A]&#F000)>>12:O=([A]&#F00)>>8:T=0:GOTO34 39 GSB41:IFC=15&&O=15BEEP30,30:?"ESC":GOTO5 40 ?CHR$(1);:GOTO31 41 '@RCARD 42 C=0:O=0:IFIN(11)RTNELSECLT 43 '@RCARD1 44 IFIN(11)RTN 45 IFTICK()<120GOTO43 46 FORP=1TO4:C=C*2+IN(P):O=O*2+IN(P+4):NEXT:RTN