giovedì 26 luglio 2018

Mandelbrot su C64 in GPascal in matematica intera

Sempre per la serie "Cosa mi sono perso negli anni 80" ho cercato se esistevano compilatori Pascal per il C64 (compilatori veri...non cross-compilatori)....io ho fatto il mio primo ed unico corso di programmazione nel 1987 su TurboPascal 5.0 su un Olivetti M24 ed usavo solo Basic su C64



Con mia grande sorpresa ho trovato diversi compilatori con caratteristiche peraltro differenti

Pascal 64 : non sono riuscito ad usarlo su VICE. Si tratta comunque di un compilatore evoluto con linker esterno. Gestisce la alta risoluzione grafica ed ha il tipo dati real. Un po' macchinoso da usare perche' si deve scrivere il file in Pascal come se si stesse editando in Basic (con i numeri di linea compresi)...si salva il file, si compila, si linka e si lancia...non proprio comodo

Oxford Pascal

GPascal : ho trovato molto comodo ed intuitivo l'editor...in 10 minuti gia' gestivo l'editing con i tasti fondamentali. Si scrive nell'editor, si compila (in PCode), si lancia ed in caso di problemi RunStop/Restore e si torna all'editor. Molto comodo. Non sono riuscito a capire come funziona il debug ed il trace. Molto intuitivo ha pero' il limite di avere solo il tipo dati numerico Integer che ha peraltro dei limiti curioso (. Si trova sia il manuale che i dischi a questo indirizzo (che dovrebbe corrispondere al sito dello sviluppatore originale)

Per mettere la prova GPascal ho provato a scrivere un programma per generare l'insieme di Mandelbrot. L'assenza di un tipo dati real mi ha costretto ad usare routine di calcolo in matematica intera...inoltre ho dovuto mantenere il moltiplicatore a 256 perche' se aumentavo la precisione di calcolo sforavo il limite degli interi che devono essere compresi tra -8388608 e + 8388607.
C'e' inoltre da segnalare che il compilatore permette di disattivare l'output video in modo da velocizzare i calcoli (con il comando graphics(6,0)




Nessun commento:

Posta un commento

Update Plotly Dash Csv

    from dash import Dash , html , dcc , callback , Output , Input , State import plotly . express as px import pandas as pd import...