søndag 12. august 2018

Commodore Amiga 286!

Når jeg ser over listen min over datamaskiner som jeg har i min besittelse, se også tidslinjen, så er det et rimelig stort hull i samlingen - jeg har ingen 286-basert PC i samlingen! Strengt tatt så har jeg mange hull, men ingen fullt så store som dette.

Likevel så er jeg inne i en periode der man har lyst på enda mere Commodore-ting, så da jeg snublet over noe kalt Vortex ATonce for Amiga 500 så begynte jeg å kaste det lille jeg hadde av midler etter de sporadiske auksjonene som dukket opp på ebay. På tredje forsøket og etter nesten et år fikk jeg tilslaget på en av dem, blottet for det meste av manualer og eventuell annen informasjon, men heldigvis fikk man med selve programvaren på disketter.

Installasjonen var rimelig enkel, selve kortet kommer med sin egen Motorola 68K-prosessor limt og loddet fast på undersiden av kortet så byttet i seg selv er ikke verre enn å nappe ut prosessoren og så presse inn på plass den nye. Måtte utvise en del forsiktighet i og med at man ikke ser pinnene på undersiden, så hvis man ikke treffer helt så ender man opp med å bare bøye dem unna for så å se dem knekke av. Utover det så får man Vortex sin egen Custom-chip med på kjøpet samt en autentisk 286-prosessor fra AMD med en hastighet på hele 8 Mhz!


Modulen ble reklamert for og var tilsynelatende ute i salg i perioden 1990/1991, dette var de årene da Commodore for alvor begynte å bli forbigått av de stadig rimeligere IBM PC-kompatible klonene - Vortex hadde posisjoner seg med en fryktelig god ide, likevel så tror jeg de rett og slett feilet på spesifikasjoner og pris. Omtalen her til lands var forholdsvis positiv, dnh nummer 6 fra 1991 hadde i sin omtale vært rimelig åpen om at den hadde sine begrensninger - selvsagt samtidig som de prøvde å selge den til sin spesialpris på 2990,-. Reklamene under er fra Amerikanske blader, datostemplet helholdsvis 1990 og 1991 - selve bildene har jeg nappet fra Amiga Hardware Database.


I praksis så var det du fikk for pengene en 286 på 7.2 Mhz, 512KB RAM (med den vanlige 512K minne-utvidelsen på plass), CGA-grafikk (EGA/VGA testet uten hell) med muligheten til å lese DOS-formaterte disketter på opptil 720KB. Dette hadde sikkert vært helt OK bare noen år tidligere siden man fikk alt dette for prisen, men ser man på de andre annonsene i bladet så fikk man samtidig en 286 på 16 Mhz, 1MB RAM, 1.44MB diskettstasjon som standard og hele 40MB harddisk for 8500,-. Ja, det er et solid stykke opp i pris, men på dette tidspunktet så kom man ikke langt uten harddisk og billigste løsning for å få en harddisk til Amiga-en hadde da en prislapp på 6590,-! MSDOS eller tilsvarende er heller ikke inkludert i pakken og måtte dermed også kjøpes, litt usikker på prisene på denne siden jeg ikke kan huske å ha sett en ekte kopi av DOS i den tiden.

Før vi går videre, så må jeg nesten si noen ord om det oppsettet jeg bruker videre; her har jeg sett meg nødt til å bruke en fysisk diskettstasjon som jeg fikset "støtte" for i forrige innlegg. Grunnen er at jeg ikke har funnet en løsning på hvordan man kan blande IBM PC-formaterte disketter med de for Amiga - underveis prøvde jeg meg på å la MSDOS innenfor Vortex-en formatere en Amiga-diskett i ADF-format, resultatet var ikke oppløftende... det kan tyde på at minnepennen fikk partisjonsblokken sin overskrevet underveis og jeg endte opp med å måtte reformatere denne for å få den til å fungere. Alt av filer selvsagt borte, så neste gang jeg prøver meg på noe lignende så blir det med en annen minnepenn!

Disketten merket System Disk er essensielt sett Workbench 1.3 med den programvaren man trenger for å starte opp emulatoren, det er denne som oversetter slik at tilgang til harddisker, diskettstasjon, tastatur og til og med selve skjermkortet fungerer - den har selvsagt sin egne fysiske prosessor, så det er kun det meste annet som emuleres eller sikkert mest korrekt oversettes mellom. Man kan starte Install-programmet for å sette opp tingene slik man vil ha dem, men uten en harddisk tilgjengelig så er det ikke så veldig mye interessant å finne der. Derimot, så vil det meste av moroa først starte når starter atonce-applikasjonen - Amiga-en vil da starte om på nytt igjen og da gå inn i PC-modus.

Det første som skjer etter omstart er at skjermen går i start, så får man noe som vil minne om en standard BIOS-boot med opplisting av det man har av tilkoblinger før man til sist får beskjed om å sette inn en passende boot-diskett. Selvsagt så ville man blitt fristet til å plugge inn disketten merket MSDOS Utilities, men den inkluderer ikke oppstart-filene så da måtte jeg ty til IBM DOS 3.30 isteden (den inkluderer kun filer for å sette opp skjerm, kopiere filer mellom Amiga og PC harddisk osv).


Jeg vet at DOS 3.30 er litt i eldste laget for denne maskinen - den var kjent som det mest stabile av alternativene på den tiden, men 4.0.1 og litt senere så kom også 5.0 ut på markedet med store forbedringer av den typen man ifølge reklamene bare var nødt til å ha. Likevel, man tar det man har og IBM DOS 3.30 er den eneste jeg har i samlingen min så da ble det den.

Det var vel omtrent så langt som jeg kom med modulen i denne omgang, jeg trenger en minneutvidelse for å kjøre det lille jeg har av spill til DOS (det meste krever 640KB som minimum). For min egen del og for å få sett på litt mer avanserte ting så trenger jeg også en harddisk jeg kan arbeide med, å bytte disketter frem og tilbake for absolutt alt blir fort gammelt og man kan trenge hastigheten.

lørdag 11. august 2018

Amiga 500 og fysiske disketter

