Spectravideo expansion.

Berätta om dina pågående projekt.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Spectravideo expansion.

Inlägg av Icecap »

Får jag tipsa om Vindulum. Då borde USB-minne kunde användas som hårddisk på ett enkelt sätt.
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Spectravideo expansion.

Inlägg av Glenn »

icecap: Det är alltså en USB-kontroller man kan interfacea på ett hyfsat enkelt sätt ? ..det vore ju en grej förstås, om man kan programmera, men aooa har ju anmält intresse på den punkten :)

gizmo: ja, det är ju det folk vill ha i första hand tror jag.. men det är ju också betydligt mer komplicerat än det andra.

Angående mus så har jag BESTÄMT för mej att det finns ett öppet för att bygga en PS/2-mus-adapter till MSX, jag funderade på att bygga för att kunna köra i SymbOS.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Spectravideo expansion.

Inlägg av Icecap »

Glenn: jupp! Och med en hub på borde det vara rimligt enkelt att ge en eller fler USB-minnen ett bikstav ("A:", "D:" osv). Med rätt namn på en fil kan man ha ett boot-system som dels har möjlighet att ladda in "standard OS" men även kunde välja "OS från stickan". Kanske överkurs men fullt möjligt.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

Fast man måste väl ändå skriva en hel del mycket mer kod med en såndär jämfört med att köra CF/IDE, eller?
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Spectravideo expansion.

Inlägg av Icecap »

Standardsvar: läs databladet, jag har inte svaret i skallen.

Har för mig att man "pratar" typ "Öppna fil <xxxx.yyy> för läsning" osv. Hela filsystemet skulle - efter vad jag minns - tas om hand av kretsen så att det i grunden just är att be den fixa detta med filer osv. Därmed är filer på USB-minnet 100% FAT-kompatibelt.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

Aha, men då blev det plötsligt supersimpelt! :tumupp:
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Spectravideo expansion.

Inlägg av Glenn »

Kan ju bumpa denna lkte med att numera hittas all information om projektet på http://www.spectravideo.se :)

Det händer inte saker så snabbt, men det går framåt iaf, om än i snigelfart.

Har även ett helt nytt projekt på G till 328'an, CAD'ar på ett prototyp-PCB just nu, har iaf lyckats designa en kortkantskontakt
för ändamålet och schemat är klart, måste bara routa PCB't bättre.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

Hej tråden!

Jag trodde att jag bara hade en "svenska"-modul bland allt junk, men det visade sig att jag har tydligen i nåt svagt ögonblick köpt en komplett SVI 328 med nätadapter, rf-modulator, bandspelare och både svenska+engelska manualer. Den låg i samma kartong som mitt Luxor/Fairchild Channel F TV-spel och ett "pong-mässigt" TV-spel som jag undrat var den var. Den kartongen stod ca 3dm från där jag har fötterna när jag sitter vid datorn :wink:

Jag har inte hunnit provköra den, men misstänker att den lär vara hel. Om den är hel så har jag alltså också intresserad av expansion, även om det ligger på plats 4711 eller åtminstone plats 42 i nån slags prioriteringsordning.

Jag tittade i manualen och läste dels om bankswitchningen och dels lite om pinouten. Det verkar ju som att maskinen har 64-utrymmet delat på två 32k-halvor och för övre respektive nedre 32k-halvorna kan man vardera välja en av fyra banker. Både höga och låga bank 0 är intern i maskinen (ena är ROM, andra RAM). Låga och höga bank 1 finns i cartridgeporten, dessutom avkodad som fyra 16k-block. Låga och höga bank 2 och 3 finns i expansionsporten och ena halvan av bank 2 är dessutom internt RAM i 328 (men inte i 318).

Om man ska bygga RAM-expansion så verkar det väl dumt att inte slå till på 96k med en gång, eftersom det är så mycket man på standardsätt kan expandera en 328? (Det kan väl vara plats för 128k med en gång, så kan man maxexpandera en 318 om man så vill).

