Non ho trovato informazioni riguardanti questo vetusto modem (probabilmente un 1200 o 300 baud)
lunedì 16 luglio 2018
PMII 16 - Floppy Disk Drive 8 pollici Shugart
Questo
La storia di questo floppy drive e' un po' curiosa. Oltre 10 anni fa passeggiando in via Cavour a Firenze vedo al cassonetto una macchina che non conosco e la tentazione di portarsela a casa e' stata subito forte...peccato che il peso e le dimensioni erano pari a quelle di un sistema S/36 della IBM (e chi ha mai provato a spostare un S/36 sa di cosa parlo).. Sono riuscito a portarmi a casa solo questo floppy drive della Shugart Ass. (anche lui a peso non scherza)
PMII 15 - Pong Polistil
Pong, basta il nome. La cosa divertente di queste scatolette e' che erano molto semplice per le ditte costruire la propria versione. Il cuore della macchina era contenuto in un solo integrato AY-3-8500 con pochissima componentistica esterna
PMII 13 - Intellivision Mattel
Il grande avversario dell'Atari 2600...ho passato pomeriggi a giocare (ed invidiare mio cugino all'inizio degli anni 80). Non ho giochi per testare la macchina che comunque sembra integra
PMII 12 - MSX HX-51 Toshiba
Comprato in un lotto di consolle e' non funzionante perche' ha il cavo alimentazione tranciato (e non so se va diretto al 220 o se c'era un trasformatore)...anche se il suo valore e' modesto ho visto che e' un modello molto raro
venerdì 13 luglio 2018
Mandelbrot (per pigri) modalita' grafica con CC65
Sono riuscito ad attivare la modalita' grafica su CC65. Compilando il codice ed usando gli esempi senza modifiche avevo sempre l'errore
Error #2 initialising graphics
Cannot load driver
quando cercavo di usare TGI. Grazie al suggerimento degli sviluppatore basta flaggare a zero
# define DYN_DRV 1
e si usa il driver in modalita' statica. La prima prova e' andata bene ma non troppo....Su VICE in modalita' velocita' 100% ho impiegato 3659.9 secondi !!!!!! (quasi quasi ritorno a Simons Basic)...non capisco ....CC65 e' compilato mentre Simons Basic e' interpretato e non c'e' un guadagno sensibile e c'e' pure il trucco della integer math contro i float si Simons...gia' la integer math...se si prova a disegnare le bande di fuga si vede che queste vengono a cuspide mentre dovrebbero essere tondeggianti e cio' deriva dalla approssimazione apportata da matematica per interi
Poi capito su questo sito http://retro64.altervista.org/blog/the-mandelbrot-set-c64-assembly-program-to-draw-it-fast-using-integer-math-part-1/ con un esempio in Assembler che genera Mandelbrot in 12 minuti ....tempo per me di attaccare la tastiera al chiodo
cl65 -O -l man.lst -vm -m man -o man.prg -t c64 man.c
man.c
--------------------------------------------------
#include <stdlib.h>
#include <conio.h>
#include <cc65.h>
#include <tgi.h>
#define SCREEN_X 320
#define SCREEN_Y 200
#define MAXCOL 2
#define maxiterations 25
#define fpshift (14)
#define tofp(_x) ((_x)<<fpshift) // bitwise shift left
#define fromfp(_x) ((_x)>>fpshift)
#define fpabs(_x) (abs(_x))
#define mulfp(_a,_b) ((((signed long)_a)*(_b))>>fpshift)
#define divfp(_a,_b) ((((signed long)_a)<<fpshift)/(_b))
#pragma static-locals (1);
void mandelbrot (signed short x1, signed short y1, signed short x2,
signed short y2)
{
// le variabili register sono quelle che il compilatore mette in pagina zero
// e quindi quelle a piu' rapido accesso
register unsigned char count;
register signed short r, r1, i;
register signed short xs, ys, xx, yy;
register signed short x, y;
/* Calc stepwidth */
xs = ((x2 - x1) / (SCREEN_X));
ys = ((y2 - y1) / (SCREEN_Y));
yy = y1;
for (y = 0; y < (SCREEN_Y); y++) {
yy += ys;
xx = x1;
for (x = 0; x < (SCREEN_X); x++) {
xx += xs;
/* Do iterations */
r = 0;
i = 0;
for (count = 0; (count < maxiterations) &&
(fpabs (r) < tofp (2)) && (fpabs (i) < tofp (2));
++count) {
r1 = (mulfp (r, r) - mulfp (i, i)) + xx;
/* i = (mulfp(mulfp(r,i),tofp(2)))+yy; */
i = (((signed long) r * i) >> (fpshift - 1)) + yy;
r = r1;
}
if (count == maxiterations) {
tgi_setcolor (0);
} else {
tgi_setcolor (count%2);
}
tgi_setpixel (x, y);
}
}
}
int main (void)
{
tgi_install (tgi_static_stddrv);
tgi_init ();
tgi_clear ();
mandelbrot (tofp (-2), tofp (-2), tofp (2), tofp (2));
cgetc ();
tgi_uninstall ();
return 0;
}
Iscriviti a:
Commenti (Atom)
Red Edge con Sentinel 2
Volevo migliorare un po' quanto provato qui piu' che altro per avere una migliore risoluzione spaziale. Ho provato con Sentinel 2 (...
-
Aggiornamento questo e' la risposta degli sviluppatori First of all, almost all operating systems on both mobile and laptop/desktop n...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
