Det er praktisk med Gotek, men når spill-hylla ser ut som en stadig voksende utgave av den til høyre så vil man fra tid til annen ha bruk for en fysisk diskettstasjon. Ikke det at man setter seg ned og klokker inn en hel haug timer på 30 år gamle versjoner av et medie som var notorisk ustabilt den gang da, men det er nok mer prinsippet av å finne ut hvorvidt nyanskaffelsen fortsatt fungerer.

Nå ville det selvsagt vært en mulighet å nappe ut  Gotek-stasjonen jeg nettopp pusset opp med høytaler og fersk Flash Floppy, men så ville det føles som en distinkt nedgradering. Du kan og jeg har allerede gått til innkjøp av en ekstern diskettstasjon, men som med så mye annet Commodore fra det tiåret så var ikke ting fullt så enkelt. Amiga 500 fikk ikke muligheten til å starte opp programvare direkte fra den eksterne diskettstasjonen før Kickstart 2.05, men for å beholde muligheten for å kjøre alt av eldre spill så må man nesten ha Kickstart 1.3.

Den ene løsningen er å installere en ROM-svitsjer, den andre er å montere et kort som lar en bytte om slik at den eksterne og den interne diskettstasjonen "bytter" plass sett fra maskinvaren. Gikk for den andre løsningen - litt fordi det virket som den mest praktiske av den, men mest fordi jeg allerede hadde den liggende. Vet ikke når, men det var sikkert en tanke bakom den en gang i tiden så da kom den likevel godt med!

Dingsen man fikk med, den nedenfor til venstre er ment å skulle plasseres mellom Even CIA - det praktisk nok si brikken plassert rett ved siden der man kobler til diskettstasjonen i utgangspunktet. Foretrekker å beholde maskinene mine så nært opp mot det originale utseendet som mulig, så den vanlige løsningen med å borre hull og montere bryteren direkte på kabinettet var fullstendig uaktuelt. Som man kan se så fant jeg en mellomting som jeg var villig til å leve med, borret et hull i RF-skjoldet og så monterte bryteren slik at jeg får tak i den fra ekspansjons-slotten.


Med alt på rett plass, så var det bare å plugge tilbake Gotek-en og teste at alt fungerer. Den tingen man ikke hadde tenkt på, eller det vil si den tingen produsenten av denne enheten hadde tenkt på var at RF-skjoldet ikke går på plass med kabelen pekende rett opp - ble nødt til å bøye alle pinnene skarpt til mot venstre for å få den klaringen som trengtes for å få på plass skjoldet.  Med den biten ute av veien så var det tilbake til å teste spillene man hadde på diskett igjen, alt som trengs er å flippe på bryteren så er man omstilt til laste som på 90-tallet, igjen!


Årlig vedlikehold av Amiga 500

Kalenderen nærmer seg september med storskritt, ikke fordi at jeg har det så fryktelig travelt med å komme i gang med høst og vintermånedene - mer fordi det betyr at det nærmer seg et helt år siden jeg gjorde noe med min Amiga 500. Strengt tatt så har jeg jo en Amiga 600 og en Amiga 1200 også, de har også monterte akselererator-kort i tillegg til harddisk så det er nok den mest manuelle av dem i bruk. Likevel, når det kommer til Amiga så er det noe med den spesielle følelsen av å møte en disk-bytte skjerm og så undre seg hva som er på den andre siden av innlastingen som hadde startet opp.

Når jeg først fikk maskinen så hadde jeg lyst til å bytte ut kondensatorene siden det visstnok er den tingen man gjør med det meste fra Commodore, men hadde ikke da erfaringene jeg har nå så dette steget ble hoppet jeg over da maskinen var ny. Eventuelt, så turte jeg ikke fikle med Amiga-en min?

Settet med kondensatorene har jeg dermed hatt liggende i omtrent et år, sånn i tilfelle jeg trengte dem og nå var tiden inne. Ikke det at maskinen har hatt noen problemer, mer det at når man først skulle skru opp lokket for å gjøre andre ting så var det bare på tide å få dette gjort. Settet kom på rundt 150 kr ferdig levert fra Polen, kjøpte fra selgeren Vintage Systems og med i pakken fikk jeg også et praktisk kart over hovedkortet slik at man enkelt kunne ta en og en type uten å glemme igjen noen.


Ikke det mest spennende av før og etter bilder, men så er ikke dette nødvendigvis i kategorien av ting der man ønsker spenning, så utover å stolt si at jeg kom meg gjennom uten å rote til hovedkortet så gikk det overraskende bra. Brukte min ZD-915 til jobben siden det er den jeg har, den eneste plassen jeg fikk problemer var rundt de største kondensatorene og prosessoren siden det er her man også finner de største jordingspunktene så man endte opp med gamle teknikker for å varme opp forsiktig rikke dem frem og tilbake til man fikk dem ut. Deretter litt opprydding med avloddingslisse. Med alt på plass igjen så fungerte ting til og med også, feiret med å spill Yo! Joe! i en times tid!

Med kondensatorene byttet ut og fra en produsent som ikke var den kjipeste på markedet for 30 år siden, så kom tiden for å se på det neste punktet på todo-listen min - oppgradering av Gotek-en!

Selve Gotek-en har ikke stort sett ikke forandret seg de siste årene, men programvaren man kjører på dem har sett en hel haug med oppdateringer. Den største av dem er at Cortex er som jeg montert i denne Amiga-en er nå fullstendig utdatert og ikke lenger anbefalt for bruk siden den har vist seg til å ha en tendens til å korruptere disketter. Siden jeg fortsatt ikke ser verdien av HxC på den originale kinesiske Gotek-en, så er det da Flash Floppy som jeg vil ha inn på plass på denne!

Har tidligere dekt hvordan man gjør de fysiske tilkoblingene for å overskrive Firmware på enheten i detalj, så den delen er grei. Innlegget sier en del om hvordan man setter opp minnepennen for bruk på en Amiga, men det har vært noen endringer der - før så måtte man nappe ut en del filer fra katalogen Next_WIP_Alpha_Firmware_And_Tools og så hente ut en del småtterier fra HxC-releasen, men nå har endelig Flash Floppy sine egne versjoner av alt man trenger.

Det man nå må gjøre er å kopiere følgende filer fra Flash Floppy-katalogen og til roten av minnepennen:
  1. HxC_Compat_Mode\Amiga\AUTOBOOT.HFE
  2. HxC_Compat_Mode\HXCSDE.CFG