Jag håller fast i idén om ISA-kortplatser. Ett ISA-multi-IO-kort är "gratis" och SVI verkar ha använt 8250 som serieportar som standard. Fixar man rätt adressavkodning så kan man alltså köra SVI-standarddrivrutiner för serieportar. Modernare 16550-portar är mjukvarukompatibla med 8250, med kod för 8250 så blir en 16550 som en 8250. (16450 är för övrigt en 8250 som klarar högre klockfrekvenser eller nåt sånt). Visst, parallellporten, gameporten, floppykontrollern och ide-kontrollern på ett sånt kort är inte SVI-standard men de kan ju antingen mappas in på lediga I/O-adresser eller helt enkelt struntas i helt.

För att få just två serieportar på ett pc-multiseriekort att hamna rätt i adress vid anslutning till SVI så är det bara att korsa adressledningarna på lämpligt sätt. PC lägger portarna på 3F8 och 2F8 om jag minns rätt, SVI på 20 och 28. A8 på PC till A3 på SVI o.s.v., och så får man klura lite och ev grinda de andra adressledningarna så att övriga grejer på ett multi-io-kort hamnar på önskat sätt. Ja, eller så gör man en fuling som gör så att just 20-2F mappas som 3F8-3FF och 2F8-2FF men i övrigt går ett i/o-område via nån muxfunktion eller liknande. Poängen med att specialbehandla serieportarna är just att de är hårdvarukompatibla med SVI original.

Man skulle i princip kunna göra en expansion som också har en kabel som sätts i cartridgeporten, alternativt att man löder på en liten flatkabel inne i maskinen och ansluter till stiftlist i expansionsenheten. Det skulle möjliggöra flash/eeprom/ram som kan mappas in i cartridgeadressutrymmet och på så sätt skulle man kunna utveckla egna varianter som kan göras till riktiga cartridges, och omvänt kan man köra dumpar av originalcartridges rakt av.

I/O från och med A0 och uppåt verkar vara ledigt på SVI, bara att bygga eget där.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

Tillägg:

Om man tittar på en PC-parallellport så ligger visserligen utport D0-D7 på en egen port och skrivning av strobe på bit 0 i en annan port på samma sätt som SVI (om än andra portadresser) men läsning av BUSY ligger på bit 7 på PC medan 0 på SVI.


Jag läste på lite om floppykontrollern WD 1793 här. Den verkar rätt lätt att emulera om man inte kör DMA. Jag har inte tittat på schemat för SVI-expansionen, men om den inte innehåller DMA så borde det alltså vara rätt lätt att emulera med nån mikrokontroller eller liknande. Man verkar i princip skicka in ett kommando med ett par parametrar till den och sen matar man in eller läser ur data i takt med hur bitar i statusregistret indikerar om kontrollern är redo eller inte. Man kan ju lämpligtvis lägga på ett turboläge där den dels alltid indikerar att den är redo och att det alltid finns data att läsa och att den dessutom inte drabbas av overrun om man läser för sakta. Då bör originaldrivers funka och gå snabbare än med originalhårdvaran.

80-teckenskortet SV-806 verkar använda den klassiska CRT-kontrollern 6845. Närmare undersökningar kan kanske avslöja vilka likheter och olikheter det finns v.s. IBM's CGA-kort. Det är inte helt otänkbart att det kan gå att mappa in ett CGA-kort och köra, möjligtvis att man blir tvungen att patcha timingvärdena till 6845:an pga att det kanske är olika klockfrekvenser (jag har ej kollat)

När jag tittar lite mer ser jag att cartridgeporten är lite mer avancerad än jag antog. Jag står ändå fast vid att det vore lämpligt att dra in CCS1...CCS4 från cartridgesloten in till en tänkt expansionsburk.

