Il Commodore 65 è un prototipo di personal computer che Commodore avrebbe dovuto mettere in commercio quale successore del Commodore 64. Purtroppo la sua realizzazione si fermò appunto allo stadio prototipale. Racconterò l'affascinante storia del suo sviluppo ed il perchè della soppressione del progetto ormai ad un passo dalla immissione in commercio.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Ionela
I dispositivi JS16 sono compatibili con il software della famiglia JM, che fornisce un percorso di migrazione (migration path) diretto verso sistemi a prestazioni più alte, inclusi gli USB OTG e prestazione a 32-bit con ColdFire.
RaspyFi (now Volumio) is an open source linux distribution. It will transform your Raspberry Pi into an audiophile source, in 10 minutes without hassles. It comes ready to play, and it’s compatible with almost every USB DAC available.
You can consider it as a Voyage-MPD version for Raspberry Pi. But it’s simpler to use and it has several other functionalities!
With RaspyFi you’ll be able to play your music library directly from an USB Storage or from your NAS. You can also listen to your favourite web-radios and scrobble your favourite tunes from Spotify, Last.fm and Soundcloud.
You will be amazed about the sound quality! RaspyFi’s core feature is this. We are trying to get every bit of your music to play as accurate as can be, optimizing every aspect of the system.
RaspyFi supports asynchronous playback to take advantage of the latest DACS, it features a nice webgui you can use to configure it without hassles and to play your library from your pc, your smartphone or your tablet.
You can connect your little Raspberry Pi to your Audio System, sit on your couch, use your favourite device (Win,Mac,Android,iOS) as a remote control and enjoy your music as it is. With RaspyFi your Pi never sounded so good!
http://www.raspyfi.com/
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Ionela
I dispositivi JS16 sono compatibili con il software della famiglia JM, che fornisce un percorso di migrazione (migration path) diretto verso sistemi a prestazioni più alte, inclusi gli USB OTG e prestazione a 32-bit con ColdFire.
RaspyFi (now Volumio) is an open source linux distribution. It will transform your Raspberry Pi into an audiophile source, in 10 minutes without hassles. It comes ready to play, and it’s compatible with almost every USB DAC available.
You can consider it as a Voyage-MPD version for Raspberry Pi. But it’s simpler to use and it has several other functionalities!
With RaspyFi you’ll be able to play your music library directly from an USB Storage or from your NAS. You can also listen to your favourite web-radios and scrobble your favourite tunes from Spotify, Last.fm and Soundcloud.
You will be amazed about the sound quality! RaspyFi’s core feature is this. We are trying to get every bit of your music to play as accurate as can be, optimizing every aspect of the system.
RaspyFi supports asynchronous playback to take advantage of the latest DACS, it features a nice webgui you can use to configure it without hassles and to play your library from your pc, your smartphone or your tablet.
You can connect your little Raspberry Pi to your Audio System, sit on your couch, use your favourite device (Win,Mac,Android,iOS) as a remote control and enjoy your music as it is. With RaspyFi your Pi never sounded so good!
http://www.raspyfi.com/
Breve introduzione al sistema di mix live Avid Venue | S6L. Descrizione del sistema, dei suoi componenti e di come effettuare al meglio i collegamenti.
8 bit e 4 toni di grigio: sviluppare giochi per Gameboy by Giovanni SimottiCodemotion
Come sviluppare oggi giochi per Gameboy. Dettaglio dell’architettura della console e descrizione dell’assembler Z80. Grafica raster. Tile, scrolling e sprite. Il sonoro. Descrizione del Bank Switching e dei chip MBC. Come creare salvataggi nella SRAM. Provare il software sull’emulatore e sull’hardware fisico.
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
Increased complexity makes it very hard and time-consuming to keep your software bug-free and secure. We introduce fuzz-testing as a method for automatically and continuously discovering vulnerabilities hidden in your code. The talk will explain how fuzzing works and how to integrate fuzz-testing into your Software Development Life Cycle to increase your code’s security.
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
It was 1993 when we decided to venture in a beat'em up game for Amiga. The Catalypse's success story pushed me and my comrade to create something astonishing for this incredible game machine... but things went harder, assumptions were slightly different, and italian competitors appeared out of nowhere... the project died in 1996. Story ended? Probably not...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
There's a lot of talk about blockchain, but how does the technology behind it actually work? For developers, getting some hands-on experience is the fastest way to get familiair with new technologies. So let's build a blockchain, then! In this session, we're going to build one in plain old Java, and have it working in 40 minutes. We'll cover key concepts of a blockchain: transactions, blocks, mining, proof-of-work, and reaching consensus in the blockchain network. After this session, you'll have a better understanding of core aspects of blockchain technology.
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
When was the last time you were truly lost? Thanks to the maps and location technology in our phones, a whole generation has now grown up in a world where getting lost is truly a thing of the past. Location technology goes far beyond maps in the palm of our hand, however. In this talk, we will explore how a ridesharing app works. How do we discover our destination?How do we find the closest driver? How do we display this information on a map? How do we find the best route?To answer these questions,we will be learning about a variety of location APIs, including Maps, Positioning, Geocoding etc.
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
Eward Driehuis, SecureLink's research chief, will guide you through the bumpy ride we call the cyber threat landscape. As the industry has over a decade of experience of dealing with increasingly sophisticated attacks, you might be surprised to hear more attacks slip through the cracks than ever. From analyzing 20.000 of them in 2018, backed by a quarter of a million security events and over ten trillion data points, Eward will outline why this happens, how attacks are changing, and why it doesn't matter how neatly or securely you code.
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
IoT revolution is ended. Thanks to hardware improvement, building an intelligent ecosystem is easier than never before for both startups and large-scale enterprises. The real challenge is now to connect, process, store and analyze data: in the cloud, but also, at the edge. We’ll give a quick look on frameworks that aggregate dispersed devices data into a single global optimized system allowing to improve operational efficiency, to predict maintenance, to track asset in real-time, to secure cloud-connected devices and much more.
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
What if Virtual Reality glasses could transform your environment into a three-dimensional work of art in realtime in the style of a painting from Van Gogh? One of the many interesting developments in the field of Deep Learning is the so called "Style Transfer". It describes a possibility to create a patchwork (or pastiche) from two images. While one of these images defines the the artistic style of the result picture, the other one is used for extracting the image content. A team from TNG Technology Consulting managed to build an AI showcase using OpenCV and Tensorflow to realize such goggles.
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
Blockchain (and Cryptocurrency) is an evolution of 20-year old research from scientists like Chaum, Lamport, and Castro & Liskov. Due to the current hype, it's hard to distinguish beneficial aspects of the technology from a desire for a "silver bullet" for device security, verifiable logistics, or "saving democracy". The problem: blockchain introduces new security challenges - and blind adoption without understanding reduces overall security. In this talk, Melanie Rieback and Klaus Kursawe explain the pitfalls and limits of blockchain, so you can avoid making your applications LESS secure.
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
Networking is a core part of computing in the digital world we inhabit. But, how well do you know how it works? Do you understand all the moving parts of the OSI stack inside your computer, and how the network is actually put together? How can this ever work? This guided safari of layers, standards, protocols, and happenstance will bring us close to the copper wire, and up through the layers of CDMA/CD, ARP, routing and HTTP. We will make a few excursions through patchworks that still work forty years later, and cleverly designed mechanisms that show that simplicity is the only way to last.
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
Sascha will demonstrate the opportunities and challenges of Conversational AI learned from the practice. Both Technology and User Experience will be covered introducing a process finding micro-moments, writing happy paths, gathering intents, designing the conversational flow, and finally publishing on almost all channels including Voice Services and Chatbots. Valuable for enterprises, developers, and designers. All live on stage in just minutes and with almost no code.
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
A key challenge we face at Pacmed is quickly calibrating and deploying our tools for clinical decision support in different hospitals, where data formats may vary greatly. Using Intensive Care Units as a case study, I’ll delve into our scalable Python pipeline, which leverages Pandas’ split-apply-combine approach to perform complex feature engineering and automatic quality checks on large time-varying data, e.g. vital signs. I’ll show how we use the resulting flexible and interpretable dataframes to quickly (re)train our models to predict mortality, discharge, and medical complications.
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
Coolblue is a proud Dutch company, with a large internal development department; one that truly takes CI/CD to heart. Empowerment through automation is at the heart of these development teams, and with more than 1000 deployments a day, we think it's working out quite well. In this session, Pat Hermens (a Development Managers) will step you through what enables us to move so quickly, which tools we use, and most importantly, the mindset that is required to enable development teams to deliver at such a rapid pace.
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
Quantum computers can use all of the possible pathways generated by quantum decisions to solve problems that will forever remain intractable to classical compute power. As the mega players vie for quantum supremacy and Rigetti announces its $1M "quantum advantage" prize, we live in exciting times. IBM-Q and Microsoft Q# are two ways you can learn to program quantum computers so that you're ready when the quantum revolution comes. I'll demonstrate some quantum solutions to problems that will forever be out of reach of classical, including organic chemistry and large number factorisation.
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
Chinese food exploded across America in the early 20th century, rapidly adapting to local tastes while also spreading like wildfire. How was it able to spread so fast? The GY6 is a family of scooter engines that has achieved near total ubiquity in Europe. It is reliable and cheap to manufacture, and it's made in factories across China. How are these factories able to remain afloat? Chinese-American food and the GY6 are both riveting studies in product-market fit, and both are the product of a distributed open source-like development model. What lessons can we learn for open source software?
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
The design space has exploded in size within the last few years and Sketch is one of the most important milestones to represent the phenomenon. But behind the scenes of this growing reality there is a remote team that revolutionizes the design space all without leaving the home office. This talk will present how Sketch has grown to become a modern, product designer's tool.
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? We are learning that science and empiricism works in software development, maybe now is the time to redefine what “Software Engineering” really means. Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should be.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Codemotion
If Socrates met Linus Torvalds, what would they talk about? How much math should be bundled into a good programming language? Can compiler resolve an argument and prove, that someone is right? Trough semantics of code, that we write every day, when looking carefully, one can see foundations of logic and science, that has been build more than 2000 years ago. Why does it matter, and how can we leverage this enormous power to make our code safe and sound in languages with advanced type systems, like Typescript and Scala.
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Codemotion
When you build a serverless app, you either tie yourself to a cloud provider, or you end up building your own serverless stack. Knative provides a better choice. Knative extends Kubernetes to provide a set of middleware components (build, serving, events) for modern, source-centric, and container-based apps that can run anywhere. In this talk, we’ll see how we can use Knative primitives to build a serverless app that utilizes the Machine Learning magic of the cloud.
2. Da dove partiamo? Senza dubbio da qui….
1. Personal computer più venduto di tutti i tempi
2. Audio e video senza rivali nel 1982
3. Enorme parco software
4. Prezzo concorrenziale
3. Nel 1985 vide la luce quel che doveva essere il successore del C64, il Commodore 128
Fu realmente così? No.
Il Commodore 128 pur essendo macchina evoluta (128 Kb di RAM, basic 7.0, possibile clock a 2 Mhz) non conservava
compatibilità con il C64 se non nella modalità specifica e fu snobbato dalle software house che non rilasciarono molti
programmi per la modalità 128. Il comando più usato per questa macchina era di fatto Go64
4. Che fare dunque?
Il Commodore 64 era la maggior fonte di guadagno per l’azienda che ancora non aveva trovato un degno sostituto
Nell’ancor florido segmento 8-bit la vastissima gamma di software per ogni uso disponibile per Commodore 64 ne faceva
il computer più appetibile
L’esplorazione del segmento 16-bit con Amiga iniziato nel 1985 ancora non produceva i suoi frutti e di fatto la dirigenza
Commodore neanche ben sapeva cosa fare del nuovo nato
Giunse il 1987…..
Uno sparuto gruppo di giovani ingegneri venne collocato alla realizzazione di quel che doveva essere un Commodore 64
evoluto, potente, appetibile per la grande massa di utenti del Commodore 64
All’inizio venne chiamato Commodore 64 DX e si intraprese la progettazione proprio sperimentando sulle boards del C64
7. Caratteristiche tecniche della CPU
La CPU 4510 è un microcontrollore a 8 bit realizzato in tecnologia
CMOS 2 micron a doppio metallo con alta velocità e basso consumo
energetico. Il circuito integrato è un dispositivo completamente
statico che contiene un microprocessore avanzato 6502 (65CE02),
quattro timer di intervallo indipendenti a 16 bit, due clock giornalieri
di 24 ore (AM/PM) con allarme programmabile per ognuno, canale
I/O seriale full-duplex (UART) con generatore di baud rate
programmabile, funzione di mappa della memoria integrata per
indirizzare fino a 1 megabyte di memoria, due registri shift a 8 bit per
I/O seriale sincrono e 27 linee di I/O singolarmente programmabili. La
frequenza del clock è di 3.54 Mhz.
Victor chip – CSG 4510 – CPU – disegnato da Victor Andrade
Nacque per modifica del chip 4502
8. Caratteristiche tecniche della GPU
La nuova unità grafica del Commodore 65 rappresenta un netto
miglioramento del già performante chip grafico VIC-II del Commodore 64.
Ha la capacità di riprodurre a schermo 256 colori contemporaneamente
prelevati da una palette di 4096 colori. Le risoluzioni grafiche disponibili
sono 320x200 (con appunto massimo 256 colori contemporanei a
schermo), 640x200 (medesimo numero di colori possibili a schermo),
640x400 (limitando il numero di colori a 16), 1280x200 (sempre 16 colori
a schermo), 1280x400 (con 4 colori a schermo). In modalità testo sono
possibili 40 od 80 colonne per 25 righe. Sincronizzabile con una fonte
video esterna, possiede un controller DMA integrato. Il clock interno può
raggiungere i 3.58 Mhz.
Bill chip – CSG 4567 – GPU – disegnato da William Gardei
9. Caratteristiche tecniche del controller
Il chip è una interfaccia disco MFM* . Richiede l' uso di una RAM esterna da 512
byte come buffer di cache dati. Questa interfaccia è in grado di eseguire letture e
scritture su dischetti formattati MFM, nonché letture e scritture di tracce
complete in formato libero. Può anche formattare i dischetti. Incorpora anche la
logica per il movimento della testina di lettura-scrittura e per il movimento del
motorino. L’integrato contiene la logica di controllo del lettore di floppy disk
esterno (Commodore 1565). Fornisce inoltre un simulatore di indice per quei
lettori che non lo posseggono in modo nativo.
* Modified frequency modulation (MFM) è uno schema di codifica utilizzato per
codificare i dati presenti nella maggior parte dei floppy disk. È stato introdotto
nel 1970 con l'hard disk IBM 3330. Hardware compatibile con questo formato si
può trovare nel Commodore Amiga così come nelle macchine compatibili IBM.
MFM parte da una modifica dell'originale FM utilizzato per codificare dati su
floppy disk a bassa densità e i primi hard disk. A causa dello spazio minimo tra i
flussi di transizione, MFM può immagazzinare dati a densità più elevata rispetto
a FM. È in grado di gestire un flusso dati di 250-500 Kbit/s sui dischi standard da
5¼" and 3½". MFM era utilizzato anche nei primi hard disk prima dell'arrivo di
codifiche più efficienti come RLL ed attualmente è considerato obsoleto nella
tecnologia magnetica.
Floppy disk controller chip – CSG4165 F011 – disegnato da Paul Lassa
10. Caratteristiche tecniche del chip
recupero basato su un elenco delle sequenze di comandi DMA
capacità di concatenare più sequenze di comandi DMA
accesso diretto all’intera memoria di sistema
blocchi di memoria lunghi sino a 64Kb
possibilità di impiegare blocchi a finestra con la funzione modulus
le operazioni DMAgic generano accessi al chip video (VIC) ed al DMA esterno
le operazioni DMAgic possono in via opzionale accedere agli interrupt di sistema
le operazioni di DMAgic che vengono interrotte possono essere riprese o cancellate
gestione del flusso di dati per i dispositivi di input/output
gestione indipendente della memoria per sorgente/destinazione
gestione indipendente della direzione di trasferimento della memoria tra sorgente e
destinazione
abilitazione indipendente di modulus per sorgente e destinazione
puntatore fisso indipendente per sorgente e destinazione
DMAgic – CSG 4151 DMA controller – disegnato da Paul Lassa
11. Caratteristiche tecniche del Commodore 65
La CPU denominata CSG 4510 R3 è una versione personalizzata del chip 4502 combinato con due schede di interfaccia
complesse MOS 6526 (CIA), un' interfaccia seriale UART e un mappatore di memoria per consentire uno spazio indirizzabile
di 1MB
Frequenza di clock a 3,54 MHz
Un nuovo chip grafico VIC-III chiamato CSG 4567 in grado di produrre 256 colori a partire da una tavolozza di 4096 colori; le
modalità disponibili sono 320×200×256,640×200×256,640×400×400×16,1280×200×16, e 1280×400×4
Supporta tutte le modalità video di VIC-II
Modo di testo con 40/80 × 25 caratteri
Sincronizzabile con sorgente video esterna (genlock)
Controllore DMA integrato (chip custom DMAgic)
Due chip audio CSG 8580R5 SID che producono suono stereo
Controllo separato (sinistra/destra) per volume, filtro e modulazione
128 kB RAM, espandibile fino a 8 MB utilizzando una porta di espansione RAM simile a quella del Commodore Amiga 500
128 kB ROM
Commodore BASIC 10.0
Un' unità floppy disk DSDD da 3½"
Tastiera con 77 tasti e blocco cursore direzionale a T invertita
12. Postazione di sviluppo impiegata da William Gardei durante la progettazione del
Commodore 65
18. Commodore 65 con alimentatore originale. I primi alimentatori erano quelli del C64 modificati
L’adesivo in alto sulla destra reca scritto in cinese «non correggere»; cosa non lo sapremo mai
20. Questo foglio accompagnava le unità prototipo che venivano
spedite per i test presso le divisioni Commodore
Descriveva le modalità di accensione ed impiego del prototipo
21. Riassunto di un fallimento – Commodore 65 mai commercializzato
L’esiguità del gruppo di sviluppo e le iniziali difficoltà economiche in cui versava Commodore dopo il flop della serie 264,
dilatarono a dismisura i tempi di sviluppo. La macchina, iniziata nel suo concepimento nel 1987, per Natale del 1990,
data per la quale era stata programmata l’apparizione sul mercato, non fu pronta. Erano stati allestiti solo 205 prototipi,
equipaggiati con la scheda incompleta revisione 2b, che spediti nelle varie sedi Commodore sparse per il mondo
dovevano fare da postazioni test (alcuni recavano con se anche prototipo della espansione di memoria da un
megabyte). Per questo, considerata ormai una realtà sorpassata quella degli 8 bit nel 1991, il progetto fu cancellato.
La chiusura, comunque, non fu una spesa irrisoria per Commodore. Anni di sviluppo, risorse impiegate per sviluppare
chips custom e PCBs nonché case in materiale plastico, impoverirono ulteriormente le casse dell’azienda. In definitiva
quello che si rivelava un ottimo progetto alla fine degli anni 80 era stato tramutato nell’ennesimo disastro finanziario.
Una curiosità? Unico recuperato per altro impiego tra i chip custom fu la CPU (CSG 4510) che venne destinata alla
gestione del display del Commodore CDTV CR (la seconda versione del Commodore CDTV). Commercializzato? No, mai.
Anche quello restò un prototipo