Newsgroup: it.comp.retrocomputing
Titolo: Indagine Ricostruttiva delle Origini di un Listato in Linguaggio di Programmazione BASIC rinvenuto in un Filmato di Animazione Giapponese (OVA)

for teh lulz :D
 
Come segnalavo in un messaggio precedente, in un OVA del 1986 (*) compare un
listato di un programma sufficientemente leggibile da riconoscervi il 
linguaggio BASIC. 
Dopo averne parlato, però, mi è rimasto il tarlo: sarà fuffa? oppure gli autori
ci hanno infilato un messaggio codificato in un programma effettivamente
eseguibile? (spoiler: no)
Ora, della serie "piuttosto che guardare la tivu", e preso dalla nostalgia dei
tempi in cui i listati si trascrivevano faticosamente a mano, riga per riga,
da manuali, riviste e raccolte su libri, ho deciso di indagare.
Sbirciando il fermo immagine, tra una risoluzione infima e le sgranature del
riversamento da VHS e il basso contrasto del verde-su-nero, ben presto si 
capisce ben presto che il codice è incompleto ed errato; incompleto perché
alcune righe sono troncate e manca il resto, errato perché ad un certo punto
hanno smesso di fare finta e hanno lasciato dormire la sintassi.
 
Non contento, mi sono messo ad indagare gli indizi riconoscibili.
Per farla breve, l'origine può esser fatta risalire all'interprete BASIC
dello SHARP X1 turbo, che, diversamente da altri home dell'epoca, doveva 
essere caricato invece di essere residente in ROM.
Hanno smaneggiato i nomi, cosa tipica per i marchi.
 
Ora s'impone la domanda: sono tratti dai listati dell'originale o sono
solo una contraffazione? Al che la risposta viene facile: datemi i listati
originali e ve lo saprò dire :D
 
Foto del floppy di caricamento:
https://thngs.co/things/2538
 
Elenco delle versioni:
https://ja.wikipedia.org/wiki/Hu-BASIC
 (vedi CZ-8FB02)
Filmato in cui appare l'IPL (Initial Program Load):
https://www.youtube.com/watch?v=6Zy7yiI-N98
 
 
In conclusione, per il vostro dilegg... studio, eccovi la trascrizione
rigorosamente manuale del suddetto, lasciato qui a futura memoria:
 