Emulatorn för Coleco-spel verkar ju hårdvarumässigt mest innehålla klisterlogik, kontaktdon och ett 2764 EPROM. Den kan ju inte vara jättesvår att implementera om man vill. Däremot verkar åtminstone vissa spel kräver speciella joysticks varpå det kunde vara en idé att fundera på nån slags interface för att översätta mellan annan indata och dessa joysticks. PS/2-tangentbordsport för att emulera sifferknapparna på Coleco-joysticks med hjälp av (numeriskt) pc-tangentbord?

Därmed är väl alla originaltillbehören (av "busstyp") täckta?
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

Jag har läst på lite mer.

Åtminstone RS232-kortet från Spectravideo verkar ha en annan (högre) klockfrekvens än en standard-PC-port. Det betyder att om man mappar in ett ISA-multi-IO-kort till Spectravideon så kommer hastigheten bli 60% av vad mjukvaran tror. I den mån man inte kan ställa in "enheten i andra änden" att köra ostandardhastigheter (t.ex. 5760 baud när mjukvaran på Spectravideon tror sig köra 9600 baud) så kanske det inte är för krångligt att patcha mjukvaran.

Jag vet inte hur det är med modemkortet. Fanns det ens på riktigt? (jag har inte sökt specifikt efter det kortet, men på webbsidor med allmän dokumentation så har jag inte funnit något specifikt för det kortet).

80-tecken-kortet verkar mappa in 2k videominne högst upp i adressrymden oavsett hur bankswitchlogiken står inställd. Inmappningen kan slås av och slås på. Kortet använder 6845 och verkar ha en byte ram per tecken på skärmen, helt utan några attributfunktioner eller liknande. (Det kan väl tänkas att font-rom:et i sig innehåller t.ex. inverterade och rättvända tecken eller liknande, men det finns alltså ingen hårdvara för attribut). Om man jämför med ett MDA/CGA-kort för PC så har de 4/16k ram och för varje teckenposition så används två bytes - ett för själva teckenkoden och ett för attribut. (CGA med sina 16k kan lagra fyra separata textsidor). Jag har inte undersökt exakt hur detta påverkar programmeringen av 6845:an, gissningsvis behövs olika programmering både för att få ett CGA-kort och ett MDA-kort att fungera jämfört med programmeringen som görs för att köra SVI-kortet. Detta är å andra sidan något som rimligtvis bara görs en gång, t.ex. när datorn startar eller när operativsystemet (CP/M) drar igång, så det bör gå att låta SVI-mjukvaran programmera in "fel" värden i 6845:an och sedan bara köra ett användarprogram som skriver in önskade värden, i den mån det inte går smidigt att patcha mjukvaran. Lämpligtvis ordnar man minnet så att ISA-bussens A1-A10 mappas till SVI's A0-A9 och SVI's A10 inverteras och mappas till ISA-bussens A0 när grafikkortsminnet adresseras. Kombinera detta med logik som tillåter dels inmappning av 2k som på SVI-original-80-tecken-kortet och dels tillåter inmappning av CGA/MDA-kortets hela 16/4k, så att initieringskod kan fylla attributminnet med lämpligt innehåll. (För CGA så sätts färg RGBI för tecken och RGB+blink för bakgrund om jag inte minns fel, för MDA så finns endast ljusare/mörkare och blinkning att välja på om jag inte minns fel. Om man sätter "fel" värden (eller "fel" råkar ligga i minnet vid strömpåslag) så visas ingen text - t.ex. blir det givetvis ingen synlig text om samma bakgrundsfärg och förgrundsfärg valts).

Coleco-emulatorn innehåller givetvis även den ljudkrets Coleco använder. Vad jag kan förstå är den write-only så det skulle alltså gå bra att ordna Coleco-emulering utan ljud utan jättestor ansträngning, om man utgår från att ändå ordna möjlighet att mappa in flash/eeprom/eprom eller ram-som-emulerar-rom på önskat vis.