Når jeg først fiklet med Gotek-en så ønsket jeg samtidig å montere en buzzer for å simulere lyden av diskettstasjonen - ikke den mest behagelige eller i det hele tatt autentiske av lyder, men den gjør det enklere å arbeide med maskinen siden man ikke trenger å se på lyset for å vite at noe foregår. Tidligere så måtte man gjøre sånt med montering av transistorer, resistorer og lignende på en hel haug plasser - ingenting av dette er lenger nødvendig siden Flash Floppy gjør dette ved å bare koble den på JB-pinnene på kortet.


Fant at den enkleste måten å lage disse på var å ta noen male/female jumper wire, for å ta ting på godt Norsk, og så klippe av pinnen på den mannlige delen. Deretter bare klemme den resterende delen av dupont-tilkoblingen over pinnen til buzzer-en, kast litt smeltet loddetråd over hele greia og så avslutt med et lite lag krympeplast på toppen av det hele. Verdens enkleste mod og fungerer såpass bra at jeg like godt slengte sammen en tre-fire ekstra av dem i tilfelle man ville montere dem i andre maskiner senere.

tirsdag 7. august 2018

Power to the 128!

Prøver å motstå fristelsen til å nevne John Lennons Power to the people, men så var det egentlig min ZX Spectrum 128 +2A som jeg skulle prøve å få gjort noe med så da har jeg ikke tid til enda flere distraksjoner. Annet enn hele den greia med å flytte hele boligen da selvsagt, pussig hvor travelt man har det med å få levert ting fra Polen bare for å ha den stående i et par måneder uten å få gjort noe med den!

Den største begrensningen var selvsagt det faktumet at maskinen ble levert uten strømforsyning, noe som i utgangspunktet hadde vært enkelt å håndtere hvis Amstrad bare hadde klart å bestemme seg for hvilken spenning de ønsket å kjøre maskinen på - isteden så valgte de alternativ 3 og gikk for alle! Nært nok i alle fall, for her må man ha 5v, 12v og -12v! Hva skjedde med den hyggelige 5v-løsningen Amstrad hadde på CPC 464?

Resultatet er at strømforsyningene er vanskelige å få fatt i, rett og slett fordi man knapt nok lager strømforsyninger med mer enn et spenningsnivå og de som lages er eksklusive og ment for veldig spesielle, dyre formål. Heldigvis så var jeg ikke den første som hadde støtt på denne problemstillingen og fant dette innlegget, her tilpasses strømforsyningen tilhørende en Cisco-router for bruk på maskinen - denne har delenummer 34-0874-01 og er fortsatt mulig å få fatt i for rundt 200kr fra ebay.

Innlegget jeg lenket til involverer å kutte av den eksisterende kabelen og sette på den vanlige DIN 6-pluggen som man trenger til Spectrum-en, men hadde mest lyst til å beholde denne slik at man kunne bruke den samme strømforsyningen til andre maskiner senere. Fant et annet innlegg som beskriver hvordan den samme strømforsyningen tilpasses for bruk til MSX-maskinen Memotech MTX 512. Visstnok er Cisco-pluggen en såkalt 6pin Molex Mini Fit Jr, men fant ikke noe tilsvarende motstykke til kabelen for bruk uten kretskort så da ble det andre løsninger isteden - takket være en over-flommende dele-kasse så fant jeg ut at midten av en standard ATX 24-pin kabel passer perfekt!

Kjønnet av ATX-kabelen er selvsagt det motsatte av det man trenger, men forlengelser til disse kablene er å finne på Ebay og sider som AliExpress for rundt 20 kroner og da får man det man skulle trenge av kabler også. Ikke helt optimalt at alle kablene man ender opp med å bruke er svarte, men når man prøver å gjøre ting billig så må man ta det man får for en billig penge! De resterende delene på sidene ble klipt bort ved bruk av tang og så ryddet opp i ved bruk av tapetkniv, selvsagt, slik at ting ikke ser fullstendig hjemmesnekret ut.


Cisco var hyggelig nok til å sette opp hva de ulike delene av kabelen lever av funksjonalitet, det meste er lettforståelig når man etter litt googling får verifisert at RTN er GND (0v), ROF benyttes for å skru strømforsyningen av og på ved å koble kabelen til jord, så jeg koblet denne til en vanlig bryter. Ellers så er det bare å koble sammen kablene og lodde på kablene i henhold til min pene lille skisse, pass på at denne er tegnet opp sett fra baksiden av DIN-pluggen...

Enklere sagt enn gjort å få alle detaljene rett siden jeg glemte å tegne inn haken på pluggen, så jeg loddet alt sammen på plass opp ned. Heldigvis så var det ingenting som skrur seg på når man ikke har jordet ROF så ingenting som sa poff, denne gangen! Ved å stikke en nål inn i sporene på forsiden av Molex-pluggen så da fikk jeg heldigvis stokket om på kablene for å få dem i rett rekkefølge, langt enklere enn å fikle på plass loddepunkter og en hel haug med krympeplast.

Det ferdige resultatet jeg endte opp med er vist i sin helhet nedenfor til venstre, til høyre ser man resultatet av alt blod og slit samt et døgn for å mote meg opp til å koble den til selve maskinen. Lønner seg å sjekke alt 2 og gjerne 3 ganger, men når det fungerer så fungerer det og da er alt helt toppers!


mandag 6. august 2018

Pi1541 for bruk og misbruk

Pi1541, den tingen jeg har dedikert de siste månedene til - for hvem vil vel ikke ha en moderne løsning for SD-basert lagring på sin Commodore 64? Vel, glem de SD2IEC-sakene - denne fungerer langt bedre og med tanke på at det er en ting man putter på toppen av en Raspberry Pi 3B så er den også enklere å skru sammen selv. Ikke at det er så veldig kult med prototyper etter noen timer med bruk, men har laget meg noen PCB-er som jeg isteden bruker for å gjøre koblingene mellom min Commodore 64 og den allerede så berømte Pi-en.

Jeg vet at det er dårlig stil å beskrive funksjonen til et produkt ved å rakke ned på noe annet, selv om det er den borgerlige måten å gjøre ting på - så da gjør vi det! Den tingen jeg aldri fikk kontroll på ved bruken av SD2IEC-enhetene mine, var hvordan i svarte man skal få til bytte av disketter? Jeg har lest manualen, jeg fikk det til et par ganger og siden har jeg glemt hele greia - ble bare altfor for mye knoting frem og tilbake...

