HC2000 - CPM - old disk

213 views
Skip to first unread message

Mircea Teletin

unread,
Nov 29, 2020, 6:15:44 AM11/29/20
to romanianho...@googlegroups.com
Salutare,

Am reusit intr-un final cu CPMTOOLS din Linux si definitiile de disk de la George sa imi accesez imaginile de disk la floppy-urile mele super vechi (daca vi le arat nu va vine sa credeti cum arata floppy-urile respective, sunt pline de bad-uri si unele n-au nici macar clapita aia, vremuri mai sarace cand refoloseai tot ce puteai).

Am reusit si am pus pe GitHub fisierele de pe un disc (lange gerber-ul de Cherry MX Keyboard).

E mult Turbo Pascal acolo, printre toate de acolo se gaseste si un file manager (FM3.PAS) si o multime de fisiere pasal care incep cu PR*.PAS cu care se pot programa diverse chestii, ferestre, schimbat culori la font, border, border-ul cand se face I/O, accesat low level sectoarele de disc si asa mai departe.
Pe acolo pe undeva se gaseste si un programel care poate inregistra si reda sunet de la portul de casetofon.
Las restul sa le descoperiti voi daca va intereseaza.

Tot ce am pus pe GitHub intra acum in domeniul Open Source.

Mircea
Message has been deleted

Bogdan

unread,
Dec 3, 2020, 7:24:22 AM12/3/20
to RomanianHomeComputer
salut! am incercat sa postez ceva ieri dar s-a sters, probabil pentru ca am pus niste linkuri la niste screenshot-uri pe care le-am facut.

impressive work (spuneam ieri); am compilat si rulat cateva dintre programele tale, mi-au trezit multe amintiri, desi nu am utilizat prea mult cp/m "la vremea lui". dar am programat in turbo pascal sub dos, asa ca a fost interesant

mersi ca le-ai postat!

Mircea Teletin

unread,
Dec 4, 2020, 12:14:24 AM12/4/20
to romanianho...@googlegroups.com
Super tare! Programele mele de acum 22 - 23 ani inca traiesc :)))
Am un RC2014 cu CP/M (CF de 128MB si o gramada de placute pe el) si sper sa-mi gasesc niste timp si sa imi mut programele acolo :-)

Mircea

On Thu, Dec 3, 2020 at 3:26 PM Bogdan <bo...@bogde.ro> wrote:
impressive work :) 
(in lipsa de o exprimare mai buna in romana)

am compilat si rulat cateva dintre fisiere. eu unul am lucrat extrem de putin cu cp/m "la vremea lui", dar mereu m-a fascinat. merci ca le-ai pus!






On Sunday, November 29, 2020 at 1:15:44 PM UTC+2 mircea....@gmail.com wrote:

--
Ați primit acest mesaj deoarece sunteți abonat(ă) la grupul „RomanianHomeComputer” din Grupuri Google.
Pentru a vă dezabona de la acest grup și pentru a nu mai primi e-mailuri de la acesta, trimiteți un e-mail la adresa romanianhomecomp...@googlegroups.com.
Pentru a vizualiza această discuție pe web, accesați https://groups.google.com/d/msgid/romanianhomecomputer/97add2e7-902f-4006-b652-276083571567n%40googlegroups.com.
Message has been deleted

George Chirtoacă

unread,
Dec 7, 2020, 9:54:00 AM12/7/20
to RomanianHomeComputer
Pare ca Google blocheaza anumite mesaje. Dar eu ca moderator nu primesc niciun mail cand se intampla asta, am vazut doar cand am intrat pe interfata web ca sunt mesaje in asteptare.

Mircea Teletin

unread,
Dec 7, 2020, 12:48:49 PM12/7/20
to romanianho...@googlegroups.com
Eu nu am reusit sa folosesc Fuse cu firmware-ul de HC2000 din pacate si CP/M, porneste Basic dar ori nu stiu eu ce sa-i fac ori ceva nu e in regula cu discul CP/M cand dau RANDOMIZE/PRINT USR 14446.

--
Ați primit acest mesaj deoarece sunteți abonat(ă) la grupul „RomanianHomeComputer” din Grupuri Google.
Pentru a vă dezabona de la acest grup și pentru a nu mai primi e-mailuri de la acesta, trimiteți un e-mail la adresa romanianhomecomp...@googlegroups.com.

Bogdan

unread,
Dec 7, 2020, 1:08:45 PM12/7/20
to RomanianHomeComputer
eu nu am facut nimic deosebit, tocmai am incercat din nou:

1. am dezarhivat fuse-hc2000-hacks.7z
2. am rulat fuse.exe din fuse-hc2000-hacks\bin\
3. am mers la Media > Disk > HC Interface I > Drive 1 > Insert ... si am ales CPM22-HC.DSK din fuse-hc2000-hacks\bin\disks\
4. PRINT USR 14446 [CR]

nu am configurat nimic, nu am modificat nimic...

Mircea Teletin

unread,
Dec 8, 2020, 4:49:08 AM12/8/20
to romanianho...@googlegroups.com
La mine asa ramane (am incercat fix acum, haraie continuu ca si cum citeste continuu cu disk-ul de care zici tu):
 image.png

Bogdan Necula

unread,
Dec 8, 2020, 6:34:18 AM12/8/20
to romanianho...@googlegroups.com
Screenshot 2020-12-08 133010.jpg

la mine face ecran negru (dar fara sunet de incarcare) doar daca nu "inserez" discheta corecta.

o singura diferenta am vazut fata de screenshot-ul tau: la mine scrie Spectrum 48k unde la tine scrie HC-2000, nu-mi dau seama de ce. ecranul de dupa reset arata si la mine HC2000 ICE FELIX COMPUTER SA

Screenshot 2020-12-08 133328.jpg



Mircea Teletin

unread,
Dec 8, 2020, 6:38:49 AM12/8/20
to romanianho...@googlegroups.com
image.png
image.png

Si dupa ce selectez HC2000:
image.png
image.png

Ceva e putred in Danemarca :-)

Bogdan Necula

unread,
Dec 8, 2020, 7:55:15 AM12/8/20
to romanianho...@googlegroups.com
la mine, acolo unde alegi masina si tu ai HC 2000, eu am tot Spectrum 48K
 Screenshot 2020-12-08 145218.jpg
efectiv pare ca la mine e ceva in neregula, dar merge...
atasez fuse.cfg de la mine, dar e cel din arhiva, nemodificat. vezi daca sunt ceva diferente intre ele, desi nu cred... e ciudat



fuse.cfg

George Chirtoaca

unread,
Feb 4, 2022, 7:31:48 AM2/4/22
to romanianho...@googlegroups.com
Salut,

Scuze ca intervin la o discutie as veche, dar am gasit varianta noua de emulator Fuse, si am corectat link-ul pe site: https://drive.google.com/file/d/1tftGFZqX63ndhNKOZ43w5s4cY_I0hQz0/view?usp=sharing .
Au fost cel putin 2 variante de emulator Fuse cu suport HC2000, dupa cum se vede pe repo-ul cu codul: https://github.com/vamposdecampos/fuse-emulator-svn . Prima nu avea suport CP/M si nici nu afisa HC2000 la modele.

De asemena, am apucat sa rulez programele lui Mircea mentionate aici si sunt de studiat. Mi-a placut partea cu sampling audio si managerul de fisiere.

Am observat intamplator cu emulatorul si ca CP/M recunoaste dischetele BASIC 5.25 (care sunt tot un fel de CP/M, dar alt format) pe drive-ul B:. Citisem undeva asta dar nu credeam. Legat de asta, am incercat sa pun drive B: la HC2000, folosind GoTek, pe acelasi cablu cu unitatea A:. Mergea sa vad catalogul ambelor discuri, dar la incarcare de pe B: apareau erori. Cupland o interfata Kempston, discul B: era vazut ca 640KB in loc de 320KB, adica 80 de piste in loc de 40. Cred ca e si un strap pe schema pentru asta. 
Ma intreb daca a reusit cineva cu 2 unitati 3.5". HC-ul meu nu are a 2-a mufa de floppy, stiu ca unele aveau, pentru conectare unitate externa de 5.25", dar cu 2 unitati de 3.5" nu am vazut sa functioneze.

Bogdan Necula

unread,
Feb 4, 2022, 9:32:40 AM2/4/22
to romanianho...@googlegroups.com
da, eu am reusit sa folosesc doua unitati de 3,5" la hc2000
din ce imi aduc aminte acum, trebuia sa fie pus strap-ul de care zici
fara strap puteam sa pun a doua unitate de 5.25 si se formata la 360kb



Mircea Teletin

unread,
Feb 5, 2022, 2:02:30 AM2/5/22
to romanianho...@googlegroups.com

Mircea Teletin

unread,
Feb 5, 2022, 2:04:20 AM2/5/22
to romanianho...@googlegroups.com
Confirm ca CP/M stie sa citeasca de pe al 2-lea disc de 5.25" discuri Basic. Asa am facut back-up la multe fisiere pe dischete CP/M (care erau mai "incapatoare") pe vremea aia.

Mircea Teletin

unread,
Feb 5, 2022, 2:08:29 AM2/5/22
to romanianho...@googlegroups.com
image.png

Undeva pe coloana 10 (al 3-lea rand de integrate din dreapta) langa un integrat sunt 2 gauri care seamana cu 2 via-uri dar distantate fix cat un jumper. Asa am eu la un HC2000 facuta configuratia si rulez cu 2 discuri de 3.5" de 720KB fara probleme (a trebuit sa modific file managerul meu pentru ca presupunea implicit ca discul e de 360KB, cred ca inca asa e pe github, e modificat doar pe discul care-l am in unitate cred :-) ). Modificarea facuta suporta ambele discuri acum, trebuie sa fac cumva sa o public pe github :-)

Liviu Grama

unread,
Feb 5, 2022, 4:58:22 AM2/5/22
to romanianho...@googlegroups.com
Salutare! 
Poate va ajuta; desenate dupa scanari (nu am calculatorul hc2000), asa ca ar trebui verificata corectitudinea, atat a schemei, cat si a mapei.
Stima,
Liviu
Hc2k Map.bmp
Hc2k.pdf
Hc2k.sch

Nicolae Muntean

unread,
Feb 5, 2022, 6:28:21 AM2/5/22
to RomanianHomeComputer

Buna ziua ,

Am creat o discheta cu fisierele compilate din pascal in c/pm si pe cobra cu c/pm 2.2 nu functioneaza , oare de ce ?
multumesc

George Chirtoaca

unread,
Feb 5, 2022, 3:00:14 PM2/5/22
to romanianho...@googlegroups.com
Cred ca nu merg programele cu rutine in asamblare (scrise ca coduri hexa), care apeleaza functii specifice HC-urilor.
Dacă ar fi doar cod Pascal, ar trebui sa mearga compilate pe Cobra.

--
Ați primit acest mesaj deoarece sunteți abonat(ă) la grupul „RomanianHomeComputer” din Grupuri Google.
Pentru a vă dezabona de la acest grup și pentru a nu mai primi e-mailuri de la acesta, trimiteți un e-mail la adresa romanianhomecomp...@googlegroups.com.

Mircea Teletin

unread,
Feb 6, 2022, 11:36:13 AM2/6/22
to romanianho...@googlegroups.com
Difera geometria discului? Daca da, sunt niste hardcodari legate de formatul de pe disk (am scris codul facand reverse engineer la vremea aia :-)  deci totul e specific HC2000).
In principiu, se poate modifica sa bata cu Cobra. CP/M n-ar trebui sa fie foarte diferit la BDOS presupun... sunt niste apeluri catre o functie de citit un sector apoi decodez in memorie ce-am citit.
Pe HC2000 prima jumatate de track e CCP-ul apoi incepe file system-ul. Pentru discheta 720KB, pentru cea de 360 e primul track si apoi o ciudatenie ca unitatile de alocare sunt 1/2 si sunt din 2 in 2... putin wastefull.


George Chirtoaca

unread,
Feb 6, 2022, 12:12:33 PM2/6/22
to romanianho...@googlegroups.com
Mircea,

