Benvenuti su You Dev IT!

Audio Digitale sul C64

Torna il corso di Assembly per il processore 6510! Questa volta ci occuperemo del processore sonoro del Commodore 64 (SID). Con le sue tre voci era ed è ancora fantastico, ma scopriamo come forzarne le caratteristiche, mediante del codice in Assembly, per ottenere la riproduzione di audio digitale (purtroppo solo) a 4 bit con un campionamento a [...] Leggi tutto

Quattro bytes per il Commodore 64

Sembra impossibile ma c'è chi è riuscito a creare un programma che realizza un effetto non banale in soli 4 bytes! Scopriamo assieme come è stato possibile.

Istruzioni x86 che operano su stringhe

Scopriamo le potenti istruzioni che operano su stringhe dei processori x86.

Le istruzioni aritmetiche x86

Scopriamo le istruzioni aritmetiche dei processori x86.

Operazioni logiche in Assembly x86

Scopriamo le operazioni logiche dei processori x86.

Videogiochi di corse sul Commodore 64!

Vi siete mai chiesti come veniva realizzato l'effetto della pista in movimento in videogiochi per Commodore 64 come Pitstop II? @agpxnet se lo è chiesto e si è anche dato una risposta! In questa fantastica demo completa di sorgenti ben commentati e corredata da una esauriente presentazione, scopriremo la risposta anche noi.

Fixare Lemmings!

Con la conoscenza dell'Assembly x86 e gli strumenti giusti, basta "poco" per fixare programmi che erano pensati per processori più lenti di quelli attuali. Scopriamo come si è riusciti a rallentare certe fasi di Lemmings, il famoso videogioco del 1991.

Le istruzioni di trasferimento degli x86

Scopriamo le istruzioni di trasferimento dei processori x86 e, in particolare, come sono cambiate dai tempi dei 486.

Indovina il numero in Assembly x86

Come anteprima del corso di Assembly per i processori x86, proviamo il classico gioco "indovina il numero" creato da un iscritto per MS-DOS con il Turbo Assembler della Borland.

Corso di Assembly x86 - I registri

Andiamo alla scoperta del linguaggio assembly per i processori x86. Quali sono i registri a nostra disposizione?

Un Pac-Man in BASIC per il Commodore 64

Grazie ad @agpxnet possiamo studiare i sorgenti di clone di Pac-Man praticamente perfetto! Per realizzarlo è stato utilizzato XC=BASIC.

Labirinti in Assembly sul C64 (parte II)

I bug sono sempre dietro l'angolo, ma grazie ad @agpxnet vengono immediatamente corretti! Perciò riprendiamo l'argomento dei labirinti, mostrando un paio di miglioramenti al codice assembly, ma soprattutto proviamo un'alternativa all'assembly: un BASIC ottimizzato che può essere compilato per i computer dal Vic-20 al C128, passando dal nostro [...] Leggi tutto

Labirinti in Assembly sul Commodore 64

Traduciamo in assembly l'algoritmo per generare labirinti che abbiamo visto in un video precedente. Quanto risulterà più veloce?

Muovere pixel sugli sprite? (Multicolor)

Un'anteprima sui pixel multicolor che sono disegnati su 12 sprite del Commodore 64. Dodici sprite?! Naturalmente grazie allo sprite multiplexing.

Muovere pixel sugli sprite?

Prendendo spunto dal "pong in uno sprite" e sfruttando il codice dei video precedenti, scopriamo come muovere pixel all'interno degli 8 sprite del Commodore 64 utilizzando l'assembly del 6510.

Ottimizziamo il disegno sugli sprite

Grazie ad @agpxnet, miglioriamo il codice che disegna pixel all'interno degli 8 sprite del Commodore 64 utilizzando l'assembly del 6510. In video precedenti abbiamo già mostrato routine che disegnano pixel nella memoria in alta risoluzione del C64. Ora tentiamo di fare qualcosa di simile però nella memoria grafica degli sprite.

Disegnare pixel sugli sprites del C64

Prendendo spunto dal "pong in uno sprite", scopriamo come disegnare pixel all'interno degli 8 sprite del Commodore 64 utilizzando l'assembly del 6510. In video precedenti abbiamo già mostrato routine che disegnano pixel nella memoria in alta risoluzione del C64. Ora tentiamo di fare qualcosa di simile però nella memoria grafica degli sprite.

La nuova versione di C64 Graphics Maker

Nel video "Sprites & Hires" abbiamo visto che la memoria del C64 viene vista dal VIC-II in un modo particolare. Diamo un'occhiata a un interessante software che, tra le altre cose, ci permette di determinare i corretti valori e gli indirizzi per gestire al meglio il VIC-II.

Sprites e alta risoluzione cul C64