Pi1541 løser dette ved å gi en alt det man trenger av informasjon via andre visninger, enten via HDMI-tilkoblingen fra Raspberry Pi eller via et kompatibelt LDC-display koblet til via I2C slik de jeg har montert på mine (nedenfor til høyre). Ved bruk av flere disketter så legger man dem først til på listen før man går over til emuleringsmodus ved bruk av knappen helt til venstre, man legger til en fil ved bruk av Add-knappen lengst til høyre. Via HDMI ser man listen direkte på skjermen, på LCD-displayet vil man se noe slikt som y> der y er selve diskett-nummeret.


Når man er fornøyd med listen går man over til emuleringsmodusen, fra dette tidspunktet så vil den automatisk presentere den første disketten i listen ut til Commodore 64. Fra dette punktet så kan man bruke knappene for Back og Next for å veksle mellom hvilken diskett som skal være i selve diskettstasjonen. Begge visningene vil indikere hvilken diskett som er valgt, men foretrekker selv det eksterne LCD-panelet siden man slipper å endre input på TV-en. Bruken utover dette er som tidligere nevnt helt identisk fra Commodore 64-siden med den fysiske diskett-stasjonen, men tok noen bilder under innlasting av Test Drive fra Accolade slik at man får et litt bedre inntrykk av løsningen:



Det siste bildet var selvsagt bare for å skryte, er noen år siden jeg klarte å overleve helt frem til bensinstasjon #2 så den måtte bare inn en eller annen plass! Ikke rart det går sakte å skru sammen kortene når man insisterer på en full spille-økt for å teste hver av dem...

søndag 5. august 2018

Pi1541 PCB revisjon B

Har så smått fått skrevet inn noen små snutter om Pi1541, generelt sett en måte der man kan få en Raspberry Pi 3B eller 3B+ til å oppføre seg som om den var en helt ordinær 1541-diskettstasjon for bruk på en Commodore 64/128. Innlegget Pi1541 Emulering av diskettstasjon burde vel egentlig hete Hvetebolle rabler om noe hjemmesnekret elektronikk for å koble en Raspberry Pi til en Commodore 64, men det ble noe i det lengste laget. Resultatet; versjon A av denne PCB-en!

Den korte forklaringen hvorfor jeg rett for sommerferien laget en revisjon B av kortet, noe som tittelen allerede har grundig avslørt omhandlet orienteringen av OLED-panelet - dette ble stående 90 grader i forhold til knappene. Fungerte i praksis overraskende godt siden man da kunne orientere IEC-kablene vekk fra seg, men som den perfeksjonisten jeg er så ville jeg ha muligheten til begge deler. For å styrke opp under panelene på 128x64 så flyttet jeg samtidig 7406 IC-en slik at denne holder oppe den ene enden av skjermen.

Selv om man allerede kunne skule ut fra innlegget Pi1541 Firmware og oppgradering så ser man at den første versjonen av PCB-en ble påbegynt før programvaren støttet eksterne skjermer, derfor tok jeg også utgangspunkt i at en vanlig OLED på 128x32 sikkert skulle passe og PCB-en var lagt opp deretter. Har i mellomtiden samarbeidet med Steve White for å legge til støtten for disse, fra versjon 1.10 så er begge variantene fullt støttet så da passet det seg bra at jeg også fikk inn en ny versjon av PCB-en med støtte for begge.


Har fortsatt noen få av revisjon A liggende som jeg må få overlevert nye eiere før revisjon B loddes ferdig sammen i og med at de på den elektiske siden av ting er tilnærmet identiske, men noen prøveutgaver har det blitt likevel. En del arbeid med slikt, men det er morsom likevel og så får man et innblikk i Commodore 64-miljøet rundt om kring i Norge.

Lurer på om at siden dette er teknisk tegning, vil ikke det da si at resultatet er kunst? Hvis en profesjonell kunstner må ha solgt noe, så må jeg da være litt kunstner? Bittelitt, om man strekker ting heeeeelt ut til kanten, men så blir det mer gøy med bytte enn betaling så hender det at man ender opp med en og annen godbit i retur også. Se finn.no for annonse om du vil sponse en fattig bittelitt-kunstner med moderate håp for innlemmelse i kunstner-lauget. Finnes dem? Sikkert, men tror ikke dem slipper meg inn. Sikkert litt for mye rasjonell ingeniør-hjerne, vanligvis å finne under det jeg har igjen av hår (la oss kalle det en moderat mengde)!

Selvsagt, så innser jeg nå at teksten Pi1541 på undersiden av PCB-en sikkert skulle vært flyttet slik at den var mer synlig. Hadde sikkert sikkert sett heeelt perfekt over URL-ene nederst... må motstå fristelsen for å lage en revisjon C, ville i så fall kun vært for å godgjøre noen stadig voksende tvangstanker!

lørdag 4. august 2018

Adlib Music Synthesizer Card

Det var en gang, langt mer spesifikt den tiden da altfor mye tid ble brukt foran dataen. Det beskriver vel egentlig altfor mye av livet mitt, men tenker mest på den tiden da foreldrene startet å kommentere på akkurat det og dataen det gjaldt var vår 386DX med 25 MHz og hele 4 MB RAM. Den gangen hadde vi ikke luksusen av innebygde lydkort i datamaskinene med et 256 bit lydbilde, jeg hadde den 1 bit innebygde høytaleren i datamaskinen og lenge så var det mer enn nok... Helt til man fikk høre hva et lydkort virkelig kunne gjøre for spillopplevelsen!

Kongen på haugen og det som var støttet av ALT var lydkortet fra Ad Lib, et kort som jeg i etterkant har fått høre egentlig het Adlib Music Synthesizer Card, og jeg drømte om å eie noe slikt en dag! Nå skal det da sies at når 386 tiden hadde rullet innover oss så var allerede teknologien steike gammelt, men spillene mine var alt annet enn det siste og Adlib-kortet var derfor første-valget på alle der man hadde et valg. Det hører selvsagt til historien at jeg til slutt endte opp med en rimeligere klone - en såkalt Soundblaster, men det er sikkert en historie for en annen dag.

Tilbake til kortet, så var disse produsert i teknologi-mekkaen som var Kanada på det tidspunktet så langt tilbake som i herrens år 1987! Selskapet dominerte lydkort-markedet på tiden da ingen hadde lydkort eller visste om at det var en mulighet, da ting virkelig tok av så tapte de på pris ovenfor klonene på markedet i tillegg til at teknologien deres lå et stykke bakom. Jaget etter å ferdigstille den neste versjonen av kortet, det som virkelig skulle sementere plassen deres på toppen julegave-listen ble utsatt og utsatt helt til det meste av tidsskrifter nesten ikke lenger viet plass til å kommentere på utsettelsene. Først i 1992 kom oppfølgeren, men så alt for sent og sjappa gikk under med et brak.

Kortene forsvant og alt vi har igjen av dem nå er de gamle titlene til maskinene, det lille antallet kort produsert har for lengst blitt resirkulert med et fåtall av dem sirkulerende på ebay med en prislapp langt forbi hva man har hjerte til å bruke på slikt. Ikke fordi jeg bruker LITE penger på sånt, mer en prioritering da det er så mye man har lyst på så da må man nesten spre det litt utover på flere ting.

Inn kommer et åpent prosjekt for å lage en replika av kortet, det neste som skjer er selvsagt at jeg formelig kaster pengene mine etter det. Strengt tatt så vil det si at jeg tok Gerber-filene, leverte dem inn til SeeedStudio over juleferien og siden har PCB-ene blitt liggende. Hvorfor? Fordi, flytting og ingen peiling på hvor alt man skulle komme til å trenge har havnet.


Selvsagt, rundt juletider så bestilte jeg opp det meste av det som kunne oppdrives på ebay og AliExpress for å finne rimelige komponenter - det meste av IC-er var enkelt og rimelig å få fatt i. I og med at dette tross alt er et lydkort så ville jeg ikke skorte på kvaliteten for mye, så her ble det skikkelige beige resistorer som skulle brukes - her skulle det ikke inn en eneste billig blå resistor, selv om de også er fra Kina. 8.2K, 12K og 1.5K er verdier utenom det vanlige og derfor ikke en del av resistor settene jeg hadde så disse måtte jeg bestille separat.

Volumkontrollen er oppgitt å være av typen Bourne og det gjenstår å se om disse er verdt 60 kroner stykket, eller om jeg kan komme meg unna med å bruke en femmer isteden? Vet aldri når det kommer til lyd, kvalitet og analog lyd er en ømfintlig sak der det dyreste ofte er det eneste akseptable alternativet.

Tantalum-kapasitatorer har jeg liggende et lite utvalg av, men de er svindyre så disse måtte bestilles opp separat for å få nok av dem til to kort - fra alle andre plasser enn Kina er de rundt 8 kroner stykket og man trenger 6 av dem for ett kort! Elektrolytten på 220uF er av typen axial, en type som ikke har vært produsert siden slutten av 90-tallet så tilgjengeligheten på disse har vært begrenset til de litt mer seriøse sjappene. Utover de vanlige bypass kapasitatorene på 100nF (104) så trengte man også en på 270pF, en snål verdi som heller ikke fulgte med i noen av settene jeg hadde.

Jepp, og så manglet jeg en vid socket for 24-pinner, jeg visste ikke en gang at de kom i den størrelsen så da må jeg bare smøre meg med tålmodighet og vente på at den ankommer fra den ene selgeren i Spania som jeg fant. Håper bare på at dette ikke er enda en av de kinesiske sjappene som later som at de er plassert sentralt i Europa for å få et ekstra salg, har opplevd det før og man blir nesten frådende utålmodig når man venter i 4-6 uker på noe som skulle vært rett rundt hjørnet.

Hva annet som mangler? Jo, det var selve monteringsplaten - en keystone 9202 bracket som er den man skrur inn i for å feste kortet i maskinen. Ser ut til at disse er frustrerende vanskelig å få fatt på, den eneste jeg kunne finne som kunne levere noe slikt var Mouser i USA - de dikterer da sin egen pris, men det er nok DHL med sine 145 KR ekstra for å få pakken levert til deg som koster skjorta. Forsøker man da å holde seg under import-grensen på 350 KR så har man knappe 200 å handle for. Måtte derfor velge bort en del komponenter bare for å få de tingene jeg visste man ikke kunne få noen andre plasser, så derfor bestilte jeg like fullt fem av den Keystone-saken for å ha nok til å ikke trenge å bestille noe mer derfra på en stund. Alt annet tror jeg man fint skal kunne få fra ELFA DISTRELEC her i Norge - fortsatt 60 KR som går bort i porto, men ingen grense og man får alt annet hva man ønsker til en premium pris!

Det var vel omtrent så langt som jeg kom i denne omgang, må bare vente og se på hvor lang tid det eventuelt kommer til å ta før alt er i hus. Mouser med DHL i bakhånd tar sikkert bare noen dager, resten må jeg sikkert vente et par uker på...

lørdag 28. juli 2018

Pi1541 Programvare og konfigurasjon

Har brukt de siste månedene, i alle fall litt av den ledige tiden de siste månedene, på å fikle med min Pi1541. Den er en utvidelse som plugges på Raspberry Pi 3B eller 3B+ for å gi den muligheten til å late som om den er en 1541-diskettstasjon sett fra en Commodore 64. Selve maskinvaren har jeg skrevet en del om allerede, selve programvaren har Steve White stått for og til å være så tidlig i utviklingsløpet så har den allerede støtte for det aller meste man kunne komme til å trenge.

For å komme i gang trenger man et SD-kort som skal plugges inn i Raspberry Pi-en, dette må være formatert med filsystemet FAT32 - noe som vil si at så lenge man ikke eksplisitt har gjort noen forsøk på å endre på kortet ut av pakken så skal det fungere helt fint. Størrelsen er opp til en selv, men dette er ikke spesielt kravstore systemer og vil tro det billigste du får fatt i (mest trolig 16 GB) likevel vil kunne holde på så og si alt noensinne produsert for datamaskinen. Deretter følges følgende steg:

  • Last ned siste versjon av firmware til Raspberry Pi fra produsenten, kopier filene bootcode.bin, fixup.dat og start.elf fra boot-katalogen til roten av SD-kortet.
  • Last ned Pi1541.zip fra hjemmesiden, pakk ut alle filene til roten av SD-kortet.
  • Neste steg er selve firmwaren til en 1541-diskettstasjon, den enkleste måten å få tak i en kopi av denne er å gå til nedlastingssiden for Commodore 64-emulatoren VICE, last ned en installerbar kopi eventuelt bare kildekoden øverst på siden (.tar.gz-filer kan enkelt åpnes ved bruk av 7zip). Uansett, kopier filen dos1541 fra katalogen data\DRIVES til roten av SD-kortet.
