Newsgroup: it.comp.retrocomputing
Titolo: nastro perforato

A fine anni '70 il nastro di carta perforato era un supporto  simile alle 
schede perforate.
Il nastro era perforato in righe ortogonali al senso della lunghezza.
Ogni riga puo' contenere da 0 a 8 fori (piu' un forellino guida fra la 3° e 
la quarta posizione)
 e corrisponde ad un byte.
Esempio:
http://commons.wikimedia.org/wiki/File:Papertape3.jpg
 
 
 
Ho un paio di questi nastri.
 
Sono programmi in fortran,
si potrebbero trascrivere A VISTA ... un lavoro un po' lunghetto...:-)
 
Altrimenti, come  fare per leggerne il contenuto?
 
 
ciao
fm
 
 
 

 
 
Spettacolare il lettore home made! :)
 
Mi chiedo se con un buon programma di OCR si possa fare qualcosa. Chissà,
magari qualcuno ci ha pensato e ha pure scritto qualcosa di open source...
 
Ora provo a dare un'occhiata in giro: sono proprio curioso di vedere cosa si
trova. Nel frattempo, per curiosità, quanto sono lunghi questi nastri?
 
Ciao,
G.
 

 Altrimenti, come  fare per leggerne il contenuto?
 
Ti costruisci una "testina" di lettura con delle coppie led/fotodiodo,
usi i fori guida per triggerare la lettura della riga di fori
corrispondente, interfacci con il pc.
 
Il resto è solo questione di varianti costruttive (nastro su piano
tipo moviola, in verticale tipo super8, blocchetto a molla per
l'aderenza, azionamento elettrico o a manovella, interfaccia ttl su
parallela o tramite microcontroller tipo arduino, ecc.).
 
In alternativa, si può usare un procedimento fotografico: si
posizionano nastro (su sfondo nero opaco, un bel panno direi che
andrebbe bene) e webcam, si scatta una foto, si fa avanzare il nastro,
si reitera fino alla fine.
Una volta che hai le foto, ti fai un sw tipo OCR, che se il nastro è
ben posizionato, non dovrebbe essere difficile da fare (rilevazione
dei bordi, calcolo della larghezza, calcolo della posizione del foro
guida e dei fori dati, verifica presenza foro guida, rilevazione
presenza fori dati; hmm... per l'avanzamento, sarebbe più semplice se
si rilevasse l'interasse tra le righe di fori, così si velocizza
skippando).
Sofisticando, si può rilevare l'inclinazione del nastro e
"raddrizzare" l'immagine o spostare la lettura.
 
L'unica accortezza starebbe nell'evitare duplicazioni di dati. Qui si
può giocare con l'avanzamento preciso preciso o con un avanzamento
parziale, così da avere una parte comune tra due pezzi e usarla per
incardinarli tra di loro. Con un motore passo-passo comandato da pc si
può automatizzare parecchio.
 
CYA
 
P.S.: se questo è un compito scolastico o lavorativo, quanto sopra è
rilasciato sotto licenza creative commons "facci quel che vuoi ma
riporta l'autore originale altrimenti ti faccio causa" :D


stima molto grossolana:  2 mt e 4 mt circa ...
 
ciao
fm 
 
 

P.S.: se questo è un compito scolastico o lavorativo,
 
Solo curiosità.
Ho questi nastri da *parecchi* anni... i listati relativi chissa' dove son 
finiti...:-)
 
 

Noi usiamo questo:
 
http://www.compvter.it/index.php?title=Selenia_GP160#Facit_paper_tape_reader
 
 
Che te ne pare ?
 
Dino
comPVter


E' meraviglioso...:-)
 
ciao
fm
 
 

 stima molto grossolana:  2 mt e 4 mt circa ...
 
Ma allora fai davvero prima a trascriverli a mano, magari in due passaggi:
apri un editor e li trascrivi con il tastierino numerico tenendoli in
verticale di fianco al monitor; usi lo zero per i fori e il punto dove
mancano, poi dai Invio dopo ogni "riga" del nastro. Una cosa del genere:
 