Indaghiamo qualche problematica della coesistenza tra l'alta risoluzione del nostro amatissimo Commodore 64 e gli sprites. A tal scolo, recuperiamo il codice dell'astronave in fase di atterraggio, ma invece di usare la modalità grafica a caratteri, proviamo quella in alta risoluzione.

Confronto tra linguaggi Assembly... e architetture

Confrontiamo gli assembly con un semplice algoritmo: la copia di una stringa da una parte all'altra della memoria. Cosa si può imparare delle varie architetture con una serie di istruzioni così semplici? Scopriamolo assieme grazie a Rosetta Code. In questa prima parte, dopo una prima occhiata ai vari BASIC, saltiamo dall'IBM/360 al MOS 6502 che, [...] Leggi tutto

L'algoritmo delle 100 porte

Dopo una capatina sul sito Rosetta Code, analizziamo il codice assembly che realizza il cosiddetto algoritmo delle cento porte. Vediamo di che si tratta.

Come estendere il BASIC del Commodore 64

Grazie ad @agpxnet, scopriamo come è possibile estendere il BASIC 2.0 del Commodore 64 con nuove istruzioni scritte in Assembly!

Parliamo della memoria del C64

Scopriamo come partizionare la memoria del nostro amatissimo Commodore 64!

Un PONG in Assembly per il C64

Grazie ad @agpxnet e al suo codice didatticamente chiaro e lineare possiamo scoprire come realizzare un PONG in Assembly. Buona visione!

Un Pong sullo ZX Spectrum

Finalmente torniamo ad occuparci dello ZX Spectrum e del suo processore tuttofare Z80 con questa implementazione del classico PONG. Vediamo come può essere realizzato in assembly analizzando nel dettaglio alcuni particolari del codice. Buona visione!

Un salto nei disassemblatori per C64

Dopo aver usato vari assemblatori per C64, ho finalmente provato anche un paio di disassemblatori. L'occasione si è presentata con il gioco del 1990 "On The Moon" di Filippo Masia in cui si simula la missione dell'Apollo 11. Il fatto che non si riuscisse apparentemente a superare la fase di separazione degli stadi, fallendo tutte le volte [...] Leggi tutto

Un altro assemblatore per Vic-20 e C64

Proviamo Mikro Assembler, un altro assemblatore per il C64, e scopriamo anche chi l'ha programmato.

Il corso di Assembly per il 6510 continua!

Scopriamo come venivano convertite le stringhe numeriche del BASIC nel formato floating point a 5 bytes del Commodore 64. In particolare vediamo come funziona la subroutine auto-modificante CHRGET che risiede in pagina zero.

Dopo aver spento le 40 candeline...

Il 40° compleanno del nostro amatissimo C64 è già stato celebrato. Approfittiamone per provare il "Macro Assembler Development System" ufficiale della CBM con un semplicissimo programmino in assembly.

Bordi aperti sul C64!

L'apertura dei bordi è un classico trick del VIC II del C64. Nella prima parte di questo video-tutorial vediamo in cosa consiste. Nel prossimo video andremo alla scoperta del codice assembly che consente di realizzarlo!

Polifonia sul C64!

Dopo aver fatto suonare il mitico SID del Commodore 64 sfruttando un'unica voce, tentiamo la polifonia e sfruttiamo alcuni accorgimenti per rendere i nostri spartiti digitali più compatti.

Musica di sottofondo sul Commodore 64!

Mettiamo alla prova l'assembly del 6510 per controllare l'esecuzione di musica sul processore 6581, il mitico SID del Commodore 64.

Disegniamo pixels sullo ZX Spectrum

La serie sull'Assembly Z80 per lo ZX Spectrum continua andando alla scoperta della memoria bitmap e della memoria colore. Come si possono disegnare i pixel (senza passare dal Basic)? Ed ecco la spiegazione del codice sorgente:

Torna l'assembly del Commodore 64!

Il video-corso di Assembly 6510 continua con un tutorial sullo sprite multiplexing per il Commodore 64:

La serie sull'x86 ha inizio!

Dopo l'assembly per il Commodore 64 e quello per lo ZX Spectrum, saltiamo direttamente ai giorni nostri con la nuova serie sull'assembly per i processori x86-64!

La serie sullo Zilog 80 continua!

Nel nuovo video della serie sul processore Z80 che equipaggia lo ZX Spectrum si parla degli indirizzamenti della memoria. Scopriamo insieme quanti sono!

Scopriamo assieme l'Assembly dello ZX Spectrum!

Quarant'anni fa ce lo siamo persi. Colmiamo la lacuna andando alla scoperta del processore Zilog 80 che equipaggia lo ZX Spectrum! Ecco l'introduzione... ... subito seguita da un'analisi dei registri a disposizione: