Gå til innhold

INNSIKT: Slik kommer du igang med Commodore 64-retro­programmering på Mac OS eller Windows


Anbefalte innlegg

Videoannonse
Annonse

Commodore 64 lever fremdeles. Tror nok det er noe i kompleksiteten og kravene i dages samfunn og nostalgien som gjør den interessant også i dag. Den er nok avansert og samtidig begrenset slik at en trenger å vri hjernen litt for å lage kule ting i 6510. samtidig har en greie muligheter innen grafikk og lyd. Det er fremdeles dem som finner en challege i skvise mye ut av en C64 i dag.

Om en ønsker å kjøre på fysisk maskin kan er være heldig med at den gamle maskinen fremdeles fungerer når man gjør det tilnærmet arkeologiske utgravningsprosjektet det gjerne er å hente den fram igjen. Det kan være lurt å få byttet ut kondensatorene da disse mister kapasitet eller gjerne ryker over tid. Det selges kit for de ulike revisjonene av hovedkortet . Søk på 'commodore 64 capasitor kit' så finner du flere leverandører. Jobben krever lodding for å fjerne og sette inn nye kondensatorer fra kittet.

Det er også prosjekter som Pi1541 eller 1541 Ultimate II+ som er kapable og greie løsninger til å perfekt emulere en 1541 diskettstasjon (som faktisk også inneholder en MOS 6502 prosessor som var originalen 6510 i C64 var basert på).

En kan også ha god hjelp i eBay for å finne en S-video/composite videokabel og en VGA-konverter til å bruke en "nymoderne" LCD-monitor. Kanskje du til og med har en gammel 4:3 skjerm stående.

PRESS PLAY ON TAPE

  • Liker 1
Lenke til kommentar

Retroprogrammering er gøy. Og 6502 gir ikke på langt nær like mye hårtap som 80C51. Men AVR var første 8-bitter som var renhårig nok til å støtte C programmering rett ut av boksen, og dermed fikk – skal vi si – fullverdig GCC støtte. Alt før dette – inkludert 6502 – krevde mengder av omgående bevegelser for å ´skoskje´ C kode inn på kontrolleren. 

 

Men for en virkelig styrkedemonstrasjon i innsikt i kompilatorer og optimaliserere er følgende Youtube video å anbefale:

 

• “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17,” CppCon 2016: Jason Turner

 

I denne videoen prater Turner mye om hva for assemblykode C++ kompilatoren (LLVM clang) egentlig produserer. Og hvor ekstremt effektiv denne assemblykoden faktisk er. Og selvfølgelig hvordan han laget et verktøy for å oversette x86 assembly til 6502. Yikes!

 

Denne videoen endret mitt syn på C++ som bloatwaregenerator. Det er definitivt ikke kompilatoren og optimalisereren sin skyld om C++ 'applikasjonen' kjører tregt og suger resurser ut av datamaskina, for moderne optimaliserere produserer smartere assembly som det jeg er i stand til selv. 

 

Matt Godbolt - Compiler Explorer

Endret av 1P4XZQB7
Lenke til kommentar
1P4XZQB7 skrev (1 time siden):

Men for en virkelig styrkedemonstrasjon i innsikt i kompilatorer og optimaliserere er følgende Youtube video å anbefale:

• “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17,” CppCon 2016: Jason Turner

Veldig interessant! Men synes jo han kunne vist 6502-koden underveis – ikke bare x86-koden (selv om vi kom dit til slutt). ? Men nå var vel litt av poenget også å, som du sier, vise hvor effektiv assemblykode clang produserer – og x86 er vel det de fleste i publikum antagelig har bruk for. 

Compiler Explorer var jo fantastisk – men fant ikke 6502 i listen over tilgjengelige kompilatorer. ? 

Lenke til kommentar
Kurt Lekanger skrev (På 23.11.2019 den 10.55):

Compiler Explorer var jo fantastisk – men fant ikke 6502 i listen over tilgjengelige kompilatorer. ? 

Som sagt ( og nevnt i forbifarten av Turner,) var det ikke før Alf Egil og Vegar sin RISC – unnskyld, Atmel AVR – kom på banen, at det i det hele tatt ble praktisk mulig å skrive backends tiltenkt 8-bit arkitektur for store general purpose kompilatorer slik som GCC.

 

Før AVR var 8-bit markedet stort sett dominert av kommersielle og meget special purpose C kompilatorer, der mengder av proprietære keywords og andre besvergelser langt unna C99 standarden måtte benyttes. Og dette gjelder fortsatt den dag i dag for arkitekturer som 6502/80C51/PIC/Z80/HC08/etc. Dette blir likevel mest bare av akademisk interesse, da 32 bit ARM Cortex (med aner tilbake til BBC Micro og senere Acorn RISC Machine) etterhvert har tatt livet av alt overnevnte. Strengt tatt og for en gangs skyld med rette. 

 

Så nei, du vil ikke finne noen 6502 kompilator på Compiler Explorer…

 

PS! Til gjengjeld kan du se og høre Matt Godbolt fortelle selv hvordan oppstartsfilen(e) [ 'crt0.s' ] i assembly er konstruert. Eller som han uttrykker det selv:

 

• “The Bits Between the Bits: How We Get to main() CppCon 2018: Matt Godbolt

Endret av 1P4XZQB7
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...