Alt skal nå være ferdig oppsatt for bruk, stapp det du eventuelt trenger av programvare-filer (d64-format) i katalogen 1541 for å ha disse tilgjengelig under bruk. Likevel så er det mye man kan konfigurere slik at man får oppsettet akkurat slik man ønsker å ha det, disse endrer du ved å redigere på filen options.txt som nå ligger på SD-kortet. Uansett så har du nå oversikten over hvordan man oppgraderer de ulike delene, men husk at det kan være en god ide å lese gjennom konfigurasjonen som følger med de nye versjonene ettersom ting kan ha endret betydning eller format.

Oppsett av display slik de modulene jeg har solgt til en håndfull heldige personer er litt mer komplisert og krever en del teknisk informasjon om selve modulenes adresser - disse står ofte også på selve kortene og i tillegg må man ha oversikt over hvilken kontroller som står på LCD-modulen. Legger ut oppdaterte versjoner av filene jeg bruker på min dropbox, så skal det være enklere å håndtere disse uten å studere alle finurlige detaljer.


Som man kan se av bildene over så har jeg prøvd ut to ulike skjermer, begge er basert kontrolleren SSD1306 og er svært lik utover orienteringen - det som skiller seg er antallet linjer med kun 2 for det minste. I praksis så er det fint med den ekstra oversikten man får ved å bla i lange lister med 4 linjer tilgjengelig, men det minste er langt raskere i bruk siden det er mindre som må tegnes opp. Den første konfigureres som ssd1306_128x64 mens det minste er ssd1306_128x32.

Den detaljen som sikkert kommer til å påvirke en mest under bruk er nok deviceID, som standard benyttes 8 - det er den samme 8 man kjenner igjen fra kommandoen load "$",8. Bruk av noen andre innstillinger var og er kun relevant med de som har mer enn en diskettstasjon, generelt sett fordi så mye av programvare/spill er hardkodet til å se etter filene sine på enhet 8 - med andre ord så vil man sjeldent kunne laste inn noe fra andre enheter!

Det var vel det, ikke så veldig mye om praktisk bruk denne gang - kanskje neste gang jeg får ånden over meg til å feste noe til papiret (skjerm?)...

onsdag 25. juli 2018

Pi1541 Emulering av diskettstasjon

Man har nostalgi for det meste fra barndommen vår, men når man omsider blir gammel så har man ikke lenger hverken tålmodigheten eller tid nok til å laste inn ting fra kassett. Derfor så har utallige frivillige folk med langt mer innsikt i elektronikk enn det jeg kunne håpe på å en gang akkumulere, satt hodene sine sammen for å lage løsninger som laster inn alt fra SD-kort (eller tilsvarende) på noen få øyeblikk.

Commodore 64/128 fikk dermed sin SD2IEC etter noen år, denne er ment å emulere en 1541-diskettstasjon og kombinert med enten JiffyDOS eller noe slikt som Final Cartridge 3 så er innlastingstiden håndterbar. Bakdelen er at den ikke fungerer, i alle fall på alt for mye det jeg prøvde å laste inn via den - hvorfor? Årsaken ligger i at den originale diskettstasjonen er en tilnærmet komplett Commodore 64 i seg selv, mange spill og programmer laster opp egen programvare som skal kjøre på den og en SD2IEC er ikke stand til å gjøre noe med den koden - den gjør bare de grunnleggende tingene, resten forstår den seg enten ikke på eller så gjetter den bare på hva datamaskinen vil at den skal gjøre!

Løsningen på dette er en enhet som er i stand til å emulere diskettstasjonen i seg selv, den første av disse er den FPGA-baserte 1541 Ultimate II som med en med en ventetid på rundt 6 måneder og en prislapp på rundt 2500 kr etter import ble uaktuelt for min del. Kanskje hvis jeg kun fokuserte på Commodore-maskiner, men som du kan se av oversikten så har jeg ikke helt klart å begrense med til en produsent. Den andre løsningen er programvare som kjører på en Raspberry Pi 3B eller 3B+, Pi1541 av Steven White og det eneste man trenger i tillegg er en måte å få koblet til kablene.

Option B, fra https://cbm-pi1541.firebaseapp.com/

I utgangspunktet så lister nedsiden opp to alternative modeller, A og B, som rimelig enkelt kan snekres sammen på kjøkkenbenken med et lite utvalg komponenter av typen. A er det første utkastet som ble lagt ut, men denne har en del elektriske forenklinger som gjør at denne ikke er i stand til å fungere sammen med en annen fysisk diskettstasjon. Hvorfor det da? Fordi dette er 5v TTL-basert logikk og under bruk så er det mye strøm som passerer mellom dem, den vil fungere en stund og så kommer noen av komponentene på Pi-siden av ting til å begynne å smelte. B-modellen, den jeg dermed vurderte som det eneste fornuftige alternativet løser dette ved å bruke en 7406 chip - denne har som hensikt å tåle denne belastningen, selve designet skal være hentet rett ut av skjemategningen til den originale diskettstasjonen.

Personlig så liker jeg ikke å lodde sammen ting på perf-board, kretskort for prototyping, når jeg ser for meg bruk av det man skal lage i etterkant så ender de opp med å bli litt for skjøre i bruk så da foretrekker jeg heller å bare tegne dem opp i KiCad eller annen egnet programvare og så ta tingene derfra. Se til høyre for den elektriske skjemategningen jeg endte opp med, for det meste identisk med B-modellen bare at jeg la til en ekstra DIN-kontakt for å kunne koble på flere enheter på IEC-bussen uten bruk av splitter-kabel. Vel, det og så tenkte jeg at før eller siden så måtte noen finne på å legge til et LCD-display så da designet jeg inn denne tilkoblet I2C-bussen på Pi-en.