Om det ska ingå en coleco-emulator så kan det kanske vara lämpligt att slänga på hårdvara för att kunna växla mellan att köra joysticks mot coleco-emulatorn eller mot de vanliga joystickportarna på SVI:n.

Både Coleco-emulatorn och 80-teckenskortet använder samma ledning till SVI:n som "tar över" adressdekodningen - i Coleco-fallet för att mappa in Colecoemulatorns eprom och egna I/O, i 80-teckenskortet-fallet för att mappa in 2k videominne. Denna funktion i SVI:n bör för övrigt gå utmärkt att använda för att göra en "freezer-cartridge" i stil med Final Cartridge, Action Replay o.s.v. som fanns till C64. Det kan kanske vara en bra idé att överväga att bygga in sådan hårdvara. En funktion för en sådan hårdvara kan vara att med en enkel knapptryckning (på en extraknapp på expansionsbygget) kunna köra en kodsnutt som petar på de register som behöver andra värden för att fungera om man kör gamla PC-kort istället för exakt SVI-kompatibel hårvara.

Vad gäller centronicsporten så kan man i princip tänka sig att mappa in just första adressen på en pc-isa-parallellport för skrivning på 0x10 men lägga på en busenkel egen hårdvara för skrivning/läsning av handskakningssignalerna, om man nu absolut verkligen har ett behov av ett 100% kompatibelt centronicsinterface. Tveksamt om det finns något värde i att ordna detta.

Är det nån som läser tråden? :wink:

Det kan kanske tyckas att det skulle vara märkligt att blanda in en massa gammal PC-hårdvara - men jag tycker det blir inte helt tokigt. Det blir tidstypiska tillbehör med snarlik konstruktion och de kort jag tänker på är dessutom såpass lika SVI:s grejer att det bör vara enkelt att patcha SVI-mjukvarorna för att fungera rakt av med dessa kort. Givetvis kan ju vem som helst laborera med att köra helt andra ISA-kort om så önskas.
Användarvisningsbild
matsadona
Inlägg: 755
Blev medlem: 28 februari 2010, 23:05:17

Re: Spectravideo expansion.

Inlägg av matsadona »

Jag läser, och förundras varje gång du gräver ner dig i detaljer :D
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

:D

Jag hade hoppats att Glenn skulle dyka upp här i sin tråd :wink:

Jag har kollat lite mer, och inser att Spectravideo och PC kör inte alls samma teckenuppsättning. Det är inte bara småsaker som enstaka specialtecken utan hela uppsättningen är skiftad, lite som "skärmkoder" v.s. "petscii-koder" på commodores 8-bit-maskiner. PC kör PC-8 direkt i grafikkortet vilket för 32-126 innebär vanlig asciistandard. Spectravideo använder däremot koderna från 0 och uppåt för bokstäver, siffror och specialtecken, först 96st normala och sen 96 inverterade och därefter 64 grafiska tecken (i stil med de som finns på commodores 8-bit-maskiner). Det gör att hur man än vänder sig med mappning hit och dit så skulle det också behövas en realtidsöversättning för skrivning (och läsning, om man ska implementera det) av skärmminnet. Ett alternativ är förstås att bränna in en spectravideofont och byta (ep)rom på ett PC-grafikkort, men det är väl inte självklart att det finns socklat (ep)rom på de grafikkort som går att få tag på. Inte omöjligt men inte jätteenkelt. Men oavsett om man löser detta med mjukvara eller hårdvara så kan det nog ändå vara bra att fixa så att adressbussen är skiftad ett steg vid skrivning till grafikminnet eftersom det då åtminstone blir samma adressrymd och därmed antagligen lättare att patcha befintlig mjukvara för att passa ett snarlikt men inte identiskt grafikkort.



