Šta je novo?

Tim 011

E sad, kad smo kod sadržaja diskete - u sirovim sektorima sam pronašao nekoliko pascal programa koji koriste grafiku, pa ći ih ovde podeliti sa vama. Ima još nekih interesantnih artefakata, ali ih nisam još izdvojio. Sorsa OS-a nema.

To su program za crtanje Mandelbrotovog skupa (jedna od verzija), drugi iscrava Jing i Jang znak radi provere boja a treći program iscrtava Merkatorovu projekciju uporednika i podnevaka.
Sve to su moji sorsovi iz srednjoškolskih dana i Timovog "prethodnog" života.
Nisam znao da to nekome može biti interesantno pa sam pobrisao pre pravljenja image-a.

Nemoj se mučiti da ih "izdvajaš". Ja ću ti ih poslati :)

Inače, trenutno sam na 99% disasembliranja TIM-ovog BIOSa i upoređivanja sa BIOSom za SB180. Veći deo je isti, čak su prisutne i rutine za rad sa hard diskom.

To je korisno "hakerisanje". Nadam se da ćeš uspeti u tome i da ćeš to sa nama podeliti.
 
Tastatura je serijska, radi na 12 volti, protokol je 9600 bauda, 8 bita, 1 stop bit, even partity. Doduše, programom CONFIG se mogu promeniti parametri tastature )moja radi, na primer, na 300 bauda, bez pariteta) ali je onda potrebno uvek podići sistem sa te diskete da bi tastatura radila. Ja sam na kraju napravio mali konverter baud rate-a sa jednim ATTINY45 da bi mi tastatura radila sa "default" podešavanjima. Unutra je, kao što Žarko reče, procesor CDP1802, u detaljno funkcionisanje i reverzni inžinjering se nisam upuštao.

Hvala u svakom slučaju.

Koristim priliku da se javno zahvalim kolegi @demerzel -u koji mi je poslao originalnu tastaturu.

Inače, napravio sam i funkcionalan ps/2 ineterfejs sa arduinom. I za to treba da se zahvalim @demerzel -u, koji mi je ustupio svoj kod za Mega8.
Ako se on slaže i ako je kome potrbno, mogu to okčiti ovde.
 
Može li pomoć oko image fajlova?

Kako da od .img fajla napravim .IMD (ili nekako drugačije da snimim disketu za Tim-a)?
Listao sam forum, tražio u @zzarko -vim altima ali nisam uspeo da rešim...
 
Može sa BIN2IMD koji je u paketu sa IMD programom samo nisam siguran za parametre.
Probao sam:
BIN2IMD source_file.img dest_file.IMD N=80 SM=17,20,18,21,19 DM=5 SS=1024 /2
Snimio sam disketu i uspeo da izlistam direktorijum ali kod lisanja tekstualnih fajlova se pojavljuju greške.
Ne znam da li treba naznačiti da se prve dve trake razlikuju, bez obzira što nije boot-abilni disk.
Možda je u tome problem.

Ako ništa, proučiću taj paket što si mi predložio.

Pokušavam da pokrenem nešto od CP/M softvera a da nije "specijalno" za Tim-a prilagođeno.
 
Ja sam za konversiju IMD u IMG koristio disk analyzer iz
a koliko vidim, može i u drugu stranu.
Takođe, toplo bih ti preporučio da staviš Gotek u TIM-a. Diskete polako postaju sve neppouzdanije, a biće ti mnogo lakše za eksperimentisanje. I naravno, uvek se možeš vratiti disketi za pravi retro ugođaj...
 
Može pomoć oko kompajliranja emulatora za TIM-a? Skinuo sam sve sa Žarkovog sajta, ali nemam pojma kako to da obradim. Korstim virtuelku sa Lubuntuom.
 
Ja sam za konversiju IMD u IMG koristio disk analyzer
U jednoj od prethodnih poruka si me indirektno uputio na taj alat i to je ok.
timdisk.sh, imaš ga na onon tim011-tools repozitorijumu, a IMD sam u IMG iskonvertovao sa alatom kojeg je napravio autor FlashFloppy-ja
Našao sam autora FlashFloppy-a na GitHub-u i rešio taj problem.

Sad imam problem da od .img fajla napravim .IMD da bih upisao na disketu.
Uspevam to da uradim sa BIN2IMD programom koji je deo IMD paketa, ali ono šta zapišem nije baš skroz čitljivo na Tim-u.
Izlistam direktorijum i mogu delimično da prikažem sadržaj tekst fajla (u tekstu se pojave specijalni karakteri) ali ne mogu da pokrenem izvršni fajl.
Da bih bio siguran da nije do nekompatibilnosti, probao sam igricu koju mi je poslao @msolajic ali ne može da se pokrene.

Program BIN2IMD "traži" precizan opis layout-a diskete. Ono što sam uspeo da zaključim analizirajći ispravne IMD fajlove, pretočio sam u komandu:
BIN2IMD source_file.img dest_file.IMD N=80 SM=17,20,18,21,19 DM=5 SS=1024 /2
ali izgleda da još nešto fali.

a koliko vidim, može i u drugu stranu.

Isto se dešava i sa disk analayzer-om. Ovo je poruka:
disk-analyse: T0.0: More than one format specified for IMG data
Potrebno je navesti fajl u kome se nalazi layout diskete.

@msolajic mi je predložio HxC Floppy Emulator ali on nema verziju za linux pa se sad moram prebaciti na windows.


...i gde da nabavim Gotek i koji?
 
Ne funkcioniše konverzija .img->.IMD ni sa HxC Floppy Emulator-om.
Tu čak ne mogu ni da zadam parametre.
"Sam" program napravi konverziju i kad to probam da snimim na disketu, IMD prijavljuje greške.

Koristio sam podatke iz fajla diskdef (timdisk.sh ga koristi a ako ne postoji onda ga kreira) da bih zadao parametre BIN2IMD programu.
Da li sam nešto propustio da navedem (ili sam pogrešno naveo)?

Ako se niste bavili ovom problematikom (izgleda da svi imate Gotek-e), recite mi da znam.
Onda mi preostaje samo da "kopam" po netu
 
Iskreno, samo sam snimao već gotove .imd fajlove na disk, nisam konvertovao .img u .imd . Pogledaću u čemu je "štos". Pošto je moj TIM ugrađen u kućište od tastature Iskra Delta terminala, nije bilo mesta za flopi drajv već sam odmah stavio Gotek.
Što se Goteka tiče, na primer https://www.aliexpress.com/item/32951693684.html - i onda ubaciti FlashFloppy firmver.
 
I ja sam probao da snimim već gotov fajl (BASIC180.IMD) ali nije u Tim011, već u SB180 formatu.
Onda se mora raspakovati (npr. u .img) pa spakovati u .IMD koji odgovara Tim-u.
Mislim da bi @zzarko mogao da pomogne po tom pitanju.
On je napisao skript (timdisk.sh) i u okviru skripta se kreira diskdef fajl ako ne postoji.
Pretpostavljam da je on dublje ušao u problematiku layout Tim-ove diskete.

Inače, tvoju igru sam probao na emulatoru i sve radi.
Svaka čast!
 
@istameni
Ne znam kako i šta treba za konkretan kOd ali na Git repozitorijima važi jednostavno pravilo - uvek čitaj ReadMe fajl.
Dobra praksa je da uploader detaljno objasni šta i kako da bi se projekat pokrenuo.
 
@zzarko, ako bi ovo mogao da mi pojasniš (piše u uputstvu za timdisk skript):
Empty image that is provided is made with boot sector extracted using dsktools and may not be as clean as it could be. But, it is OK enough to recreate TIM system disk. Further investigation is required...
možda bi mi pomoglo da uspešno iskonvertujem .img u .IMD fajl
 
Program BIN2IMD "traži" precizan opis layout-a diskete. Ono što sam uspeo da zaključim analizirajći ispravne IMD fajlove, pretočio sam u komandu:
BIN2IMD source_file.img dest_file.IMD N=80 SM=17,20,18,21,19 DM=5 SS=1024 /2
ali izgleda da još nešto fali.
Sad sam gledao, sa ovom komandom se ne dobija dobar raspored sektora, kada vratim nazad iz kreiranog .imd u .img (tj. bin) fajl nije identičan. Tražim dalje pa javljam...
 
Pokušavam da nađem u dokumentaciji (jedino je za SB180 imamo) da li se možda nulta i eventualno prva traka razlikuju od ostalih.
Kod nekih sistema je to slučaj pa to može biti problem...
 
U ovom .pdf-u je uputstvo za BIN2IMD (od 32.-e strane)
 

Prilozi

  • imd.pdf.zip
    144.3 KB · Pregleda: 2
Rešenje za .img u .imd je u dva koraka, naime uputstvo kaže:
The sector mapping you specify MUST match the order in which
the sector data occurs in the binary file. If you wish to
create images with differing interleave etc. You must first
create the image with the pysical data ordering, and then use
the IMDU utility to re-interleave it.
Dakle, prvo treba uraditi
BIN2IMD source_file.img temp_file.imd N=80 SM=17,18,19,20,21 DM=5 SS=1024 /2
a onda i
IMDU temp_file.imd dest_file.imd IL=2
i taj rezultujući .imd će raditi kada se nasnimi na disketu.
 
@zzarko, ako bi ovo mogao da mi pojasniš (piše u uputstvu za timdisk skript):
Empty image that is provided is made with boot sector extracted using dsktools and may not be as clean as it could be. But, it is OK enough to recreate TIM system disk. Further investigation is required...
možda bi mi pomoglo da uspešno iskonvertujem .img u .IMD fajl
Davno je bilo kada sam se time bavio, mada, marko je bio taj koji se mnogov iše igrao sa formatimaod mene, mislim da sam preuzeo stvari od njega.
Može pomoć oko kompajliranja emulatora za TIM-a? Skinuo sam sve sa Žarkovog sajta, ali nemam pojma kako to da obradim. Korstim virtuelku sa Lubuntuom.
Pa ako već imaš Linux, bukvalno ono što tamo piše, git clone itd. I moraš imati instalirane pakete koji su tamo pomenuti. Ako ti izbacuje greške u nekom od koraka, pošalji šta, inače ne znam šta je problem...
 