Uansett, med litt ukonsentrert tegning, form og farge så fikk jeg til slutt det som skulle kunne bli til et kretskort. Tok noen snarveier underveis ved å ta utgangspunkt i en mal for Raspberry Pi-moduler, såkalte Pi-hats, så da slapp jeg å selv fundere ut plasseringen av skruhullene og matche pluggene opp mot selve Raspberry Pi 3B-kortet. Kretskort først som sist med andre ord! Ja, man må til Kina for å få disse tingene gjort innenfor private budsjetter og så må man bare smøre seg med tålmodighet!



I skrivende øyeblikk så er det nå et par måneder siden bestilling, mesteparten av tiden brukt på å skru sammen kortene og leke seg med dem. Kun avbrutt av et par uker ferie i syden, sånn som må til for å overleve vinter/sommer her nord! Tilbake til dagens tema, kortene endte opp med å se ganske bra ut og i mellomtiden har den programvaren også fått lagt til støtte for I2C display basert på SSD1306-kontrolleren - den typen jeg allerede har liggende en liten haug av, awesome!

Strengt tatt så la jeg inn plass på kretskortet for varianten av størrelsen 128x32 mens den som til nå støttes er 128x64, så ikke full klaff på første forsøk - likevel så er sikkert støtten rett rundt hjørnet, i mellomtiden så fant jeg ut at den litt større varianten også fungerer fint selv om orienteringen ikke stemmer helt overens med knappene - måtte bare droppe DIP-socketen for 7406 chippen og legge inn ekstra avstand på pinnene til displayet for å gå klar av brikken.

Siden jeg endte opp med langt flere moduler enn jeg selv skal kunne makte å bruke på et og samme tidspunkt og allerede har en bøtte med reservedeler, så tenkte jeg at resten fint kunne selges via finn.no slik at andre også kunne få ta del i det siste og råeste innenfor Commodore-teknologi! Ikke alle som trenger display eller to IEC-utganger så endte opp med å lage en begrenset utgave og en komplett utgave av kortet slik at det ble en litt billigere variant å velge mellom. Ser ut til at alle jeg har solgt er av den komplette varianten, men sikkert fint å ha noe å velge mellom.


En ting jeg ikke hadde kalkulert med når jeg vurderte å legge noen av disse ut for salg var kvaliteten på delene som man får tak i, det er ingen problemer når man skal lage en av noe ettersom man alltid får langt mer enn man trenger - prøver man derimot å lage 10 av dem siden det var den mengden kort jeg har, så vil man finne feil.

I2C level converteren jeg brukte var den samme som på hjemmesiden, men fant ut at et par av dem hadde svakheter og måtte byttes ut med mye banning til grunn - kunne greit nok testes først ved å sette multimeteret på 200k Ohm og så sjekke at man fikk rundt 136K mellom hver av de fire kanalene. 7406-modulen var litt verre siden komponent-testeren jeg har ikke har hørt om denne brikken, bakdelen med å holde på med 40 år gammel teknologi - denne måtte testes på et av kortene og de som ikke fungerte enten førte til at Commodore-maskinen låste seg ved lesing eller så rapporterte den Device not present. Kastet rundt 8 av 10 brikker av varianten SN7406N, men av de dyrere jeg fikk fatt på stemplet 7406PC så fungerte alle av dem uten problemer - enten så var det første settet av dem grillet under transport (ingen anti-statisk pose, noe som er vanlig fra ebay dessverre) eller så var de bare langt skjørere og rett og slett ikke håndterer den rå kraften som er å finne i C64-maskinen!

Nok om maskinvare-siden av ting, det er programvaren som er den spennende delen av alt dette...

onsdag 18. april 2018

sudo make better stuff

3D printere og alt det der om mulige fremtidige bruksområder, fra gutterommet til verdensrommet. Jeg vet ikke hva jeg skal bruke den til, men nå har jeg altså kjøpt inn en Geeetech i3 Pro B. Da har jeg den altså, og som en klokke som bare viser korrekt tid to ganger i døgnet så har jeg hoppet på hobbytrenden - sånn bare i tilfelle de skulle vise seg å være fremtiden.

Jeg har fått herligheten skrudd sammen, men som alt annet der man estimerer tid så trodde jeg at mekanikken var det enkle og elektronikken den vanskelige - sånn var det ikke, men som med alt annet så bryter alt sammen når man fikler for mye i den ene eller den andre retningen. Når det kommer til selve utskriften så fikk jeg mye rart, den ovenfor til høyre er ikke akkurat et godt utgangspunkt og det var heller ikke den første. Her er de jeg har skrevet ut, fra eldst til siste tapre forsøk, på malerteip og uten, med termostaten på full "grillings" og behagelig sydentemperatur. Hastighet er selvsagt også en faktor - til sammenligning klarer de fleste av oss å male en låvedør, men å gjøre det hengende ut av bilen med gassen i bånn begynner å nærme seg David Copperfield-nivå av magi!


Den første av disse som fullførte kjentes ut som om den i et tidligere liv hadde vært en rosa makron, mykt som nystekt og sprø etter avkjøling. Sikkert en god ting når det kommer til makroner, altfor søtt for min så jeg er ingen stor kjenner, men tilbake til produksjonen så var denne et stykke utenfor kategorien brukbar. På nummer to ble det en del fikling frem og tilbake der det så ut til at materialene fløt noe bedre selv om det så ut til at man hadde en del separering mellom lagene. På den siste fiklet jeg med flow-instillingen og reduserte hastigheten i håp om bedre tider, tilsynelatende var solen på vei opp... inntil skrivehodet kolliderte med det den hadde skrevet ut før og så hoppet plutselig den ene motorreimen over et hakk!

Første steg er justering av utskriftsflaten, deretter justering enda en gang og til sist den aller siste gangen før man skriver ut. Fått det med deg? OK, javel da. Fremgangsmåten er å skru på maskinen, trykke autohome og så deaktivering av motorene via menyen slik at man kan justere denne slik at utskriftshodet nærmer seg glassplaten. Juster på skruen til høyre for å få den nogenlunde korrekt, legg et vanlig utskriftsark mellom hodet og glassplaten for å sjekke at man får litt motstand ved å bevege på arket - det skal ikke gå fritt, men heller ikke være så trangt at hodet graver seg inn i papiret. Dette gjøres på alle 4 hjørner, etterpå gjentar du prosedyren for å sjekke at ingen av de andre hjørnene har forskjøvet seg.


