(Article by Phaze101) PrintAT e Colore Aggiornamento Mi chiedevo come poter gestire il supporto in relazione a questi articoli. In passato ho fornito supporto a tutti quelli che mi hanno scritto un messaggio email, contattato via FB o Reddit, chiesto aiuto in uno dei siti dove gli articoli sono stati pubblicati e cosi via. È stata molto complicato da gestire poiché le richieste arrivavano da troppi posti differenti e in qualche occasione, ne ho perso traccia. Ho quindi deciso di cambiare qualcosa. Mi prende troppo tempo. Ho deciso che dall’articolo 11 in poi, la sola via per richiedere supporto è unirsi al gruppo Phaze101 Facebook e commentare sotto l’articolo. Questo mi darà visibilità di tutte le questioni, richieste o commenti in un unico posto. Inoltre, gli aggiornamenti che farò di volta in volta sui precedenti articoli, saranno fatti solo nei documenti PDF. Questi saranno reperibili nel gruppo FB Phaze101 sotto la sezione file e nel gruppo FB RetroProgramming Italia (RPI) sotto

la sezione file. Il gruppo FB Phaze101 manterrà le versioni in inglese degli articoli e gli aggiornamenti. Analogamente, il gruppo FB RetroProgramming Italia (RPI) manterrà entrambe le versioni, inglese e italiano, e tutti i rispettivi aggiornamenti. Non aggiornerò altro eccetto questi documenti. Per tenere traccia degli aggiornamenti, ho incluso nel template PDF dell’articolo il numero di versione. Così facendo, le cose dovrebbero essere più semplici gestendo tutto in un unico posto o al massimo due. Il futuro di questi articoli Mi piace mantenere le cose semplici e spero di aver raggiunto questo obiettivo. Mi piace anche usare un inglese semplice perché penso che molti di voi, non di madre lingua inglese, possono leggere l’articolo. Infine, non meno importante, mi piace scrivere in una forma che sembri che vi stia parlando direttamente. Detto questo, questi articoli e il prossimo saranno sempre gratuiti e non andrò su Patreon per chiedere il vostro supporto. Semplicemente amo quello che faccio e mi piacerebbe…

(Article by Phaze101) PrintAT and Colour Update I have been debating with myself regarding how to handle support in relation to these articles. In the past I have given support to anyone that wrote to me via email, contacted me via FB or via Reddit, asked for help on one of the websites where these articles are published and so on. This was too hard to manage since the queries were coming from too many different places and sometimes, I lost track. Therefore, I decided to change this a little bit. It is taking too much of my time as is. I decided that from article 11 onwards, the only way you can get support is if you join the Phaze101 Facebook group and comment under the article. This should give me visibility of all issues, queries or comments in one place. Also, for sake of updates that I do from time to time on the previous articles, all updates

will be done on the PDF documents only. These are found on the Phaze101 FB group under the files section and on the RetroProgramming Italia (RPI) FB group under the files section. The Phaze101 FB group will hold the English Version of the articles and their updates. Likewise, the RetroProgramming Italia (RPI) FB group will hold both the English and the Italian version and their respective updates. I will not be updating anything else except these. To keep track of updates, I have updated the PDF article template to include a version number. Like this, things should be easier to manage since everything is in one place, or at least, two places. The future of these articles I like to keep things simple and I hope I have managed to achieve this so far. I also like to use simple English because I think of the many non-native English speaking out there that might be reading these articles. Also, but…

Ovvero: come suonargliele (le voci) a colpi di DATA 1.    Introduzione Il Commodore 64 è una macchina meravigliosa, su questo saremo tutti d’accordo, ma il basic v2 è un po’ ostico quando si voglia fare qualcosa di più che stampare “ciao” in un ciclo. In particolare, l’accesso alle funzionalità grafiche e sonore è famoso per il ricorso

massivo a pokes vari, nessuna scorciatoia, nessuna pietà! Soffermandoci sul sonoro, quindi sul SID, l’integrato che svolge a meraviglia tale compito, ci si imbatte per lo più in listati che insegnano come suonare una nota, al più una canzoncina a singola voce, usando tipicamente l’istruzione for…next come metodo per separare una nota da un’altra. (altro…)