Legat de formatul CP/M pe 5.25", ciudatenia e ca intr-o intrare de catalog pot intra 2 "extent-uri" in loc de 1, unde un extent are 16KB. M-a lamurit pagina asta: https://www.seasip.info/Cpm/format22.html .

Mircea Teletin

unread,
Feb 7, 2022, 3:20:21 AM2/7/22
to romanianho...@googlegroups.com
Exact. Deci e si mai wastefull :-)

George Chirtoaca

unread,
Feb 7, 2022, 4:20:25 AM2/7/22
to romanianho...@googlegroups.com
Nu vad de ce ar fi wastefull, e chiar mai compact decat la 720KB, pentru ca se pot aloca 2 * 16 KB pentru o intrare in catalog, fata de formatul 720KB, unde se poate aloca maxim 16KB.
Probabil au ales formatul asta (legit in CP/M) pentru ca intrarile in catalog sunt in numar de maxim 64 fata de 128 la 720KB. O intrare in catalog la 360KB poate adresa 16 blocuri in loc de 8, pentru ca fiecare index de bloc e pe 8 biti in loc de 16 biti. Nr maxim de blocuri e 175, deci intra in 8 biti.

Uite ca exemplu, fisierul DBASEMSG.TXT are 4 extent-uri, 0,1 in prima intrare in catalog, si 2,3 in intrarea a 2-a. Fisierul DBASEOVR.COM are 3 extent-uri, 0,1 in prima intrare in catalog si 2 in intrarea 2 in catalog. Intrarea 2 in catalog are doar 4 blocuri alocate (51,52,53,54 hexa). Daca ar fi avut cel putin 9 blocuri, ocupa 2 extent-uri.


image.png
image.png

Mircea Teletin

unread,
Feb 7, 2022, 4:44:02 AM2/7/22
to romanianho...@googlegroups.com
Da, doar ca in CP/M fisierul contine un numar fix de blocuri (extent-uri parca se numesc) si daca vrei sa stii unde se termina la byte fisierul tau trebuie sa cauti caracterul ala special (0x53 sau care era... nu mai stiu). Nu ai nicaieri actual size in bytes.
Prin urmare la fisiere multe si marunte o sa pierzi cate 32KB de pe disc. Problema nu-i una noua, toate file systems au problema asta insa la un computer cu 64KB ram maxim adresabili, 32KB pe disc pare wasteful pentru mine :-)

Mie personal imi place foarte mult CP/M-ul pentru ca bifeaza foarte multe din bifele unui sistem de operare in timp ce sta in cativa KB. Pentru scopuri didactice/educationale mi se pare cel mai tare punct de inceput. N-ar trebui sa dam dismiss asa usor la tot ce-i "vechi", cel putin nu in scoala!

George Chirtoaca

unread,
Feb 7, 2022, 5:54:18 AM2/7/22
to romanianho...@googlegroups.com
Scuze ca insist, nu vreau sa ma laud, doar sa fie informatia completa. Am depus ceva efort mai demult sa inteleg cum e structurat discul de CP/M.
Spatiul se aloca in blocuri de 2KB. CP/M are notiunea de record, care ocupa 128 bytes (pentru ca primele discuri aveau sectoare de 128 bytes). Deci lungimea fisierului e data de CP/M rotunjind la 128 bytes, iar daca vrem dimensiunea exacta, trebuie sa cautam caracterul 1AH in ultimul record. Deci un fisier de 1 byte ocupa o intrare in catalog + o unitate de alocare de 2KB, din care ocupa un sector de disc, si din sectorul acela 1 byte. Am incercat sa documentez ce am inteles eu mai demult in documentul acesta:

Legat de scopul didactic sunt de acord. Imi amintesc ca mai demult am gasit mentionat CP/M in cartea de sisteme de operare a lui Tanenbaum.

Mircea Teletin

unread,
Feb 7, 2022, 7:06:32 AM2/7/22
to romanianho...@googlegroups.com
Ai dreptate, dorm eu in papuci :-)

Reply all
Reply to author
Forward
0 new messages