00000.000
00.00.0.0
0...0.0.0
0000..00.
000.0.0.0
 
Dopodiché – grazie alle funzioni di sostituzione che ha qualunque editor,
compreso il notepad di Windows – sostituisci ogni pattern con il relativo
carattere decodificato. Dato che hai scritto che sono programmi Fortran,
immagino che siano sorgenti, quindi saranno tutti scritti in maiuscolo: te
la cavi con le 26 lettere dalla A alla Z, le cifre da 0 a 9 e poco più. :-)
 
Ciao,
G.
 


errata corrige : quello piu' lungo e' circa 6 mt.
ci sono 10 righe per pollice, totale :  2300-2400 righe da digitare.
Un po' lunghetto.....inoltre odio le attività ripetititve ...:-)
 
ciao
fm
 
 
 
 

 Un po' lunghetto.....inoltre odio le attivit ripetititve ...:-)
 
Fallo fare a un ragazzino in cambio di qualcosa. :D
 
CYA

 ha scritto nel messaggio 
news:432a63fb-5d08-47f0...@k17g2000yqi.googlegroups.com...

Si ma.... come si orienta per la lettura?....
ho provato con la linea di riferimento a dx (5 posizioni, linea, 3 posizioni 
... 00000-I-000)
leggendo dall'alto verso il basso (dalla parte appuntita del nastro verso il 
basso, spero sia
dall'inizio verso la cosa)...
 
11000110
11010100
01001110
10110100
10001101
00001010
10100000
10100000
10100000
10100000
10100000
10100000
...
immaginavo fosse 8-bit ascii....ma non ha senso ( a meno che non sia un 
source ma un oggetto)...?
 
Se uso la linea di riferimento a sx (3 pos, linea, 5 pos...000-I-0000) 
diventa:
01100011
00101011
01110010
00101101
10110001
01010000
00000101
00000101
00000101
00000101
00000101
00000101
...
idem....o non e' 8bit ascii o non e' un source.....
forse EBCDIC?
 
Dove sbaglio?
 
 
ciao
fm
 
 
 

 Si ma.... come si orienta per la lettura?....
 
Potresti passare allo scanner il primo pezzo e caricarlo da qualche parte?
 
Ciao.
 
-- 
Carlo


Eccolo....
http://img198.imageshack.us/img198/4152/nastro001.jpg
 
 
ciao
fm
 
 

 wrote:
 
[snip]
 
Il secondo modo è quello corretto.
Convertito, viene
F V N 6 ) LF SP SP SP SP SP SP P R O G R A M SP S I S T CR
(non sono sicurissimo dello SP)
 
Allora, andando a spanne, pare essere un subset (in pratica i primi
trequarti) dell'ASCII 7bit: 5 bit di codifica, due bit di selezione
del "set" e un bit di parità, che viene impostato a 1 quando il numero
di bit a 1 è dispari, zero quando sono in numero pari.
 
in prima colonna la codifica, nelle altre tre i set selezionati dai
due bit; come si vede, manca la colonna 11, nel pezzo di nastro non
compare mai questa combinazione. Nel caso comparisse altrove, viene
lasciata come facile esercizio :D :
 
(usare un font non proporzionale, tipo il courier)
      00   10 01
00000 NULL SP @
10000 SOH  !  A
01000 STX  "  B
11000 ETX  #  C
00100 EOT  $  D
10100 ENQ  %  E
01100 ACK  &  F
11100 BELL '  G
00010 BS   (  H
10010 HT   )  I
01010 LF      J
11010 VT   +  K
00110 FF   ,  L
10110 CR   -  M
01110 SO   .  N
11110 SI   /  O
00001 DLE  0  P
10001 DC1  1  Q
01001 DC2  2  R
11001 DC3  3  S
00101 DC4  4  T
10101 NAK  5  U
01101 SYN  6  V
11101 ETB  7  W
00011 CAN  8  X
10011 EM   9  Y
01011 SUB  :  Z
11011 ESC  ;  [
00111 BS   <  \
10111 GS   =  ]
01111 RS   >  ^
11111 US   ?  _
 