Ma ora che abbiamo tutte queste belle TPP (vedi Sfide Matte-matiche #00) cosa ce ne facciamo ? Mi sembra ovvio, mettiamoci a costruire una casa con un bel po’ di mattoni di Diofanto. No, Diofanto non è un materiale particolare e

tantomeno una imprecazione a seguito di una badilata sui denti. Diofanto fu un antico matematico (https://it.wikipedia.org/wiki/Diofanto_di_Alessandria ) il cui nome viene usato anche per identificare le equazioni da risolversi per numeri interi (equazioni diofantine o diofantee appunto). (altro…)

La sfida “pilota” (si lo ammetto non ero sicuro avrebbe potuto interessare), imperniata sulla ricerca delle Triplette Pitagoriche Primitive, è stata ampiamente raccolta e retro-elaborata attraverso l’uso di

vari linguaggi e su vari computer. Personalmente sono molto contento dal numero di riscontri ottenuti e ancor di più dall’altissima qualità e varietà dei lavori pervenuti. (altro…)

(Article by Phaze101) Introduzione Le mie scuse Ho bisogno di scusarmi con tutti voi per il ritardo nella pubblicazione di questo articolo. Ho saltato la data che avevo pianificato.  Come sempre la vita si è messa in mezzo, soprattutto il lavoro. Ho avuto anche altri impegni che trascuravo da tempo. Il codice di questo articolo era pronto immediatamente dopo l’articolo 8, ma trovare del tempo per commentarlo ha richiesto più di quanto avessi previsto. Un altro motivo per cui questo articolo ha richiesto più tempo è dovuto alla preparazione del codice, che ha richiesto maggiori ricerche ed è piuttosto lungo. Per tutti questi motivi, i futuri articoli saranno rilasciati senza programmazione e non tutti i sabati. Tuttavia, quando ci sarà un nuovo articolo in inglese, sarà sempre di sabato. La versione in italiano sarà pubblicata qualche giorno dopo. Pastebin Sarete felici di sapere che da oggi il codice è su Pastebin. Quindi, per quelli che amano il copia e

incolla, sappiate che avete anche questa opzione. Potrei anche inserire il codice precedente, dipende dal tempo che avrò a disposizione. Github In futuro, potrei anche usare Github dal momento in cui ci saranno da caricare la grafica, i suoni e molto altro, cosa che Pastebin non permette. Senza dubbio è meglio avere tutto in un’unica cartella. Print At Dal precedente articolo Il Commodore 64 non ha un comando Print At (Stampa A) in Basic, ma si può ottenere con metodi diversi. Nell’articolo 8, abbiamo visto come attraverso l’uso di alcune routine come SetCursor (\$E50C) e PrintString (\$AB1E) siamo stati capaci di dire al computer di stampare una stringa in una posizione precisa. Tuttavia, io ritengo che questa strada sia veramente lenta, anche se eseguita in assembly. Abbiamo quindi bisogno di essere più veloci nella stampa nello schermo. Per raggiungere il nostro obiettivo, dobbiamo costruire la nostra routinr Print At ed è quello che vi mostrerò in questo articolo. I concetti del…

(Article by Phaze101) Intro Apologies I need to apologise to you all for publishing this article so late. I skipped the date by more than I planned to. As always life got in the way, especially work. I also had to do some other things that I felt I had abandoned for some time. The code of the article was ready immediately after Article 8 but to find time and write it all has taken longer than planned. Another reason why the articles are taking longer now is because to prepare the code, more research is involved, and the code is getting longer. Due to this, the articles are going to be released randomly and not on every Saturday. However, when there is a release in English, it will always be on a Saturday. The Italian version will follow later. Pastebin You will be delighted to know that from now on, the code will be on Pastebin. So, for those that

like to copy and paste, you now have this option. I might also include the previous code, depending on available time. Github In the future I might also use Github since there will be graphics and sounds to be loaded and so far, Pastebin doesn’t permit this. Eventually, it would be cool to have everything in one directory.   Print At From Previous Article The Commodore 64 doesn’t have a Print At command in Basic. However, it can achieve this in several different ways. In Article 8, we saw that by using some system routines like SetCursor (\$E50C) and PrintString (\$AB1E), we were able to tell the computer to print a string at a certain position. However, I think you all noticed that this was very slow, even in assembly. We therefore need a faster way of printing to the screen. To achieve this, we are going to build our own Print At routine and that is what we…

by Claudio Parmigiani PURPOSE Allow the Apple-1 computer to generate sounds and simple melodies via BASIC or Assembler. IMPLEMENTATION A SID (Sound Interface Device, MOS 6581) has been used. It is addressed through a TTL logic, which will be explained later. Some circuitry has been added to ensure compatibility with the MOS 8580. An amplifier has also been added in order to provide an adequate output level. CIRCUIT POWER 5V is taken directly from the Expansion Bus 12V (for 6581) or 9V (for 8580) is derived from the “12V Unregulated” on the Expansion Bus. Raw voltage is about ~20V (not stabilized). A jumper is used to select the right voltage. FILTERS Typical 6581’s CAP1/CAP2 filter capacitors value is 470pF. These capacitors are present on the board. It is possible to select other capacitors by switching another couple of jumpers. Alternative capacitors must be connected to the appropriate sockets. AUDIO

AMPLIFIER A simple 1-transistor (2N2222) audio amplifier is used. Output is connected to a stereo 3.5mm jack female connector. MISCELLANEOUS POTX/POTY SID’s pin are connected to auxiliary connector, for future use. ADDRESSING Connections to /RES, R/W and ɸ2 signals are by the book, just like Data Bus (D0 to D7) and Address Bus (A0 to A4) signals. Chip Select (/CS) signal is derived from a TTL 74LS10 logic port, which provide a logic LOW signal when: Address bus is $C8xx ɸ2 is at logic HIGH level. $C8xx address is resolved as follows: HEX: C 8 0 0 ADDR LINE: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 BIN: 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ↓ ↓ ↓ ↓ ACTION: pick "R" LOW signal pick A11 HIGH signal does not care does not care “R” signal is usually hard-wired on the CHIP SELECT section of the Mainboard of the Apple-1. It is usually connected…

(Article by Phaze101) Stampare sullo schermo   Importante Ho dovuto prendere una pausa per motivi di lavoro, non potevo fare diversamente. Come per chiunque altro, anche io ho degli impegni per le quali devo decidere cosa è prioritario e cosa no. Inoltre, ho voluto mettere insieme una squadra per aiutarmi nella traduzione di questi articoli. Sono rimasto sorpreso dal numero di riposte ricevute a riguardo. Desidero ringraziare tutti quelli che mi hanno risposto e si sono adoperati per aiutarmi Articoli futuri Gli articoli stanno diventando più lunghi e complessi. Cercherò di mantenere il ritmo di un articolo a settimana, ma non escludo l’ipotesi di saltarne una occasionalmente. Inoltre, alcuni argomenti richiedono ulteriori ricerche. Non sono una enciclopedia e non conosco ogni singolo aspetto. Tutto ciò può richiedere del tempo. Articoli lunghi inoltre richiedono più tempo per essere tradotti in italiano. Sono fiducioso che questo aspetto diventerà più semplice con il team che mi supporta. Windows / Linux / MAC

Questo argomento potrebbe risultare un po’ controverso, ma vi chiedo di mettermi nei miei panni. Desidero insegnare il linguaggio assembly nella maniera più semplice possibile. E’ un requisito fondamentale per andare incontro a chi voglia imparare assembly.  Sfortunatamente, CBM Prg Studio gira solo su Windows. Credo sia l’ambiente di programmazione più semplice per chi sta iniziando. All’inizio ero indeciso tra CBM Prg Studio e Kick Assembler. Kick Assembler gira su tutte le piattaforme, ma non è così immediato come CBM Prg Studio e non dispone di un ambiente di sviluppo. Per cui, alla fine, ho optato per CMB Prg Studio. Capisco che potrebbero esserci alcuni di voi che usano solo Linux o Mac, e che potrebbero sentirsi esclusi, ma questo non è abbastanza per decidere di non utilizzare CBM Prg Studio. Ho deciso di dare priorità alla semplicità perché so che imparare l’assembly non è facile. Se lo strumento scelto non fosse sufficientemente semplice da usare, la situazione diventerebbe pesante. Scegliere…

(Article by Phaze101) Printing   Key Notes I had to take a break because work got in the way and I couldn’t do otherwise. Like everyone else I have commitments and need to do what is more important. Secondly, I wanted to set up a team to help me out with my articles. I was overwhelmed by the number of responses I got regarding this matter. I wish to thank all those that replied back to me and wanted to help out. Future Articles Articles are becoming longer and more complex. I will still try to maintain a weekly article, but I won’t exclude the possibility of occasionally skipping a week. Also, some topics need further research. I am not an encyclopaedia and do not know it all. This can take time. Longer articles also need more time to be translated to Italian. Hopefully this will become easier with a team behind me. Windows / Linux / MAC This may be

a controversial topic but I ask you to consider it from my point of view. I want to teach assembly in the simplest way possible. It is key to someone trying to learn assembly. Unfortunately, CBM Prog Studio only runs on Windows. I believe it is the easiest IDE program for a beginner. Initially I considered whether I should use CBM Prog Studio or Kick Assembler. Kick Assembler runs on all platforms, but it is not as easy as CBM Prog Studio and it has no IDE. In the end I decided to go with CBM Prog Studio. I realize that there might be some of you that use only Linux or Mac and they might feel excluded, but this still doesn’t justify the reason not to use CBM Prg Studio. I have decided to keep things as simple as possible since I know that learning assembly is not easy. If the tool I use is not easy enough…