giovedì 4 dicembre 2014

0 Programmare alla velocità del "copypaste"!


All'incirca due giorni fa, sulla pagina "Facebook" dell'"Antro Atomico Del Dottor Manhattan", ha visto la luce un'interessante rimembranza "amarcorda" sul "BASIC" di "sessantaquattrista" memoria...

...Ed a dimostrazione che le cose non capitano mai per caso, proprio in calce alla fotografia incriminata s'è scatenata altresì una ridda di commenti nostalgici che mi ha trascinato via con un'onda di piena composta prevalentemente di "lacrime napuliTANTE" e "bruschette negli occhi", per dirla alla Doc. :)

Galeotta fu la guida e chi la scrisse...

"Le cose non capitano mai per caso...", si diceva, ed in questa specifica circostanza le coincidenze si sprecano.

Della serie: l'Apreda mi posta una tabella di riferimento per i "PET tokens" proprio mentre il buon Marte è alle prese con un prepotente ritorno di fiamma del "BASIC" del "Commodore 64".

Della serie: avete presente quando vi parlavo del mio tentativo di fixare "Lemonade 3.3"? Bene... Mi preme di farvi sapere che attualmente, oltre ad averlo corretto, ho aggiunto un sistema di "score" al gioco, un "font" customizzato ed altresì un "loader" che carica il "set" di caratteri e successivamente ti propone un "menù" attraverso il quale effettuare il caricamento della versione desiderata del gioco... Il tutto in "BASIC" duro e puro (sputando sangue all'inverosimile, per far funzionare le cose! :D ).

...Ed in questo contesto, proprio mentre il Marte "lurka" la rete alla ricerca dei caratteri di controllo da utilizzare nell'ambito della programmazione, capita che il Doc Manhattan posta in autonomia proprio quello che serve al Marte!

Se non è telepatia questa, ditemi voi!!! :D

Ad ogni modo, il Marte incassa, ringrazia e prosegue nella lettura, imbattendosi in un interessante commento che lo incuriosisce non poco...

«Quando voglio capire se ho a che fare con una persona seria o con uno che si atteggia a "nerd" per moda, gli chiedo sempre se ha compilato il listato della mongolfiera. ...E se si ricorda che c'era un "glitch" nello "sprite". ...E se ad otto anni, quell'errore è anche riuscito a risolverlo...».

Up, up and away!

Il Marte solleva gli occhi al cielo pensoso ed in effetti si... Si ricorda di un qualche genere di problema grafico inerente la mongolfiera... C'erano dei "pixels" fuori posto... Il Marte se lo ricorda distintamente, perché li aveva financo anneriti a matita nello schema che raffigurava il velivolo, sulla pagina del suo manuale cartaceo...

Solo che, CRIBBIO! A distanza di più di 30 anni, quel manuale originale del "C64" mica mi ricordo più dove l'ho ficcato!!!

...E mò come controllo, che c'ho una pulce nell'orecchio grossa come un'elefante indiano, con tutto il baldacchino, l'avevo nel giardino e l'ho donato a te?!

...Ché il dramma è che queste sono proprio quel genere di cose che non mi fanno dormire la notte!!!

«Mi aiuterà "Google"!», esclama allora con sicumera il "blogger" più verde della rete. ...Ed infatti, sul "forum" di "Ready64", egli rinviene quasi subito questo listato:

1 REM UP, UP, AND AWAY!
5 PRINT "{CLR/HOME}"
10 V=53248 : REM START OF DISPLAY CHIP
11 POKE V+21,4 : REM ENABLE SPRITE 2
12 POKE 2042,13 : REM SPRITE 2 DATA FROM 13 TH BLK
20 FOR N = 0 TO 62: READ Q : POKE 832+N,Q: NEXT
30 FOR X = 0 TO 200
40 POKE V+4,X: REM UPDATE X COORDINATES
50 POKE V+5,X: REM UPDATE Y COORDINATES
60 NEXT X
70 GOTO 30
200 DATA 0,127,0,1,255,192,3,255,224,3,231,224
210 DATA 7,217,240,7,223,240,7,217,240,3,231,224
220 DATA 3,255,224,3,255,224,2,255,160,1,127,64
230 DATA 1,62,64,0,156,128,0,156,128,0,73,0,0,73,0
240 DATA 0,62,0,0,62,0,0,62,0,0,28,0

Ottimo ed abbondante! Ora bisogna solamente ricopiarlo, per vedere come "fuNONzia". Solo che al giorno d'oggi, digitare a manina bella un listato in "BASIC", pur non eccessivamente lungo come questo, è una pratica non molto elegante, che non mi s'addice... Diversamente, è imperativo piegare la tecnologia alle nostre esigenze per programmare alla velocità della luce!

Anzi, del "Copia-Incolla"!!! :D

...E così il Marte seleziona e copia il succitato listato nella "clipboard" di "Windows", per poi incollarlo direttamente dentro al "WinVICE"...

...E GLI ESCE FUORI UNA FOTTUTA ACCOZZAGLIA DI SIMBOLI GRAFICI, che le maiuscole danno noia... MANNAGGIA!!!

Urge un passaggio supplementare... Il Marte abbandona temporaneamente il "WinVICE" in favore dell'"editor" di testi di "Open Office". Ci incolla dentro il listato e converte tutte le maiuscole del testo in alfabeto minuscolo con l'apposita funzione automatizzata. Voilà!

Un "copypaste" più tardi, il listato viene rincollato nell'emulatore di "C64", questa volta senza alcun problema di grafia.

Il Marte corregge al volo la linea 5 del codice, che necessita di un "" tra le virgolette del "PRINT" (al posto di "{CLR/HOME}") e poi esegue il tutto a colpi di "RUN".

...Ed eccola li, la nostra familiare mongolfiera, volteggiante sullo schermo!

Solo che è tutta perfetta e bellina. Nessun baco... Nessuna sbavatura...

"Eppure anche io me la ricordo sbocconcellata!", si lamenta il Marte. «Chissà... Forse su "Ready64", il listato l'hanno corretto. Boh! Se solo avessi il manuale italiano del "C64" per le mani, potrei fare un raffronto...».

"Hey, tu!", mi grida in quella "Ready64". «Guarda che se proprio vuoi, il ".PDF" del manuale in questione puoi scaricarlo CLICCANDO QUI!».

Ed è proprio a pagina 81 del suddetto manuale digitale, che finalmente si svela l'arcano...

Guardate la linea 230...

Come da didascalia, confrontate la linea 230 del manuale italiano dal quale noi, ignari frugoletti, copiavamo i codici, con il listato che vi ho "copincollato" poc'anzi...

L'avete visto, il baco?

Già! C'è un "15" che dovrebbe essere un "156"...

Per forza la mongolfiera non usciva come si deve, dal cantiere! :P

Cos'è questo QRCode?
Come l'hai realizzato?


Nessun commento:

Ritorna in alto! Related Posts Plugin for WordPress, Blogger...