buon divertimento ;)
 
CYA

 Sono programmi in fortran,
 
tempi di naja, sulle telescriventi, anni 87-88, ne ho qualche spezzone in 
giro :)
 
 
 
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\

 F V N 6 ) LF SP SP SP SP SP SP P R O G R A M SP S I S T CR
 
Ops...
 
F T N 4 CR LF SP SP SP SP SP SP P R O G R A M SP S I S T CR LF
 
CYA
 

 F T N 4 CR LF SP SP SP SP SP SP P R O G R A M SP S I S T CR LF
 
Meno male che hai corretto! Mi stavo scervellando sulla seconda lettera 
e dicevo a me stesso: <<neanche se ti scrivono come si fa ci arrivi!>> :-)
 
Grazie per il contributo! Domani lo controllo tutto per esercizio ;-)
 
Ciao.
 
-- 
Carlo

 di bit a 1 è dispari, zero quando sono in numero pari.
 
Perché un subset? Direi che è ASCII standard a 7 bit con parità pari. Vedere
qui gli originali d'epoca dello standard ASCII:
 
http://www.science.uva.nl/museum/pictures/ASCIIcode.gif
 
http://commons.wikimedia.org/wiki/File:ASCII_Code_Chart-Quick_ref_card.PNG
 
 
Ciao,
G.
 

 La trascrizione č corretta, e anche SP lo č, come mai hai dubbi? Il Fortran
 
Sě, vabbe', non mi ero preso la briga di controllare F V N 6 ) ... :PPP
 
G.
 

 F V N 6 ) LF SP SP SP SP SP SP P R O G R A M SP S I S T CR
 
Ecco qui:
 
FTN4
      PROGRAM SIST
      DIMENSION A(20,20),B(20,20),D(20),IR(2)
1     WRITE(1,2)
2      FORMAT
 
In verità il pezzo di nastro di cui abbiamo l'immagine finisce con la M di
FORMAT, il completamento della parola è opera mia. Tra l'altro si tratta
proprio del FORMAT referenziato dalla WRITE della riga precedente. Invece la
stringa FTN4 all'inizio di tutto direi che sia una direttiva al compilatore.
 
Ciao,
G.
 
 
P.S. Questa è la trascrizione:
 
P7654321
--------
11000110   F
11010100   T
01001110   N
10110100   4
10001101   (CR)
00001010   (LF)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
01010000   P
11010010   R
11001111   O
01000111   G
11010010   R
01000001   A
01001101   M
10100000   (SP)
01010011   S
11001001   I
01010011   S
11010100   T
10001101   (CR)
00001010   (LF)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
01000100   D
11001001   I
01001101   M
11000101   E
01001110   N
01010011   S
11001001   I
11001111   O
01001110   N
10100000   (SP)
01000001   A
00101000   (
10110010   2
00110000   0
10101100   ,
10110010   2
00110000   0
10101001   )
10101100   ,
01000010   B
00101000   (
10110010   2
00110000   0
10101100   ,
10110010   2
00110000   0
10101001   )
10101100   ,
01000100   D
00101000   (
10110010   2
00110000   0
10101001   )
10101100   ,
11001001   I
11010010   R
00101000   (
10110010   2
10101001   )
10001101   (CR)
00001010   (LF)
10110001   1
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
11010111   W
11010010   R
11001001   I
11010100   T
11000101   E
00101000   (
10110001   1
10101100   ,
10110010   2
10101001   )
10001101   (CR)
00001010   (LF)
10110010   2
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
10100000   (SP)
11000110   F
11001111   O
11010010   R
01001101   M
--------

 P.S. Questa � la trascrizione:

Fenomenale!...:-)
Grazie filippo e gerry....!!!
Standing ovation.
ciao
fm


Mi associo ( very interesting)
Ciao
Giorgio
Apple II and Apple III forever !!!

 stringa FTN4 all'inizio di tutto direi che sia una direttiva al compilatore.
Stara' per FORTRAN IV?
Ciao.
-- 
Carlo

 ha scritto nel messaggio 
