Rulare CP/M pe HC 91 fara IF1

67 views
Skip to first unread message

BogDan Vatra

unread,
Jul 6, 2025, 9:07:46 AMJul 6
to RomanianHomeComputer

Salutare,

  Lucrez la dezvoltarea unei noi interfețe pentru ZX Spectrum, similară cu interfața originală Sinclair IF1 sau, mai exact, cu proiectul ZX Spectrum Pico Interface One. În prezent, interfața poate servi diverse ROM-uri (ex: testere de memorie, ROM-ul original Sinclair etc.). Pe viitor, aș dori să modific ROM-ul de IF1 pentru a oferi suport pentru comenzile BASIC extinse.

Însă, vreau să explorez posibilitatea de a rula CP/M pe un HC 91 fară interfața IF1 conectată.

Am observat că pe conectorul de extensie al HC 91, linia B4 este desemnată drept CPM (conform acestui document vezi Conn.bmp sau Hc91.pdf, pag. 9).

Așadar, dacă un HC 91 nu are o interfață IF1 conectată, iar eu activez linia B4 (setând-o pe "high") din interfața mea, se va realiza automat configurarea de memorie necesară pentru CP/M (așa cum este descrisă în figura de la pagina 6 a acestui document)?

Este absolut necesar ca HC-ul să aibă o interfață IF1 originală conectată pentru a comuta în modul de memorie CP/M, sau simpla activare a liniei B4 este suficientă?

Dacă activarea liniei B4 nu este de ajuns, mă voi opri aici cu suportul CP/M :)  .


Dacă, însă, este suficientă, aș avea nevoie de ajutorul unui expert CP/M care să mă ghideze ce anume trebuie încărcat în memorie și la ce adrese (ex. Low Storage Area (Page Zero), BIOS, BDOS și CCP, etc).

Vestea bună este că sursele CP/M sunt disponibile public, deci aș putea modifica sau rescrie părțile necesare.


Cu respect,

BogDan.

Mihai Borza

unread,
Jul 6, 2025, 10:13:00 AMJul 6
to romanianho...@googlegroups.com
Salutări, 

          nu am un calculator acum în față dar la PRINT USR 14446 nu se activează semnalul B4? Interfața IF1 la HC91 are tras un fir pe spatele interfeței pentru semnalul asta cred. HC90 nu știe CP/M și firul nu există pe spatele interfeței.

--
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 vedea această discuție, accesați https://groups.google.com/d/msgid/romanianhomecomputer/4c86cc61-f252-42e3-86dd-965dc0ac7753n%40googlegroups.com.

BogDan Vatra

unread,
Jul 6, 2025, 11:01:27 AMJul 6
to RomanianHomeComputer
Salut,

  Ba da, dar nu știu momentul în care îl activează .. :).

La adresa 14446 (386E) avem:
386E F3                   DI
386F 217D38               LD   HL,+387D
3872 110080               LD   DE,+8000
3875 010700               LD   BC,+0007
3878 EDB0                 LDIR
387A C30080               JP   8000
387D 3E03                 LD   A,+03
387F D37E                 OUT  (+7E),A
3881 C300F8               JP   F800

Asta înseamnă că execută out 0x7e, 3 care, conform primei pagini din acest document,  avem următoarele:
- Adresses for EPROM selection: 1 = #E000 ÷ #FFFF;
- Adress A14 - EPROM: 1 = CP/M (16K);

Dacă în acest moment am semnalul B4 activ nu mă ajută deloc pentru că ROM-ul CP/M este activ...
Am decompilat Cpm.rom și am observat un out 0x7e, 0xf aici sper că semnalul B4 devine activ.

Marea întrebare este: cine tratează port-ul 0x7e placa de bază a HC-ului sau IF1? 

Mulțumesc mult pentru ponturi !

Numai bine,
BogDan.

Nicolae Muntean

unread,
Jul 7, 2025, 1:50:54 AMJul 7
to romanianho...@googlegroups.com
Salut !
Eu am pus CP/M pe un compatibil spectrum - TURBO SPECTRUM - WWW,COBRA.ORG 
folosind un cf card , dar fara a folosii partea video a calculatorului ci un video terminal pe serial.
Avem si cp/m in cf card care foloseste partea video a calculatorului.
Daca vrei , eu sunt administratorul unui grup de entuziasti z80 si avem un coleg care a muncit la cp/m si stie cam tot despre.
Tot ce am nevoie este nr de telefon al tau pt a-ti trimite invitatie
Te poti inspira din munca lui BILL SEEN , SIMPLE Z80

NICOLAE MUNTEAN 0722355536

BogDan Vatra

unread,
Jul 7, 2025, 4:18:51 AMJul 7
to RomanianHomeComputer
Salut,

Înainte de a mă aventura prea mult în CP/M, trebuie să verific dacă reușesc să "intru" în configurația memoriei CP/M fără ajutorul IF1.
Sper ca săptămâna asta să am timp să fac niște teste.

Mulțumesc mult pentru invitație, bănuiesc că iți trebuie numărul meu de telefon pentru whatsapp? Din păcate nu folosesc whatsapp...
Îți las adresa mea de email pentru a mă contacta direct: bog...@kde.org 

BogDan.

BogDan Vatra

unread,
Jul 8, 2025, 4:57:11 AMJul 8
to RomanianHomeComputer
Salutare,

  După ce am mai săpat un pic[0] am ajuns la următoarea concluzie/bănuială:
Documentul https://drive.google.com/file/d/1APta-0gLPYHbwJOOZ8Z9UKoHl3rTMUbx/view ne dă destule indicii.
- portul 0x7e este tratat de placa HC-ului (vezi pagina 1).
- porturile 0xc5, 0xc7 sunt tratate de IF1 cu următoarea semnificație (vezi pagina 6):
    * 0xc5 activează semnalul ROMCS
    * 0xc7 activează semnalul CPM

*Dacă* concluzia/bănuiala mea este adevărată atunci:
  - folosind IF1, odată intrat în modul CPM se mai iese doar la RESET (vezi https://drive.google.com/drive/u/0/folders/1p-Wwct1B9wqdt1CfMVSe6fmJVVEPngww pagina 3)

 - pașii pentru a configura memoria pentru CPM fără IF1 sunt:
   * out (0x7e), 0x3 - este necesar DOAR pentru a bascula ROM-ul CPM la adresa 0xe000
   * out (0x7e), 0xf - configurăm parțial memoria pentru CPM
   * activare semnal ROMCS
   * activare semnal CPM, aici memoria este configurată complet pentru CPM.

O zi frumoasă,
BogDan.
 
[0] A trebuit să decompilez parțial ROM-urile de BASIC și de CPM după care m-au uitat fugitiv pe schemele IF1 și ale HC91.
Reply all
Reply to author
Forward
0 new messages