Prosessen virker omstendelig den første gangen, men når man får treningen på plass så går det kjapt å få dette gjort skikkelig - bedre å bruke 5 minutter for å slippe å kaste resultatet av se en timeslang utskrift. Noen sier man må gjøre dette hver gang og selv om dette høres ekstremt ut så tilsier min erfaring fra bygging av radiostyrte biler at dette fort kan bli et problem, metall mot metall kombinert med vibrasjon fører for til at ting begynner å skli ut. Dette kan man enkelt løse med locktite når den dag kommer at man blitt noe mer fortrolig med oppsettet av maskinen, inntil da så ender man opp med at justeringsskruene for reimer og utskriftsflate vil bevege seg over noen timer med aktivitet.

Med balansen på plass så skal man slippe kollisjoner som den jeg fikk, så da må man bare håndtere problemet med at utskriften ser ut til å ha separasjon mellom materialene - litt som om man har brukt altfor lite materiale. Prøvde først å endre på temperaturene, sånt som man potensielt gjør om man ikke har peiling på hva man driver med - funket uansett ikke selv om strømmen av materiale var noe mer stabil på 200 fremfor 180 grader for den PLA-en som fulgte med i esken (sikkert rosa fordi det er den de ikke har fått solgt så mye av). Jeg fant en god artikkel som detaljerte hvordan man kan justere mengden materiale benyttet, det man gjør er å bruke en linjal for markere henholdsvis 100mm og 120mm materiale. Man kan så sjekke hva maskinens produserer ved å be den om å spytte ut 100mm ved bruk av menyvalget Prepare Move axisExtruder.


Nå skulle du sikkert ha fått en pen trådvase under skrivehodet, for å sjekke om man har en tilstrekkelig stor haug så sammenligner du igjen med linjalen for å se om den eventuelt har benyttet for mye eller for lite materiale og på den måten får man noe å justere ut fra. Forholdstallet mellom materiale brukt og ønsket ganges opp med verdien Esteps/mm, denne finner du og eventuelt endrer du under menyen Control Motion Esteps/mm. Jeg hadde fra tidligere en verdi på denne satt til 93.0 mens det som kom ut av maskinen var 78 mm, så da var regnestykket som følger:

(ønsket mm)/(produsert mm) * (esteps/mm) = (ny esteps/mm)
100 / 78 * 93,0 = 119,2

Jeg gjentok en gang til for å være sikker på at ting ble helt korrekt, forskjellen var i alle fall ganske kraftig. Materiale produsert i andre omgang var 101 så 100/101*119,2 resulterte i en ny verdi på 118,0. Tross alt så var vi nå mye nærmere de reelle verdiene så da var tiden for å prøve seg på en ny utskrift igjen, denne gangen tok jeg en ofte brukt kalibreringsmodell som skrives ut for å evaluere hvordan tilstanden blir. Jeg startet veldig tregt på rundt 40% hastighet, men mistet tålmodigheten underveis og endte opp på 80% med det resultat at det hele tok litt i overkant av en time.


Nå begynner man altså å snakke om resultater, sikkert et resultat som mange ville fnyst over der de sitter med utstyret til 10-gangen av mitt mens jeg bare fryder meg over at den ligner på en kube! Maskinen fungerer som den skal og med kalibreringen ute av veien så er det bare å be den printe ut enda flere dippedutter, for å bruke fagspråket, og jeg var i gang med å gå i gang da jeg innser at det jeg har igjen er rundt 20 cm av det rosa filamentet som fulgte med maskinen. Crap!

Vedder stort på at den nye fine rullen med hvitt filament, også denne fra Geeetech, skal fungere omtrent likt på maskinen så er er det bare å printe i vei. Slik gikk det ikke, for denne gangen fikk jeg 45mm av 100 og justerte opp nesten så langt som den går for å få 88mm, justerer på nytt og endte opp på 120mm så alt jeg målte varierte både opp og ned uten å treffe. Følelsen var at den greia jeg hadde lest kvelden før når det kom til tips om å sjekke extruderen tar skikkelig er å legge ekstra press på den og se om det går bedre, senere virket det som om flyten av materiale var ujevnt selv når man manuelt ba den om å fortløpende produsere en gitt mengde.

Dette var et nytt symptom, men etter å tidligere ha demontert extruderen og studert mekanismen, så hadde jeg en dårlig i magen om at tannhjulet ikke lenger fikk grep på filamentet. Glemte selvsagt igjen å ta et bilde så dette var igjen fra min rosa periode, men ser ut til at fiklingen min over tid har ført til en avrundet form i tannhjulet slik at den ikke lenger griper skikkelig. Har bestilt en erstatning for denne delen, likevel så er det såpass mye rom for justering slik at man bare kunne flytte litt på den for å få kontaktflaten et annet sted, fjernet samtidig eventuell smuss ved bruk av alkohol så da så den ut til å gripe igjen - nesten som ny.

Hyggelig å vite at man har muligheten til å gjøre denne feilen sånn omtrent en gang til før reservedelene ankommer med hestekjerre fra Kina, men så lenge alt fungerer igjen så skal man være fornøyd. Ser til at man i forsøket kan ha funnet enda et nytt svart hull i økonomien min, litt til høyre for det tilhørende de gamle datamaskinene mine så får man se om disse en dag i kombinasjon kan bli som... Uhm, biffsnadder? Godt hver for seg, helt snadder sammen!

Med nye justeringer etter nyere fikling inntil det renner hvitt fint og stabilt, det må kunne kalles en underdrivelse å si at korrekt kalibrering av utskriftsplate, materialflyt og kvalitet på råvarene utgjør en signifikant forskjell. Får la bildene si det som sies kan (justert utskriftshastighet til 60%), først er en ting som skal la Z-aksen bevege seg fritt og ikke låse seg som tidligere mens den siste er en holder for en vifte som skal kjøle ned delen underveis, dette skal visstnok hindre at plasten trekker seg sammen så mye som man kanskje ser på "basen" nede til høyre. Langt bedre enn jeg hadde forventet å kunne lage på denne skriveren, så da er det bare å vente og se hva morgendagen vil bringe av forbedringer og tweaks!