news:4e7ec554$0$44204$4faf...@reader1.news.tin.it...

Quoto.
ciao
fm


decifrero'.
 
ciao
fm
 
 

 Quoto.
Direi proprio di s�. Molto probabilmente quella direttiva era destinata a un
compilatore che aderiva almeno allo standard FORTRAN 66 e quindi serviva per
richiedere l'interpretazione di quel sorgente secondo le regole e i formati
evidentemente non standard del FORTRAN IV inteso dal compilatore a cui quel
sorgente era in orgine destinato. Tutto questo o perch� i risultati potevano
essere diversi o perch� il FORTRAN 66 aveva reso illegali certi costrutti
semplificati che erano permessi dalle varie implementazioni FORTRAN IV e che
quindi senza quella direttiva sarebbero stati considerati errori sintattici.
Allo stesso modo esistevano differenze di interpretazione fra FORTRAN 66 e
FORTRAN 77 che quindi dovevano essere prese in considerazione. Infatti i
vecchi compilatori Digital per TOPS-10 e -20 e per VAX accettavano lo switch
/F66 per distinguere tra le due diverse interpretazioni.
Il caso pi� significativo � quello dei DO loop: in FORTRAN 66 un ciclo DO
con indice minore o uguale a zero veniva eseguito almeno una volta, mentre
in FORTRAN 77 non veniva eseguito affatto.
Ciao,
G.

 decifrero'.
Si accettano scommesse.
Io dico che serviva per compilare un SISTema a totocalcio ;)
O un qualcosa legato alla cappella SISTina? :D
CYA

 qui gli originali d'epoca dello standard ASCII:
Sempre colpa dell'ora tarda (*la la lala*); ovviamente, come fai
notare, sarà completo: il fatto che nel campione non compaiano simboli
dell'ultimo quarto ("selettore" 11), non significa che il sistema non
lo implementi (così come il fatto che dei neutrini viaggiano da
Ginevra al Gran Sasso in linea retta non significa che ci sia un
tunnel tra i due... :D )
Trovato niente su qualche OCR? Potremmo quasi farlo noi... (ovviamente
NON in VB.net :D )
CYA

 qui gli originali d'epoca dello standard ASCII:
Guardato ora. In effetti il "selettore" è una cosa arbitraria, un modo
per dividere in blocchi il codice.
Tanto valeva semplificare e tenere tutti e sette i bit lisci, più il
bit di parità.
_ovviamente_ è sempre colpa dell'ora tarda :D
CYA

Bellissimo post,
complimenti a tutti !
(almeno qualche cosa che valga la pena di leggere su 'sto NG, troppo
spesso bersagliato da bambini litigiosi *)
Dino
comPVter
* ogni riferimento a fatti, cose, insulti, battibecchi, volgarità
gratuite, persone e post precedenti è puramente casuale

 sorgente era in orgine destinato.
 
Mi rispondo da solo.
 
Ho avuto voglia di indagare un altro po' e ho scoperto due o tre cose
interessanti. Innanzitutto quel FTN4 è effettivamente una direttiva al
compilatore, ma non quella che pensavo io. Semplicemente il compilatore
FORTRAN per HP 21xx richiede che l'insieme di tutti i sorgenti da compilare
sia racchiuso tra una direttiva FTN4 e una direttiva $END.
 
Eventualmente, dopo FTN4 si possono specificare delle opzioni separate da
virgole, per esempio FTN4,L,C che richiede listing e cross reference.
 
Il compilatore in questione pare che rispetti lo standard FORTRAN 66, ma che
comunque continui a chiamarsi FTN4. In effetti il FORTRAN 66 come standard
fu semplicemente l'ufficializzazione del già esistente FORTRAN IV dell'IBM.
 
Tra l'altro, nonostante si dichiari compatibile FORTRAN 66, tra eccezioni
allo standard ed estensioni allo standard, era in pratica relativamente
specifico; come poi del resto molti (se non tutti) i compilatori dell'epoca.
Cioè, nonostante formalmente aderissero tutti allo standard ANSI, in effetti
erano specializzati in dialetti più o meno incompatibili.
 