Da bih iskompajlirao emulator, neophodno je da instaliram qt5-default package. E, sad, probao sam sledećim naredbama:

Kod:
sudo apt-get update -y
sudo apt-get install -y qt5-default

Kod ove druge dobijam grešku:

Kod:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'qt5-default' has no installation candidate

Ako bih instalirao qt6-default, da li bi ostali paketi bili kompatibilni sa novom verzijom?

P. S. Pre petnaestak dana uspešno sam instalirao qt5-default; izgleda da je u međuvremeno izašla ova nova verzija.
 
Da bih iskompajlirao emulator, neophodno je da instaliram qt5-default package. E, sad, probao sam sledećim naredbama:

Kod:
sudo apt-get update -y
sudo apt-get install -y qt5-default

Kod ove druge dobijam grešku:

Kod:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'qt5-default' has no installation candidate

Ako bih instalirao qt6-default, da li bi ostali paketi bili kompatibilni sa novom verzijom?

P. S. Pre petnaestak dana uspešno sam instalirao qt5-default; izgleda da je u međuvremeno izašla ova nova verzija.


Probaj ovo:

Kod:
sudo apt-get install git build-essential python3 libsdl2-dev libsdl2-ttf-dev libfontconfig-dev libpulse-dev qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake
 
Sada radi sve, ali finalni make traje li-traje, toliko da moram da ga prekinem kad hoću da isključim računar.

Nego, je l' baš mora ceo MAME da se skida / kompajlira? Baš je overkill...
 
Sada radi sve, ali finalni make traje li-traje, toliko da moram da ga prekinem kad hoću da isključim računar.

Nego, je l' baš mora ceo MAME da se skida / kompajlira? Baš je overkill...
Ne treba ti ceo MAME, možeš iskompajlirati samo TIM-011 emulaciju, imaš na linku kojeg sam ti ranije poslao kako izgleda komanda za to. A ako sve radiš u VM, može biti da će potrajati, čak i samo TIM-011 (kompajliranje je veoma intenzivno što se tiče i CPU-u i komunikacije sa diskom, pojma nemam koliko VM dodatno usporava stvari po tom pitanju). Samo taj emulator se kod mene kompajlira prilično dugo (nisam merio, obično radim i nešto drugo sa strane, ali mislim da je reda 15-20 minuta).
 
Imam računar Tim 011, pa me interesuje da li i gde mogu da ga prodam.
 
Dakle, uradio sam ovo što mi je predložio ttalicni:
Kod:
sudo apt-get install git build-essential python3 libsdl2-dev libsdl2-ttf-dev libfontconfig-dev libpulse-dev qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake
Prošlo je kako treba.

Potom sam uradio
Kod:
git clone https://github.com/mamedev/mame.git
cd mame
make SOURCES=src/mame/sfrj/tim011.cpp SUBTARGET=tim011 -j4

Međutim, kod makeovanja dobio sam sledeći warning:
Kod:
Compiling 3rdparty/lsqlite3/lsqlite3.c...
../../../../../3rdparty/lsqlite3/lsqlite3.c: In function ‘void db_update_hook_callback(void*, int, const char*, const char*, sqlite3_int64)’:
../../../../../3rdparty/lsqlite3/lsqlite3.c:1320:16: warning: unused variable ‘n’ [-Wunused-variable]
 1320 |     lua_Number n;
      |                ^

i sledeće greške:
Kod:
Compiling src/mame/sfrj/tim011.cpp...
{standard input}: Assembler messages:
{standard input}:254911: Warning: end of file not at end of a line; newline inserted
{standard input}:254951: Error: no such instruction: `pun'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [emu.make:1094: ../../../../linux_gcc/obj/x64/Release/src/emu/devcb.o] Error 1
make[1]: *** [Makefile:91: emu] Error 2
make[1]: *** Waiting for unfinished jobs....
Compiling src/frontend/mame/luaengine_input.cpp...
Archiving libmame_tim011.a...
Compiling src/frontend/mame/luaengine_mem.cpp...
Compiling src/frontend/mame/luaengine_render.cpp...
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [frontend.make:774: ../../../../linux_gcc/obj/x64/Release/src/frontend/mame/luaengine.o] Error 1
make[2]: *** Waiting for unfinished jobs....
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.                                                                           
make[2]: *** [frontend.make:782: ../../../../linux_gcc/obj/x64/Release/src/frontend/mame/luaengine_input.o] Error 1                                                                                   
make[1]: *** [Makefile:97: frontend] Error 2                                                       
make: *** [makefile:1273: linux_x64] Error 2

Ljudi, ako je ovo toliko komplikovano, dići ću ruke od emulatora :(
 
Joj, ja ti ne mogu pomoći. Ja sam uspešno iskompajlirao emulator za Windows, prateći uputstvo odavde. Postoje i instrukcije ovde koje su više uopštene, tj. nisu samo za Windows.
 
Nazad
Vrh Dno