10 IF PEEK(1)=&HFA THEN 560
20 FR=VAL(SCRN$(1,2,5))
30 CLR
40 PRINT"BASICZ-8FB02 Version1.0 [2HD]"
50 PRINT"Copyright (C) 1984 by P/Hson"
60 PRINT
70 KLIST0:KMODE1:INIT:MAXFILES2:CLICKON
80 KEY 1,"FILES"+CHR$(13)
90 KEY 2,"?TIME$"+CHR$(13)
100 KEY 3,"KEY"
110 KEY 4,"LIST"+CHR$(13)
120 KEY 5,"RUN "+CHR$(13)
130 KEY 6,"LOAD "+CHR$(13)
140 KEY 7,"WIDTH "
150 KEY 8,"CHR$("
160 KEY 9,"PALET "
170 KEY10,"CONT"+CHR$(13)
180 D$=DATE$:IF MID$(D$,1,2)="??" THEN
190 ON ERROR GOTO 0
200 PRINTCHR$(30,28);:DEVICE"0:2":DEVIC
210 ML=0:CLEAR&HF000:POKE&HF876,&H88:PO
220 PALET1,0:PRW 2:LINE(0,176)-(639,199
230 KEY0,CHR$(&HFF,&HF8,&HFF):'[CTRL]+[
240 A$=INKEY$:IF(PEEK(&HF876)AND&HF)=8
250 CLS0:KLIST1:INIT
260 ON ERROR GOTO 320
270 OPEN"I",1,"Start up data.Sub"
280  INPUT#1,A$,B$:MEM$(&HF883,48)=HEXC
290 CLOSE:ON ERROR GOTO 0
300 PRINT "Printer : ";A$
310 GOTO65535
320 RESUME 290
330 RESUME NEXT
340 'NEWON8..VERIFY,LOAD?,"CAS:",CMT,CM
350 'NEWON7.."COM:",ON COM GOSUB,COME ON
360 '........POSITION,PATTERN,CIRCLE@,S
370 'NEWON6..CRT,ON KEY GOSUB,KEYNON,KE
380 '........ON TIME$="HH:MM/MM" GOSUB,
390 'NEWON5..MKDIR,CHRDIR,RMDIR,HDOFF,
400 'NEWON4..MOUSE,MOUSE関数,HCOPY
410 'NEWON3.GET@,PUT@,CGPAT$,DEVI$,DE
420 'NEWON2..LIST,LLIST,DELETE,RENUM,
430 '........KILL,CONT
440 'NEWON1..PLAY,MUSIC,TEMPO,SOUND,C
450 'NEWON0  WINDOW,LINE,PSET,PRESET,
460 '........PRW,PALET,CLICK,NEWONn
470 IF INKEY$(0)=CHR$(&HE2) THEN 550
480 PRINTCHR$(31,26)
490 LOCATE 0,5:PRINT CHR$(5);:X$=""
500 LINPUT "NEWON";X$
510 IF LEN(X$)=5 THEN 540
520 IF LEN(X$)><6 THEN 490
530 IF MID$(X$,,1)>")" OR MID$(X$,6,1)
540 COLOR0:KEY0,X$+CHR$(13)+"COL.7:LOC
550 COLOR0:KEY0,"NEWON4"+CHR$(13)+"COL
560 OUT&H1FD0,0:INIT:CLEAR&HFF00:MAXFIL
570 KEY 1,"FILES"+CHR$(13)
580 KEY 2,"?TIME$"+CHR$(13)
590 KEY 3,"KEY"
600 KEY 4,"LIST"+CHR$(26,13)
610 KEY 5,"RUN  "+CHR$(13)
620 KEY 6,"LOAD "+CHR$(13)
630 KEY 7,"WIDTH "
640 KEY 8,"CHR$("
650 KEY 9,"PALET "
660 KEY10,"CONT"+CHR$(13)
670 D$=DATE$:IF MID$(D$,1,2)="??"
680 PRINTCHR$(30,30,LIST
690 END
700 'NEWON...ALL COMMAND 使用可
 
Kanji
alla riga 400: 関数 – "Function" (programming)
alla riga 700: 使用可 – "Può essere usato/utilizzato"
 
Anonimizzazione
40 PRINT"BASICZ-8FB02 Version1.0 [2HD]"
   originale "SHARP HuBASIC CZ-8FB02 Version1.0"
50 PRINT"Copyright (C) 1984 by P/Hson"
   originale "Copyright (C) 1984 by SHARP/Hudson"
 
A chi fosse interessato, posso fornire documento .odt o .pdf col 
listato e gli screenshot delle schermate :D
 
CYA
 
*) dimenticabilissimo, ma per completezza riporto qui il titolo:
"Delpower X Bakuhatsu Miracle Genki" (デルパワーＸ爆発みらくる元気！) che potremmo
tradurre come "Delpower X Esplosione dell'Energia Miracolosa"

 originali e ve lo saprò dire :D
 
Se è per questo, io ho usato un fermo immagine di Star Trek IV: Ritorno 
alla Terra (in cui come "product placement" ci stava un PET acceso prima 
serie nel salone di Kirk, involontariamente anticipando il fenomeno 
collezionismo vecchi comp) per "aggiustare" white.vpl al corretto 
bianco-azzurrino dei monitor dei primi PET..... ma "de gustibus *et 
coloribus* non disputandum est", quindi non chiedetemi il tripletto RGB 
a cui sono arrivato.
 
Saluti,
dott. Piergiorgio.

 dott. Piergiorgio.
 

 Spock... scusate la disattenzione.
 
 
O forse il II - la lira di khan :)
http://www.starringthecomputer.com/feature.html?f=29
 
 
CYA