Salut,
A aparut o idee pe grup pentru Cobra, incarcator de snapshot-uri, lansat din CP/M.
Am studiat putin ceva similar pentru HC2000, si pare ca nu se poate.
Primul pas a fost sa incerc sa schimb configuratia masinii din CP/M in BASIC, dintr-un program COM, si sa afisez ceva pe ecran.
Ei bine, conform rutinelor din ROM, la lansare CP/M, se dezactiveaza portul de configuratie $7E, deci nu se mai poate altera configuratia ulterior.
Din ROM BASIC se executa codul de mai jos, care copiaza ultimele 3 instructiuni la adresa $8000 si le executa de acolo. Acele 3 instructiuni pagineaza ROM-ul CP/M la adresa 0 (in varianta de ROM v1).
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 3E01 LD A,01
387F D37E OUT (7E),A
3881 C30000 JP 0000,START
Din ROM-ul CP/M se executa codul de mai jos, care se copiaza la adresa $8000 si configureaza masina pentru CP/M, dar dezactiveaza portul $7E. Daca ar fi fost LD A, $0B, ar fi mers povestea. Am modificat ROM-ul folosit in emulator si pare sa mearga.
0010 211E00 LD HL,001E
0013 110080 LD DE,8000
0016 015F00 LD BC,005F
0019 EDB0 LDIR
001B C30080 JP 8000
001E 310080 LD SP,8000
0021 3E0F LD A,0F
0023 D37E OUT (7E),A
A reusit cineva scenariul asta?
Altfel, din BASIC, cred ca e posibil sa se incarca snapshot-uri de emulator (Z80, SNA) si ar fi interesant de facut. Dar spercam ca e posibil si din CP/M pentru ca putem trasnfera acum fisiere de pe PC pe dischete HC in format CP/M (nu si BASIC) folosind floppy pe USB, deci era un mod de a transfera jocuri de BASIC, impachetate in fisiere COM.