I manuali dicono che è possibile preparare i sorgenti offline su schede o
nastro perforato, oppure online al terminale video. Nel primo caso si
possono copiare su disco con il comando STORE, dopodiché si danno in lettura
al compilatore come se fossero stati creati online.
 
RTE (l'OS per HP 21xx) definisce varie unità logiche di I/O, in particolare
l'unità 1 è la console del sistema, quindi la riga WRITE (1,2) del sorgente
che abbiamo visto dovrebbe scrivere qualcosa sulla console; probabilmente un
prompt o delle spiegazioni (visto che è all'inizio del programma). Il testo
dovrebbe essere specificato come parametro dell'istruzione FORMAT.
 
Riferimenti:
 
5951-1321 FORTRAN IV Reference Manual (Dicembre 1975)
92060-90012 RTE II/III: A Guide for New Users (Agosto 1978)
 
Entrambi in Bitsavers: /pdf/hp/21xx e /pdf/hp/21xx/rteIII
 
Ciao,
G.
 

> compilatore.
sospetto che FTN4 sia un identificatore/magic word: ForTraN 4 (che non 
necessariamente sta per IV/66 ma indicherebbe che usa il compilatore per 
4 KW di core)
Saluti,
dott. Piergiorgio.


Come accennato su, non necessariamente.
Forse sarebbe utile dare un occhiata su bitsavers ;)
Saluti,
dott. Piergiorgio.

 giro :)
*ocio* che qui in Italia i termini di declassificazione variano di molto 
sono a seconda dell' se il generale o ammiraglo si e' svegliato di 
brutto umore o meno... sono capaci di inkazzarsi di brutto anche per un 
semplice messaggio di comunicazione di promozioni o disposizioni 
burocratiche per l' Alba vecchio di 20 e più anni...
Saluti,
dott. Piergiorgio.


 
 
no, sono le strisciate che si facevano per fare i "disegni" con le 
telescriventi, una sorta di ascii-art :)


 telescriventi, una sorta di ascii-art :)
La Digital usava un metodo di quel genere per perforare il suo copyright
all'inizio dei nastri ufficiali, in modo che fosse possibile leggerlo anche
senza utilizzare una macchina. Poi sicuramente il medesimo nastro avr�
contenuto lo stesso copyright anche in "machine-readable form".
Si vede bene qui: 
http://en.wikipedia.org/wiki/File:Papertape2.jpg
Comunque immagino che la stessa cosa la facessero anche altre aziende.
G.

 ha scritto nel messaggio 
news:e4087280-1c17-4316...@t1g2000vbe.googlegroups.com...
Bellissimo post,
complimenti a tutti !
(almeno qualche cosa che valga la pena di leggere su 'sto NG, troppo
spesso bersagliato da bambini litigiosi *)
Dino
comPVter
* ogni riferimento a fatti, cose, insulti, battibecchi, volgarit�
gratuite, persone e post precedenti � puramente casuale
Hai ragione, e' avvilente, mi scuso con tutti 

 Hai ragione, e' avvilente, mi scuso con tutti
 
 
C'è stata una perdita di con-TROLL-o :)
 
 

 Comunque immagino che la stessa cosa la facessero anche altre aziende.
 
ed anche gli utenti, per punzonare il nome e/o contenuto del nastro.
 
(ovviamente gli utonti si accontentavano di scriverci a penna sopra..)
 
Saluti,
dott. Piergiorgio.


 
-- 
Nicola D'Agostino
<!-- 
http://www.nicoladagostino.net
 -->
<!-- 
http://www.storiediapple.it
 -->
<!-- 
http://www.mondochrome.it
 -->


 
Very interessante ma...
Very interessanti anche i 180$ ! ;-)
 
-- 
#include <std.disclaimer.h>
Signature automatica inserita a mano.
A Dio noi crediamo, tutti gli altri li controlliamo.(NSA)
Vendicatevi!  Vivete abbastanza da essere un problema per i figli!
Punteggiatura: Nel caso mancasse nel messaggio, aggiungete!!