Som kandidat till feature-creep-mästerskapen så leker jag för övrigt med tanken på att försöka få någon slags generell grej som kan passa en hel klase olika gamla 8-bit-maskiner, åtminstone de med Z-80. I mina samlingar finns t.ex. även Sinclair ZX Spectrum och Epson PX-8. Troligtvis får man ha olika lösningar för adressavkodningen för att hantera de olika maskinerna. Givetvis blir väl vissa funktioner inte särskilt meningsfulla på samtliga maskiner. Även Epson PX-8 verkar för övrigt ha en slags "ta över maskinens adressavkodning"-ingång, fast den verkar endast mappa bort maskinens inbyggda ram men inte påverka rom och I/O. Den bör väl på något sätt ingå i nån form av bankswitchning av minne om sådant ska implementeras även för Epson PX-8. ZX Spectrum har däremot inget sätt att mappa bort sitt RAM men man kan däremot mappa bort ROM, vilket gör att man kan bankswitcha in saker på de första 16k av adressrymden.

Jag säger inte att det är en bra idé att göra något såpass generellt, men däremot är det nog en bra idé att undersöka huruvida det är en bra idé :wink:
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Spectravideo expansion.

Inlägg av Glenn »

Jag ska jag ska, men du skriver ju så mycket att jag vill ha lite tid att ta in och svara på allt :)

Fö har även jag en epson PX-8, brände program-eprom till den så sent som för ett par veckor sedan :) ..har även köpt nya battericeller till den som jag aldrig kommit mej för att löda in.. har du originalcellpacket i, kolla det, mina hade läckt ganska rejält, lyckligtvis hade inneslutningen hållt borta elakheterna från maskinens innandöme..

(Har iofs en ZX spectrum och en ZX81 också, om man nu ska prata Z80-maskiner :) ..C128'an har jag dock sålt i ett anfall av ungdomlig dumhet..)
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

:)

Jag har inte ens något batteripack alls i min PX-8, och saknar vad jag minns dessutom originalnätadaptern. Jag har klippt sladden på originalbatteripacket och lött in en kabel som går till en moddad C64-trafo (moddad så att den ger 6V istället för de ca 5,5V den ger original - om jag inte minns fel så var det väl fem NiCd-celler = 5*1,2 = 6V.

Om du har tid, ork och lust nån gång framöver så skulle du väldigt gärna få mäta upp originalnätadaptern, typ vad den ger obelastad och med ett par olika belastningar, för att jag ska kunna leta upp en så snarlik som möjligt. (Eftersom den är ostabbad så vore det bra om du mäter nätspänningen också - man bör väl räkna om till vad originaladaptern gav med 220V in och hitta nån som ger ungefär samma med dagens 230V). Fast det kanske inte är så känsligt? Jag har inte vågat chansa...

Jag kom på att jag har en till 80-tals-dator som åtminstone nästan har Z-80. Sharp PC-1500 har en snarlik processor. Vet inte riktigt om man ska featurecreepa in nån slags möjlighet att expandera även en sådan. :wink: Jag har btw redan printer+bandspelarinterfacetillbehöret CE-150 och RS232+centronicsinterfacet CE-158 och nån minnesexpansion till den.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Spectravideo expansion.

Inlägg av MiaM »

Hej igen tråden!
Undrar om nån tänkt nåt mer på detta? :)

En sak jag insett sen sist är att prisnivåerna på ISA-kort bör underskas innan det verkligen bestäms att ISA-kort är rätt väg att gå. Jag lever kvar i tanken att alla har några sådana över och att de är nästan "gratis"; men sen såg jag att nån lyckades ta en tusenlapp för ett 3C509... (!!!!), så det kanske ser liknande ut även för andra kort. Däremot finns ju t.ex. CRT-kontrollerkrets och liknande att köpa löst. Knappast gratis men inte ohemult dyrt heller.

6845, 6545 (snarlik), 8250, 16550.

Att emulera flopppykontrollern med nån mikrokontroller framstår dock fortfarande som en bra idé :)
Skriv svar