Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Zpět na zprávu

Celé vlákno · 11 zpráv

GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Tohle bude nejspis na Romana a nebo Melsofta.
Prohrabal jsem vsechny diskety  nasel jsem soubor GENER.SUB. Asi trochu tusim, na co je ale rad bych, kdyby na to nekdo kouknul jestli to je opravdu na generovani novyho systemu s umistenim kamkoliv do pameti. Moc moudrej z toho zatim nejsem, ale je to zajimavej priklad pouziti M80, L80, SLAP a dalsich programu CP/M. Navic to je na Mikros a jak Roman psal, musi se tam prepisovat.
Takze se to spousti
SUBMIT GENER
a v souboru GENER.SUB je tohle:

XSUB
M80 ,=BIOS/R/M
L80 /P:1600,BIOS,BIOS0/N/X/M/E
L80 /P:1700,BIOS,BIOS1/N/X/M/E
ERA BIOS.REL
M80 ,=BOOT0/R/M
L80 /P:3000,BOOT0,BOOT0/N/X/M/E
ERA BOOT0.REL
M80 ,=BOOT1/R/M
L80 /P:3000,BOOT1,BOOT1/N/X/M/E
ERA BOOT1.REL
ERA MIKROS0.COM
SLAP
F100,2FFF,0
IBOOT0.HEX
RD180
IMIKSYS0.HEX
R200
IBIOS0.HEX
R200
G0
SAVE 27 MIKROS0.COM
ERA BOOT0.HEX
ERA BIOS0.HEX
ERA MIKROS1.COM
SLAP
F100,2FFF,0
IBOOT1.HEX
RD180
IMIKSYS1.HEX
R100
IBIOS1.HEX
R100
G0
SAVE 27 MIKROS1.COM
ERA BOOT1.HEX
ERA BIOS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
GENHEX MIKROS0.COM
GENHEX MIKROS1.COM 100
ERA MIKROS0.COM
ERA MIKROS1.COM
PIP MIKROS.HEX=MIKROS0.HEX,MIKROS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
ERA MIKROS.COM
GENMOD MIKROS.HEX MIKROS.COM
ERA MIKROS.HEX
ERA MOVOS.COM
SLAP MIKMOV.COM
IMIKROS.COM
R700
G0
SAVE 39 MOVOS.COM
ERA MIKROS.COM

Je to slozity jako mlaticka :-)  Horsi je, ze k tomu nemam nektery soubory, co to chce a nebo nevim, co v nich ma presne byt a jak maji byt prelozeny. Zatim jsem prisel na to, ze soubory s indexem 0 musi byt prelozeny od ORG 0 a s indexem 1 musi byt prelozeny od ORG100 a z rozdilu techto souboru vznikne premistitelny tvar systemu.
Asi se na tohle vykaslu a prelozim to natvrdo z *.MAC souboru. Taky jsem je vyhrabal na disketach vcetne zdrojaku CCP a BDOSu. Sice jsem pozapominal, jak se to presne dela, ale snad na to prijdu, jak ty moduly pospojovat, umistit do RAM a pak je pretahnout do systemovych stop. Tak zase zejtra...

Jirka

Re: GENEROVANI CP/M 2.2

Roman Bórik SAPI-1

Ano. Tento davkovy subor sluzi pre generovanie systemu.

Vysledkom je program MOVOS.COM, ktory umoznuje vytvorenie systemu pre konkretnu pamatovu konfiguraciu.

 

Nutne su zdrojove subory BIOS.MAC, BOOT0.MAC, BOOT1.MAC a MIKSYSx.HEX.

A dalej tieto programy: SUBMIT, XSUB, M80, L80, SLAP, PIP, GENMOD, GENHEX a MIKMOV.

 

Subory BOOTx.MAC musia byt pripravene tak, aby boli od seba vzdialene o 0100H.

MIKSYSx.HEX je predpripraveny system (CCP a BDOS). Prvy od adresy 0000H a druhy od adresy 0100H.

Tieto subory sa pomocou SLAPu spoja s BOOTom a BIOSom a vytvoria sa subory MIKROSx.COM.

Z nich sa pomocou GENHEX opat vytvoria MIKROSx.HEX subory posunute od seba o 0100H.

Tieto dva HEXy sa spoja pomocou PIP do jedneho suboru MIKROS.HEX.

Pomocou programu GENMOD sa z MIKROS.HEX vytvori MIKROS.COM, ktory obsahuje uz iba jeden "exemplar" systemu, plus relokacnu tabulku, ktora vznikla prave vdaka porovnaniu dvoch navzajom posunutych systemov.

Nasledne sa pomocou SLAPu nahraje do pamati zaklad relokatora systemu MIKMOV.EXE a pripoji sa k nemu vytvoreny MIKROS.COM. Vysledkom je uz spomenuty MOVOS.COM

 

Nasedne sa pomocou MOVOS moze vytvorit system pre konkretnu pamatovu konfiguraciu:

 

MOVOS * *

 

V tomto pripade MOVOS sa pokusi od konca pamati hladat, kde konci pripradna ROM (to je kvoli prvej hviezdicke). Podla toho urci pre aku velkost pamati sa system pripravi.

 

MOVOS 48 *

 

Tento prikaz vytvori 48kB system (konci na adrese 0C000H).

 

Nepamatam si, co znamena druha hviezdicka, ale musi tam byt.

 

Po ukonceni programu je system pripraveny v pamati od adresy 0900H 

V tomto okamihu prichadza na rad SYSGEN, ktoremu treba na uvod povedat, ze nechceme system z nejakeho disku, ale z pamati. Potom uz len zvolit cielovu mechaniku a system nechat zapisat.

 

Momentalne nie som doma a este taky tyzden ani nebudem, takze zrejme nebudem moct reagovat na dalsie otazky.

 

Roman 

 


______________________________________________________________
> Od: "Jiri Biba (sapipandora.cz)" <unive.nb[doména skryta]>
> Komu: "Konference "SAPI-1 a československé mikropočítače"" <sapipandora.cz>
> Dátum: 24.08.2011 23:52
> Predmet: GENEROVANI CP/M 2.2
>

 

Tohle bude nejspis na Romana a nebo Melsofta.
Prohrabal jsem vsechny diskety  nasel jsem soubor GENER.SUB. Asi trochu tusim, na co je ale rad bych, kdyby na to nekdo kouknul jestli to je opravdu na generovani novyho systemu s umistenim kamkoliv do pameti. Moc moudrej z toho zatim nejsem, ale je to zajimavej priklad pouziti M80, L80, SLAP a dalsich programu CP/M. Navic to je na Mikros a jak Roman psal, musi se tam prepisovat.
Takze se to spousti
SUBMIT GENER
a v souboru GENER.SUB je tohle:

XSUB
M80 ,=BIOS/R/M
L80 /P:1600,BIOS,BIOS0/N/X/M/E
L80 /P:1700,BIOS,BIOS1/N/X/M/E
ERA BIOS.REL
M80 ,=BOOT0/R/M
L80 /P:3000,BOOT0,BOOT0/N/X/M/E
ERA BOOT0.REL
M80 ,=BOOT1/R/M
L80 /P:3000,BOOT1,BOOT1/N/X/M/E
ERA BOOT1.REL
ERA MIKROS0.COM
SLAP
F100,2FFF,0
IBOOT0.HEX
RD180
IMIKSYS0.HEX
R200
IBIOS0.HEX
R200
G0
SAVE 27 MIKROS0.COM
ERA BOOT0.HEX
ERA BIOS0.HEX
ERA MIKROS1.COM
SLAP
F100,2FFF,0
IBOOT1.HEX
RD180
IMIKSYS1.HEX
R100
IBIOS1.HEX
R100
G0
SAVE 27 MIKROS1.COM
ERA BOOT1.HEX
ERA BIOS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
GENHEX MIKROS0.COM
GENHEX MIKROS1.COM 100
ERA MIKROS0.COM
ERA MIKROS1.COM
PIP MIKROS.HEX=MIKROS0.HEX,MIKROS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
ERA MIKROS.COM
GENMOD MIKROS.HEX MIKROS.COM
ERA MIKROS.HEX
ERA MOVOS.COM
SLAP MIKMOV.COM
IMIKROS.COM
R700
G0
SAVE 39 MOVOS.COM
ERA MIKROS.COM

Je to !slozity jako mlaticka :-)  Horsi je, ze k tomu nemam nektery soubory, co to chce a nebo nevim, co v nich ma presne byt a jak maji byt prelozeny. Zatim jsem prisel na to, ze soubory s indexem 0 musi byt prelozeny od ORG 0 a s indexem 1 musi byt prelozeny od ORG100 a z rozdilu techto souboru vznikne premistitelny tvar systemu.
Asi se na tohle vykaslu a prelozim to natvrdo z *.MAC souboru. Taky jsem je vyhrabal na disketach vcetne zdrojaku CCP a BDOSu. Sice jsem pozapominal, jak se to presne dela, ale snad na to prijdu, jak ty moduly pospojovat, umistit do RAM a pak je pretahnout do systemovych stop. Tak zase zejtra...

Jirka

---------------------sapi[doména skryta] o SAPI-1


---

RE: GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Diky za osvetleni. Jak je videt, tak schudnejsi bude prelozit vsechno od konkretnich adres a pak jen pospojovat....

Jirka

PS: uzij si dovolenou, uz bude jen hur. -:))

 

From: Roman Bórik (sapipandora.cz) [mailto:roman.borik[doména skryta]]
Sent: Thursday, August 25, 2011 11:53 AM
To: Konference "SAPI-1 a československé mikropočítače"
Subject: Re: GENEROVANI CP/M 2.2

 

Ano. Tento davkovy subor sluzi pre generovanie systemu.

Vysledkom je program MOVOS.COM, ktory umoznuje vytvorenie systemu pre konkretnu pamatovu konfiguraciu.

 

Nutne su zdrojove subory BIOS.MAC, BOOT0.MAC, BOOT1.MAC a MIKSYSx.HEX.

A dalej tieto programy: SUBMIT, XSUB, M80, L80, SLAP, PIP, GENMOD, GENHEX a MIKMOV.

 

Subory BOOTx.MAC musia byt pripravene tak, aby boli od seba vzdialene o 0100H.

MIKSYSx.HEX je predpripraveny system (CCP a BDOS). Prvy od adresy 0000H a druhy od adresy 0100H.

Tieto subory sa pomocou SLAPu spoja s BOOTom a BIOSom a vytvoria sa subory MIKROSx.COM.

Z nich sa pomocou GENHEX opat vytvoria MIKROSx.HEX subory posunute od seba o 0100H.

Tieto dva HEXy sa spoja pomocou PIP do jedneho suboru MIKROS.HEX.

Pomocou programu GENMOD sa z MIKROS.HEX vytvori MIKROS.COM, ktory obsahuje uz iba jeden "exemplar" systemu, plus relokacnu tabulku, ktora vznikla prave vdaka porovnaniu dvoch navzajom posunutych systemov.

Nasledne sa pomocou SLAPu nahraje do pamati zaklad relokatora systemu MIKMOV.EXE a pripoji sa k nemu vytvoreny MIKROS.COM. Vysledkom je uz spomenuty MOVOS.COM

 

Nasedne sa pomocou MOVOS moze vytvorit system pre konkretnu pamatovu konfiguraciu:

 

MOVOS * *

 

V tomto pripade MOVOS sa pokusi od konca pamati hladat, kde konci pripradna ROM (to je kvoli prvej hviezdicke). Podla toho urci pre aku velkost pamati sa system pripravi.

 

MOVOS 48 *

 

Tento prikaz vytvori 48kB system (konci na adrese 0C000H).

 

Nepamatam si, co znamena druha hviezdicka, ale musi tam byt.

 

Po ukonceni programu je system pripraveny v pamati od adresy 0900H 

V tomto okamihu prichadza na rad SYSGEN, ktoremu treba na uvod povedat, ze nechceme system z nejakeho disku, ale z pamati. Potom uz len zvolit cielovu mechaniku a system nechat zapisat.

 

Momentalne nie som doma a este taky tyzden ani nebudem, takze zrejme nebudem moct reagovat na dalsie otazky.

 

Roman 

 


______________________________________________________________
> Od: "Jiri Biba (sapipandora.cz)" <unive.nb[doména skryta]>
> Komu: "Konference "SAPI-1 a československé mikropočítače"" <sapipandora.cz>
> Dátum: 24.08.2011 23:52
> Predmet: GENEROVANI CP/M 2.2
>

 

Tohle bude nejspis na Romana a nebo Melsofta.
Prohrabal jsem vsechny diskety  nasel jsem soubor GENER.SUB. Asi trochu tusim, na co je ale rad bych, kdyby na to nekdo kouknul jestli to je opravdu na generovani novyho systemu s umistenim kamkoliv do pameti. Moc moudrej z toho zatim nejsem, ale je to zajimavej priklad pouziti M80, L80, SLAP a dalsich programu CP/M. Navic to je na Mikros a jak Roman psal, musi se tam prepisovat.
Takze se to spousti
SUBMIT GENER
a v souboru GENER.SUB je tohle:

XSUB
M80 ,=BIOS/R/M
L80 /P:1600,BIOS,BIOS0/N/X/M/E
L80 /P:1700,BIOS,BIOS1/N/X/M/E
ERA BIOS.REL
M80 ,=BOOT0/R/M
L80 /P:3000,BOOT0,BOOT0/N/X/M/E
ERA BOOT0.REL
M80 ,=BOOT1/R/M
L80 /P:3000,BOOT1,BOOT1/N/X/M/E
ERA BOOT1.REL
ERA MIKROS0.COM
SLAP
F100,2FFF,0
IBOOT0.HEX
RD180
IMIKSYS0.HEX
R200
IBIOS0.HEX
R200
G0
SAVE 27 MIKROS0.COM
ERA BOOT0.HEX
ERA BIOS0.HEX
ERA MIKROS1.COM
SLAP
F100,2FFF,0
IBOOT1.HEX
RD180
IMIKSYS1.HEX
R100
IBIOS1.HEX
R100
G0
SAVE 27 MIKROS1.COM
ERA BOOT1.HEX
ERA BIOS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
GENHEX MIKROS0.COM
GENHEX MIKROS1.COM 100
ERA MIKROS0.COM
ERA MIKROS1.COM
PIP MIKROS.HEX=MIKROS0.HEX,MIKROS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
ERA MIKROS.COM
GENMOD MIKROS.HEX MIKROS.COM
ERA MIKROS.HEX
ERA MOVOS.COM
SLAP MIKMOV.COM
IMIKROS.COM
R700
G0
SAVE 39 MOVOS.COM
ERA MIKROS.COM

Je to !slozity jako mlaticka :-)  Horsi je, ze k tomu nemam nektery soubory, co to chce a nebo nevim, co v nich ma presne byt a jak maji byt prelozeny. Zatim jsem prisel na to, ze soubory s indexem 0 musi byt prelozeny od ORG 0 a s indexem 1 musi byt prelozeny od ORG100 a z rozdilu techto souboru vznikne premistitelny tvar systemu.
Asi se na tohle vykaslu a prelozim to natvrdo z *.MAC souboru. Taky jsem je vyhrabal na disketach vcetne zdrojaku CCP a BDOSu. Sice jsem pozapominal, jak se to presne dela, ale snad na to prijdu, jak ty moduly pospojovat, umistit do RAM a pak je pretahnout do systemovych stop. Tak zase zejtra...

Jirka

---------------------sapi[doména skryta] o SAPI-1


---

---------------------
sapipandora.cz
Konference o SAPI-1


---

RE: GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Teda, panove, dnes pri tom neuveritelnym vedru se docela darilo!

Znova jsem napsal "ztraceny"  CPM booovaci program, ktery pouziva nevyuzite sektory na 76 stope 8" diskety.  Takze uz nejsem omezeny delkou Biosu na 1 kb, ale muze byt 2kb, tedy dohromady s 2716 Epromkou na JPR-1Z 4 kb. Do toho se uz vejde cokoliv. -:)) Sice to byla fuska, do jednoho 128 byte sektoru nacpat boot , zbyl mi 1 byte volny. V 8080 by to neslo, v Z80 to vyslo tesne!

Takze po resetu hlava najede na 0 stopu, preskoci na 1 stopu, pak najede na 76 stopu a vrati se na 2 stopu a masina zije.

Tak jsem toho hned vyuzil. Nasel jsem jednu disketu, co na ni byl citelny system pro RKD-1 (radic kazetoveho disku) disasembloval jsem ho Resourcem, pretahl do PC a tam jsem si s tim asi 4 hodiny hral, zeditoval jsem navesti, prevratil ho na Z80 a misto RKD-1 jsem tam doplnil dalsi 2 diskety pres FDC-1. Takze ted mam A: B: RPD-1 8" , C:RMD-1/256k, D: E: FDC-1. V podstate to bude slouzit pri ladeni 5,25" disket pres FDC-1.  Pokud by se neco pohnojilo, neumre komplet system, protoze bude zavadeny z jineho radice nez na kterym se bude ladit.  Jeste to zkontroluju, prelozim a uvidime jestli a jak to bude makat.

Jirka

 

From: Jiri Biba (sapipandora.cz) [mailto:unive.nb[doména skryta]]
Sent: Thursday, August 25, 2011 4:42 PM
To: Konference "SAPI-1 a československé mikropočítače"
Subject: RE: GENEROVANI CP/M 2.2

 

Diky za osvetleni. Jak je videt, tak schudnejsi bude prelozit vsechno od konkretnich adres a pak jen pospojovat....

Jirka

PS: uzij si dovolenou, uz bude jen hur. -:))

 

From: Roman Bórik (sapipandora.cz) [mailto:roman.borik[doména skryta]]
Sent: Thursday, August 25, 2011 11:53 AM
To: Konference "SAPI-1 a československé mikropočítače"
Subject: Re: GENEROVANI CP/M 2.2

 

Ano. Tento davkovy subor sluzi pre generovanie systemu.

Vysledkom je program MOVOS.COM, ktory umoznuje vytvorenie systemu pre konkretnu pamatovu konfiguraciu.

 

Nutne su zdrojove subory BIOS.MAC, BOOT0.MAC, BOOT1.MAC a MIKSYSx.HEX.

A dalej tieto programy: SUBMIT, XSUB, M80, L80, SLAP, PIP, GENMOD, GENHEX a MIKMOV.

 

Subory BOOTx.MAC musia byt pripravene tak, aby boli od seba vzdialene o 0100H.

MIKSYSx.HEX je predpripraveny system (CCP a BDOS). Prvy od adresy 0000H a druhy od adresy 0100H.

Tieto subory sa pomocou SLAPu spoja s BOOTom a BIOSom a vytvoria sa subory MIKROSx.COM.

Z nich sa pomocou GENHEX opat vytvoria MIKROSx.HEX subory posunute od seba o 0100H.

Tieto dva HEXy sa spoja pomocou PIP do jedneho suboru MIKROS.HEX.

Pomocou programu GENMOD sa z MIKROS.HEX vytvori MIKROS.COM, ktory obsahuje uz iba jeden "exemplar" systemu, plus relokacnu tabulku, ktora vznikla prave vdaka porovnaniu dvoch navzajom posunutych systemov.

Nasledne sa pomocou SLAPu nahraje do pamati zaklad relokatora systemu MIKMOV.EXE a pripoji sa k nemu vytvoreny MIKROS.COM. Vysledkom je uz spomenuty MOVOS.COM

 

Nasedne sa pomocou MOVOS moze vytvorit system pre konkretnu pamatovu konfiguraciu:

 

MOVOS * *

 

V tomto pripade MOVOS sa pokusi od konca pamati hladat, kde konci pripradna ROM (to je kvoli prvej hviezdicke). Podla toho urci pre aku velkost pamati sa system pripravi.

 

MOVOS 48 *

 

Tento prikaz vytvori 48kB system (konci na adrese 0C000H).

 

Nepamatam si, co znamena druha hviezdicka, ale musi tam byt.

 

Po ukonceni programu je system pripraveny v pamati od adresy 0900H 

V tomto okamihu prichadza na rad SYSGEN, ktoremu treba na uvod povedat, ze nechceme system z nejakeho disku, ale z pamati. Potom uz len zvolit cielovu mechaniku a system nechat zapisat.

 

Momentalne nie som doma a este taky tyzden ani nebudem, takze zrejme nebudem moct r! eagovat na dalsie otazky.

 

Roman 

 


______________________________________________________________
> Od: "Jiri Biba (sapipandora.cz)" <unive.nb[doména skryta]>
> Komu: "Konference "SAPI-1 a československé mikropočítače"" <sapipandora.cz>
> Dátum: 24.08.2011 23:52
> Predmet: GENEROVANI CP/M 2.2
>

 

Tohle bude nejspis na Romana a nebo Melsofta.
Prohrabal jsem vsechny diskety  nasel jsem soubor GENER.SUB. Asi trochu tusim, na co je ale rad bych, kdyby na to nekdo kouknul jestli to je opravdu na generovani novyho systemu s umistenim! kamkoliv do pameti. Moc moudrej z toho zatim nejsem, ale je to zajimavej priklad pouziti M80, L80, SLAP a dalsich programu CP/M. Navic to je na Mikros a jak Roman psal, musi se tam prepisovat.
Takze se to spousti
SUBMIT GENER
a v souboru GENER.SUB je tohle:

XSUB
M80 ,=BIOS/R/M
L80 /P:1600,BIOS,BIOS0/N/X/M/E
L80 /P:1700,BIOS,BIOS1/N/X/M/E
ERA BIOS.REL
M80 ,=BOOT0/R/M
L80 /P:3000,BOOT0,BOOT0/N/X/M/E
ERA BOOT0.REL
M80 ,=BOOT1/R/M
L80 /P:3000,BOOT1,BOOT1/N/X/M/E
ERA BOOT1.REL
ERA MIKROS0.COM
SLAP
F100,2FFF,0
IBOOT0.HEX
RD180
IMIKSYS0.HEX
R200
IBIOS0.HEX
R200
G0
SAVE 27 MIKROS0.COM
ERA BOOT0.HEX
ERA BIOS0.HEX
ERA MIKROS1.COM
SLAP
F100,2FFF,0
IBOOT1.HEX
RD180
IMIKSYS1.HEX
R100
IBIOS1.HEX
R100
G0
SAVE 27 MIKROS1.COM
ERA BOOT1.HEX
ERA BIOS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
GENHEX MIKROS0.COM
GEN! HEX MIKROS1.COM 100
ERA MIKROS0.COM
ERA MIKROS1.COM
PIP MIKROS.HEX=MIKROS0.HEX,MIKROS1.HEX
ERA MIKROS0.HEX
ERA MIKROS1.HEX
ERA MIKROS.COM
GENMOD MIKROS.HEX MIKROS.COM
ERA MIKROS.HEX
ERA MOVOS.COM
SLAP MIKMOV.COM
IMIKROS.COM
R700
G0
SAVE 39 MOVOS.COM
ERA MIKROS.COM

Je to !slozity jako mlaticka :-)  Horsi je, ze k tomu nemam nektery soubory, co to chce a nebo nevim, co v nich ma presne byt a jak maji byt prelozeny. Zatim jsem prisel na to, ze soubory s indexem 0 musi byt prelozeny od ORG 0 a s indexem 1 musi byt prelozeny od ORG100 a z rozdilu techto souboru vznikne premistitelny tvar systemu.
Asi se na tohle vykaslu a prelozim to natvrdo z *.MAC souboru. Taky jsem je vyhrabal na disketach vcetne zdrojaku CCP a BDOSu. Sice jsem pozapominal, jak se to presne dela, ale snad na to prijdu, jak ty moduly pospojovat, umistit do RAM a pak je pretahnout do systemovych stop. Tak zase zejtra...

Jirka

---------------------sapi[doména skryta] o SAPI-1


---

---------------------
sapipandora.cz
Konference o SAPI-1


---

---------------------
sapipandora.cz
Konference o SAPI-1


---

Re: RE: GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Tak si tady premejslim, jak dostat obsah 1Mb Ramdisku do Epromek 27C020 stejne velkyho Romdisku. Na Sapi mam programator jen do 2764, (upravena DSE-1) na kterym je mozno navickrat propojkama naprogramovat i 27128 a 27255 jako nasobky 2764. Vetsi pameti uz je nezvladnutelna pakarna. Uprava na vetsi uz neni mozna, na konektoru X2 uz nejsou volny pozice pro dalsi adresovy bity. Volna pamet na CPM je asi 50 kb, teoreticky by se do ni vesla pro programovani i 27127 ale neni problem hrnout data po jednotlivych sektorech primo z Ramdisku, pokud by se chtelo programovat vetsi. Ale bohuzel, na Sapi programovat velky pameti nepujde, pokud by se nevytvoril nejaky programator s podobnym adresovanim pres citace, jako ma ROM-1. A propo, nemate nekdo neco takovyho funkcniho?
Takze asi nezbyde jina moznost, nez nahrnout binarni data do PC a tam to napict do Epromu. Nojo, ale jak?? Ze Sapi umim poslat po seriovce cokoliv, ale na strane PC je problem. Pokud se pouzije Hyperterminal, tak to prijme text bez problemu. Jenze jakmile prijde ze sapi binarni ctrl Z, tak se soubor uzavre. Jiny ctrl znaky delaj dalsi blbosti. Kvuli tomu mi funguje jen prevod textu, kde ctrl znaky nejsou. Hyperterminal sice umi prijmout i binar ale pomoci protokolu X,Y,Z modem, nebo Kermit. Kermit mam na obou stranach, ale vzajemne si nerozumi. Na zkoumani je to strasne dlouhej program a navic nevidim jak je udelanej v PC.  X,Y,Z modem zase nevim, jak ma vypadat jejich protokol. Nemate nahodou nekdo na 8 bit programek, kterej umi soubor poskladat do nekteryho z techto modemovych protokolu? Pokusil bych se to znasilnit pro sapi. Myslim, ze by se to hodilo i ostatnim.

Jirka 

Re: RE: GENEROVANI CP/M 2.2

EC1045 SAPI-1

pokut jde o programamator na velky eprom tak bi se dal prispusobit PGM-2 ktery je vitvoren pro SAPI-1 viz. Dropbox\'SAPI_DOKU\'Články_o_SAPI\'
 
prenos binarnich dat mezi PeCkou a SAPI-1 resim pomoci INTELHEXu pouziva jen znaky ": 0-9 A-F CR LF" ma to par nectnosti a to ze umi max 64KB a posila se o neco vic nez 2x tolik dat
pro SAPI-1 mam udelanou ctesku xxROM az do teoreticke velikosti 16bit x 1M ( Dropbox\'SAPI_DOKU\'SW_SAPI_Petr\'RUTINY.ASM "UNI" Univerzalni Ctecka Pameti ) ale vzhleem k tomu ze INTELHEX umi max 64KB tak se to parceluje na bloky po 64KB tj. pred kazdim zacatkem INTELHEXu je cislo bloku kterich muze bit az 256 coz da dohromady az 16MB uznavam ze to neni nejpohodlnejsi zpusob ale na strane PeCky to nevizaduje zadne dalsi programy krom (Hiper)Terminalu a programku na prevod do BIN a spojeni delsi dat nez 64KB na coz se da pouzit softver od programatoru
 
 
 
 
 

Tak si tady premejslim, jak dostat obsah 1Mb Ramdisku do Epromek 27C020 stejne velkyho Romdisku. Na Sapi mam programator jen do 2764, (upravena DSE-1) na kterym je mozno navickrat propojkama naprogramovat i 27128 a 27255 jako nasobky 2764. Vetsi pameti uz je nezvladnutelna pakarna. Uprava na vetsi uz neni mozna, na konektoru X2 uz nejsou volny pozice pro dalsi adresovy bity. Volna pamet na CPM je asi 50 kb, teoreticky by se do ni vesla pro programovani i 27127 ale neni problem hrnout data po jednotlivych sektorech primo z Ramdisku, pokud by se chtelo programovat vetsi. Ale bohuzel, na Sapi programovat velky pameti nepujde, pokud by se nevytvoril nejaky programator s podobnym adresovanim pres citace, jako ma ROM-1. A propo, nemate nekdo neco takovyho funkcniho?
Takze asi nezbyde jina moznost, nez nahrnout binarni data do PC a tam to napict do Epromu. Nojo, ale jak?? Ze Sapi umim poslat po seriovce cokoliv, ale na strane PC je problem. Pokud se pouzije Hyperterminal, ! tak to prijme text bez problemu. Jenze jakmile prijde ze sapi binarni ctrl Z, tak se soubor uzavre. Jiny ctrl znaky delaj dalsi blbosti. Kvuli tomu mi funguje jen prevod textu, kde ctrl znaky nejsou. Hyperterminal sice umi prijmout i binar ale pomoci protokolu X,Y,Z modem, nebo Kermit. Kermit mam na obou stranach, ale vzajemne si nerozumi. Na zkoumani je to strasne dlouhej program a navic nevidim jak je udelanej v PC.  X,Y,Z modem zase nevim, jak ma vypadat jejich protokol. Nemate nahodou nekdo na 8 bit programek, kterej umi soubor poskladat do nekteryho z techto modemovych protokolu? Pokusil bych se to znasilnit pro sapi. Myslim, ze by se to hodilo i ostatnim.

Jirka 

--------------------- sapipandora.cz Konference o SAPI-1


---

Re: Re: RE: GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Tak jsem dnes zkousel vytvorit kompletne novy system CPM a umistit ho do systemovych stop. Naposled jsem to delal pred 21 roky a tak to byla tezce vzpominkova akce. Na zacatku bylo zjisteni, ze ten zpusob zde popsany pred par dny v souboru GENER.SUB se mi nepodarilo rozchodit a tak jsem to udelal znacne surove a po svym. Musi na to byt ale zdrojaky od BOOT, CCP, BDOS a BIOS. Nekdy taky od Epromky na JPR-1, pokud se neco menilo v ni - je vlastne taky soucast BIOSu.
To, co tu popisuju je pro Sapicko s JPR-1Z, AND-1Z, to znamena RAM 0-62 Kb a 2KB videoram na AND-1Z. Nejdrive je potreba ve zdrojacich dosadit pocatecni adresy prekladu. V BOOT na .phase 80H; v CCP na .phase D600H; v BDOS na .phase DE00H a v BIOS na .phase EC00. Pak je tedy rozsah CCP D600-DDFF, BDOS DE00-EBFF, BIOS EC00-EFFF a pro uplnost Epromka z JPR-1Z se sama zavadi od F000 -F7FF. Nad tim je pak videram F800-FFFF. Pokud pojede Sapi pres terminal bez AND-1, muze se vse presunout o 2 Kb vyse.
Pak se vsechno prelozi napriklad pomoci A:M80 BDOS,BDOS=BDOS a ostatni soubory uplne stejne. Vzniknou soubory s priponou PRN a REL. Doporucuju zkontrolovat prikazem TYPE soubor.PRN, zda jsou adresy po prelozeni spravne.
Pak se musi vse linkovat pomoci L80. Tady jsem narazil na problem, L80 pred kazdy linkovany program do vystupniho EXE souboru nacpe instrukci JMP start adresa a vse posune o 3 byte vyse. Nemohl jsem si vzpomenout, jak to korektne oblbnout a tak jsem jako prvni dal do L80 prikaz /p:FD, coz posune vystupni COM soubor o 3 byte dolu a pak je to umisteny spravne. Pak se musi v L80 spojit za sebou BOOT, CCP, BDOS a BIOS . Jenze pri vypisu spojenyho "systemu" jsem zjistil, ze je to vzdy ve spojenym miste o par byte posunuty. Nemam manual od L80 a tak jsem si s tim nejdriv nevedel rady. Pak jsem ale zkusil linkovat kazdy soubor samostatne. Takhle to nejak vypadalo:
L80
/P:FD
BDOS/N
BDOS/E
a podobne pro BOOT, CCP a BIOS. Takze od vsech jsem mel COM soubor. Ty se daji natahnout SLAPem a nebo MONITOREM na konkretni adresy do RAMky. Ja pouzivam upraveny SYSGEN, ktery pokud je dlouhy BIOS, tak ho umisti i do 4 volnych sektoru ve stope 76. (je volne k dispozici) Pro neho je potreba system poskladat do RAMky od adresy 5000H, tedy BOOT od 5000H, CCP od 5080H, BDOS od 5880H a BIOS  od 6680H. Pokud se pouzije SYSGEN, tak se to musi cely poskladat od adresy 900H. Pak staci pouzit SYGEN nebo SYSGEN, dat po dotazu na vstupni disk klavesu CR a urcit vystupni disk. Ten se da do A: a zkusi se reset Sapicka. Pokud je vse OK, najede novy system.
Toz tak, radsi jsem to sepsal, protoze ta za chvili zapomenu a budu si s tim zase znova lamat hlavu. :-D  
Takze mam novy system kde jsou opraveny vsechny chyby co byly v CPM z roku 1990. Zitra ho poradne prozkousim, jsem zvedavej hlavne na seriovy prenosy pres sluzby BDOS Punch a Reader, obsluhu Centronix tiskarny a hlavne na 1Mb Ramdisk. Ted mam system, ve kterym jsou na zkousku A: B: 8" pres FDC-1, C: RMD-1/256, D: RMD-1/1Mb.
dalsi system bude A: B: 8" pres RPD-1, C: RMD-1/1Mb, D: E: 5.25" (3.5") pres FDC-1, na odzkousemi minidisket na Sapi. Taky bych rad zkusil variantu D:ROM-1 Romdisk. Mam slibeny jeho zapujceni od Honzy a jde pred vyrobou ROM-1B, zda pod CPM je mozny pouzit Romdisk. Mam lehke podezreni, ze pri inicu diskoveho systemu se na aktualne vybrany disk neco zapisove ucvrndne. Pokud ano, s Epromkama to chodit nemuze....

Jirka 

Re: Re: RE: GENEROVANI CP/M 2.2

Roman Bórik SAPI-1

Dobrá práca.
S tým pridávaním inštrukcie JMP xxxx linkerom L80 som kedysi bojoval aj ja, ale nevyriešil som to. Nápad s /P:FD je skvelý.
 
Pokiaľ viem, pri incializácii diskového systému (po studenom/teplom štarte, či prvom čítaní adresára) sa na samotný disk nezapiseuje nič. Všetky informácie o disku si BDOS zaznamenáva buď v tabuľkách BIOSu alebo vo vlastných premenných. Takže s ROM diskom by podľa mňa nemal byť problém. Len musí byť pochopiteľne správne pripravený.
 
Roman
 
 
----- Original Message -----
From: Jiri Biba (sapipandora.cz)
To: Konference "SAPI-1 a československé mikropočítače"
Sent: Saturday, August 27, 2011 11:30 PM
Subject: Re: Re: RE: GENEROVANI CP/M 2.2

Tak jsem dnes zkousel vytvorit kompletne novy system CPM a umistit ho do systemovych stop. Naposled jsem to delal pred 21 roky a tak to byla tezce vzpominkova akce. Na zacatku bylo zjisteni, ze ten zpusob zde popsany pred par dny v souboru GENER.SUB se mi nepodarilo rozchodit a tak jsem to udelal znacne surove a po svym. Musi na to byt ale zdrojaky od BOOT, CCP, BDOS a BIOS. Nekdy taky od Epromky na JPR-1, pokud se neco menilo v ni - je vlastne taky soucast BIOSu.
To, co tu popisuju je pro Sapicko s JPR-1Z, AND-1Z, to znamena RAM 0-62 Kb a 2KB videoram na AND-1Z. Nejdrive je potreba ve zdrojacich dosadit pocatecni adresy prekladu. V BOOT na .phase 80H; v CCP na .phase D600H; v BDOS na .phase DE00H a v BIOS na .phase EC00. Pak je tedy rozsah CCP D600-DDFF, BDOS DE00-EBFF, BIOS EC00-EFFF a pro uplnost Epromka z JPR-1Z se sama zavadi od F000 -F7FF. Nad tim je pak videram F800-FFFF. Pokud pojede Sapi pres terminal bez AND-1, muze se vse presunout o 2 Kb vyse.Pak se vsechno prelozi napriklad pomoci A:M80 BDOS,BDOS=BDOS a ostatni soubory uplne stejne. Vzniknou soubory s priponou PRN a REL. Doporucuju zkontrolovat prikazem TYPE soubor.PRN, zda jsou adresy po prelozeni spravne.
Pak se musi vse linkovat pomoci L80. Tady jsem narazil na problem, L80 pred kazdy linkovany program do vystupniho EXE souboru nacpe instrukci JMP start adresa a vse posune o 3 byte vyse. Nemohl jsem si vzpomenout, jak to korektne oblbnout a tak jsem jako prvni dal do L80 prikaz /p:FD, coz posune vystupni COM soubor o 3 byte dolu a pak je to umisteny spravne. Pak se musi v L80 spojit za sebou BOOT, CCP, BDOS a BIOS . Jenze pri vypisu spojenyho "systemu" jsem zjistil, ze je to vzdy ve spojenym miste o par byte posunuty. Nemam manual od L80 a tak jsem si s tim nejdriv nevedel rady. Pak jsem ale zkusil linkovat kazdy soubor samostatne. Takhle to nejak vypadalo:
L80
/P:FD
BDOS/N
BDOS/Ea podobne pro BOOT, CCP a BIOS. Takze od vsech jsem mel COM soubor. Ty se daji natahnout SLAPem a nebo MONITOREM na konkretni adresy do RAMky. Ja pouzivam upraveny SYSGEN, ktery pokud je dlouhy BIOS, tak ho umisti i do 4 volnych sektoru ve stope 76. (je volne k dispozici) Pro neho je potreba system poskladat do RAMky od adresy 5000H, tedy BOOT od 5000H, CCP od 5080H, BDOS od 5880H a BIOS  od 6680H. Pokud se pouzije SYSGEN, tak se to musi cely poskladat od adresy 900H. Pak staci pouzit SYGEN nebo SYSGEN, dat po dotazu na vstupni disk klavesu CR a urcit vystupni disk. Ten se da do A: a zkusi se reset Sapicka. Pokud je vse OK, najede novy system.
Toz tak, radsi jsem to sepsal, protoze ta za chvili zapomenu a budu si s tim zase znova lamat hlavu. :-D  
Takze mam novy system kde jsou opraveny vsechny chyby co byly v CPM z roku 1990. Zitra ho poradne prozkousim, jsem zvedavej hlavne na seriovy prenosy pres sluzby BDOS Punc! h a Reader, obsluhu Centronix tiskarny a hlavne na 1Mb Ramdisk. Ted mam system, ve kterym jsou na zkousku A: B: 8" pres FDC-1, C: RMD-1/256, D: RMD-1/1Mb.
dalsi system bude A: B: 8" pres RPD-1, C: RMD-1/1Mb, D: E: 5.25" (3.5") pres FDC-1, na odzkousemi minidisket na Sapi. Taky bych rad zkusil variantu D:ROM-1 Romdisk. Mam slibeny jeho zapujceni od Honzy a jde pred vyrobou ROM-1B, zda pod CPM je mozny pouzit Romdisk. Mam lehke podezreni, ze pri inicu diskoveho systemu se na aktualne vybrany disk neco zapisove ucvrndne. Pokud ano, s Epromkama to chodit nemuze....

Jirka 

--------------------- sapipandora.cz Konference o SAPI-1


---

RE: Re: RE: GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Ahoj!

Tak jak bylo na cundru? -:))

Jak jsem se hrabal v novejch systemech a delal zmeny, tak jsem vyzkousel i jakesi setreni RAMky pro Bios. Uvodni vypisy po spusteni CPM a hlasky o spatne verzi a chybe pri bootu jsem nacpal na konec biosu a ukoncil je .DEPHASE. Uplne na konci mam CHK_ a ALL_ pro disky a 128 byte DIRBUF. Pred tyhle hlasky jsem dal .PHASE  "zacatek tech  textu". Protoze jsou  hlasky potreba jen dokud se poprve neskoci do CCP, tak jsem presvedcenej, ze jsou v pameti zbytecne. Na jejich misto se posune CHK_, ALL_ a DIRBUF. U me je to "zkraceni biosu" o 180 byte, coz skoro 1/5 dylky celyho biosu. Pro biosy dlouhy do 400H jen na systemovych stopach to maka perfektne.

Jenze ted co delam ty dlouhy biosy 800H s ulozenim zbytku do nevyuzitych sektoru na 76 stope jsem narazil u tohodle "zkraceni biosu" na jeden problem. U boot sektoru to je jasny, ze musim natahnout uplne celej system a spustit. Ale co u WBOOT? Tam by se sice nemela vypisovat uvodni hlaska ale muze to skoncit na chybe nacitani systemu a potom by chybel text pro hlasku Boot error, protoze na jeho miste by byly ALL_ a  CHK_ a DIRBUF. Znamena to tedy pri WBOOT natahovat taky uplne cely system?

Mam v tom nejaky nejasnosti, navic jsem si vsiml, ze pocatecni boot z 0 sektoru je jinaci, nez z WBOOTU. Proste se cte jiny pocet sektoru a dokonce se ukladaji v jiny posloupnosti. Nad timhle jsem nikdy nebadal a neni mi to moc jasny. Asi si budu muset tyhle dva booty zkusebne naadresovat od 100H posunout body umisteni systemu do Ram a odladit si to Slapem. Kdyz koukam do vypisu prekladu, tak mi to nak nedava smysl. Mluvim treba o Bios0502 a Boot0502, co mam v Sapiman.

Jinak Ramdisky jsem vcera moril dva mezi sebou neustalym kopirovanim s kontrolou asi 4 hodiny a ani jednou to nespadlo do verify error. Vypada to, ze ty tabulky, co jsi napsal jsou v poradku. jeste mi prozrad, podle ceho je delas, zda to jen tak spocitas, ci na to mas nejakej manual.  DPB je mi snad podle par prikladu jasna, ale jak vytvaris dylku ALL a CHK? Potreboval bych vyzkouset par atyp disku a nechci Te s tim pokazdy zatezovat. -:))

Diky

Jirka   

 

From: Roman Bórik (sapipandora.cz) [mailto:roman.borik[doména skryta]]
Sent: Wednesday, August 31, 2011 9:37 AM
To: Konference "SAPI-1 a československé mikropočítače"
Subject: Re: Re: RE: GENEROVANI CP/M 2.2

 

Dobrá práca.

S tým pridávaním inštrukcie JMP xxxx linkerom L80 som kedysi bojoval aj ja, ale nevyriešil som to. Nápad s /P:FD je skvelý.

 

Pokiaľ viem, pri incializácii diskového systému (po studenom/teplom štarte, či prvom čítaní adresára) sa na samotný disk nezapiseuje nič. Všetky informácie o disku si BDOS zaznamenáva buď v tabuľkách BIOSu alebo vo vlastných premenných. Takže s ROM diskom by podľa mňa nemal byť problém. Len musí byť pochopiteľne správne pripravený.

 

Roman

 

 

----- Original Message -----

From: Jiri Biba (sapipandora.cz)

To: Konference "SAPI-1 a československé mikropočítače"

Sent: Saturday, August 27, 2011 11:30 PM

Subject: Re: Re: RE: GENEROVANI CP/M 2.2

 

Tak jsem dnes zkousel vytvorit kompletne novy system CPM a umistit ho do systemovych stop. Naposled jsem to delal pred 21 roky a tak to byla tezce vzpominkova akce. Na zacatku bylo zjisteni, ze ten zpusob zde popsany pred par dny v souboru GENER.SUB se mi nepodarilo rozchodit a tak jsem to udelal znacne surove a po svym. Musi na to byt ale zdrojaky od BOOT, CCP, BDOS a BIOS. Nekdy taky od Epromky na JPR-1, pokud se neco menilo v ni - je vlastne taky soucast BIOSu.
To, co tu popisuju je pro Sapicko s JPR-1Z, AND-1Z, to znamena RAM 0-62 Kb a 2KB videoram na AND-1Z. Nejdrive je potreba ve zdrojacich dosadit pocatecni adresy prekladu. V BOOT na .phase 80H; v CCP na .phase D600H; v BDOS na .phase DE00H a v BIOS na .phase EC00. Pak je tedy rozsah CCP D600-DDFF, BDOS DE00-EBFF, BIOS EC00-EFFF a pro uplnost Epromka z JPR-1Z se sama zavadi od F000 -F7FF. Nad tim je pak videram F800-FFFF. Pokud pojede Sapi pres terminal bez AND-1, muze se vse presunout o 2 Kb vyse.Pak se vsechno prelozi napriklad pomoci A:M80 BDOS,BDOS=BDOS a ostatni soubory uplne stejne. Vzniknou soubory s priponou PRN a REL. Doporucuju zkontrolovat prikazem TYPE soubor.PRN, zda jsou adresy po prelozeni spravne.
Pak se musi vse linkovat pomoci L80. Tady jsem narazil na problem, L80 pred kazdy linkovany program do vystupniho EXE souboru nacpe instrukci JMP start adresa a vse posune o 3 byte vyse. Nemohl jsem si vzpomenout, jak to korektne oblbnout a tak jsem jako prvni dal do L80 prikaz /p:FD, coz posune vystupni COM soubor o 3 byte dolu a pak je to umisteny spravne. Pak se musi v L80 spojit za sebou BOOT, CCP, BDOS a BIOS . Jenze pri vypisu spojenyho "systemu" jsem zjistil, ze je to vzdy ve spojenym miste o par byte posunuty. Nemam manual od L80 a tak jsem si s tim nejdriv nevedel rady. Pak jsem ale zkusil linkovat kazdy soubor samostatne. Takhle to nejak vypadalo:
L80
/P:FD
BDOS/N
BDOS/Ea podobne pro BOOT, CCP a BIOS. Takze od vsech jsem mel COM soubor. Ty se daji natahnout SLAPem a nebo MONITOREM na konkretni adresy do RAMky. Ja pouzivam upraveny SYSGEN, ktery pokud je dlouhy BIOS, tak ho umisti i do 4 volnych sektoru ve stope 76. (je volne k dispozici) Pro neho je potreba system poskladat do RAMky od adresy 5000H, tedy BOOT od 5000H, CCP od 5080H, BDOS od 5880H a BIOS  od 6680H. Pokud se pouzije SYSGEN, tak se to musi cely poskladat od adresy 900H. Pak staci pouzit SYGEN nebo SYSGEN, dat po dotazu na vstupni disk klavesu CR a urcit vystupni disk. Ten se da do A: a zkusi se reset Sapicka. Pokud je vse OK, najede novy system.
Toz tak, radsi jsem to sepsal, protoze ta za chvili zapomenu a budu si s tim zase znova lamat hlavu. :-D  
Takze mam novy system kde jsou opraveny vsechny chyby co byly v CPM z roku 1990. Zitra ho poradne prozkousim, jsem zvedavej hlavne na seriovy prenosy pres sluzby BDOS Punc! h a Reader, obsluhu Centronix tiskarny a hlavne na 1Mb Ramdisk. Ted mam system, ve kterym jsou na zkousku A: B: 8" pres FDC-1, C: RMD-1/256, D: RMD-1/1Mb.
dalsi system bude A: B: 8" pres RPD-1, C: RMD-1/1Mb, D: E: 5.25" (3.5") pres FDC-1, na odzkousemi minidisket na Sapi. Taky bych rad zkusil variantu D:ROM-1 Romdisk. Mam slibeny jeho zapujceni od Honzy a jde pred vyrobou ROM-1B, zda pod CPM je mozny pouzit Romdisk. Mam lehke podezreni, ze pri inicu diskoveho systemu se na aktualne vybrany disk neco zapisove ucvrndne. Pokud ano, s Epromkama to chodit nemuze....

Jirka 

---------------------
sapipandora.cz
Konference o SAPI-1


---

---------------------
sapipandora.cz
Konference o SAPI-1


---

Re: Re: RE: GENEROVANI CP/M 2.2

Roman Bórik SAPI-1

Zobrazit citovaný text (8 řádků)
> Jak jsem se hrabal v novejch systemech a delal zmeny, tak jsem vyzkousel
> i jakesi setreni RAMky pro Bios. Uvodni vypisy po spusteni CPM a hlasky
> o spatne verzi a chybe pri bootu jsem nacpal na konec biosu a ukoncil je
> .DEPHASE. Uplne na konci mam CHK_ a ALL_ pro disky a 128 byte DIRBUF.
> Pred tyhle hlasky jsem dal .PHASE "zacatek tech  textu". Protoze jsou
> hlasky potreba jen dokud se poprve neskoci do CCP, tak jsem presvedcenej,
> ze jsou v pameti zbytecne. Na jejich misto se po! sune CHK_, ALL_
> a DIRBUF.
Áno. To je bežná prax, že sa pri studenom štarte buffre pre CHK, ALL a
 DIRBUF využívajú pre kód, ktorý už potom nie je potrebný. Musí to byť 
ale dobre premyslené.

Zobrazit citovaný text (10 řádků)
> U me je to "zkraceni biosu" o 180 byte, coz skoro 1/5 dylky celyho
biosu.
> Pro biosy dlouhy do 400H jen na systemovych stopach to maka perfektne.
> Jenze ted co delam ty dlouhy biosy 800H s ulozenim zbytku do nevyuzitych
> sektoru na 76 stope jsem narazil u tohodle "zkraceni biosu" na jeden
> problem. U boot sektoru to je jasny, ze musim natahnout uplne celej
> system a spustit. Ale co u WBOOT? Tam by se sice nemela vypisovat uvodni
> hlaska ale muze to skoncit na chybe nacitani systemu a potom by chybel
> text pro hlasku Boot error, protoze na jeho miste by byly ALL_ a  CHK_
> a DIRBUF. Znamena to tedy pri WBOOT natahovat taky uplne cely system?
Obvykle sa pri teplom štarte doťahuje iba CCP a BDOS. Celý systém, vrátane 
BIOSu, sa naťahuje zvyčajne iba pri bootovaní.
Nebol by samozrejme problém naťahovať celý systém aj pri teplom štarte, to
by ale malo za následok, že by to musel byť v konečnom dôsledku zrejme
studený štart, lebo by sa doťahovaním celého BIOSu museli nainicializovať 
aj buffre, či tabuľky diskov, kde už BDOS mohol mať svoje behové
informácie. Naviac, pokiaľ by bol systém aj v 76 stope (zbytok BIOSu),
znamenalo by to seekovanie hlavy disku pri každom teplom štarte systému.
Pokiaľ je potrebné vypisovať nejakú chybovú hlášku pri studenom aj teplom
štarte, tak sa nedá nič robiť a ten text musí byť v časti kódu, ktorá
"zostáva" v pamäti.

Zobrazit citovaný text (7 řádků)
> Mam v tom nejaky nejasnosti, navic jsem si vsiml, ze pocatecni boot z 0
> sektoru je jinaci, nez z WBOOTU. Proste se cte jiny pocet sektoru
> a dokonce se ukladaji v jiny posloupnosti. Nad timhle jsem nikdy nebadal
> a neni mi to moc jasny. Asi si budu muset tyhle dva booty zkusebne
> naadresovat od 100H posunout body umisteni systemu do Ram a odladit si
> to Slapem. Kdyz koukam do vypisu prekladu, tak mi to nak nedava smysl.
> Mluvim treba o Bios0502 a Boot0502, co mam v Sapiman.
BOOT kód samozrejme naťahuje celý systém, teda CCP, BDOS a BIOS a následne 
sa skáče do BIOSu na studený štart, kde sa robí počiatočná
inicializácia.
Pri teplom štarte sa opätovne doťahuje iba CCP a BDOS. Preto je počet
čítaných sektorov menší ako pri BOOTe. CCP sa doťahuje preto, že
spustený program môže slobodne využiť aj túto oblasť pamäti. BDOS sa
doťahuje "pre istotu", keby nejaký program BDOS poškodil, alebo ho pre
vlastné účely modifikoval. Ak by bol nejakým programom "zasiahnutý" aj
BIOS, tak to pravdepodobne skončí nejakou "haváriou".
Teplý štart robí oproti studenému štartu obvykle už iba nejaké "malé"
inicializačné práce (napr. už sa nezisťujú pritomné mechaniky a pod.),
riadenie sa vráti CCP a aktuálna mechanika a užívateľ sa berú z adresy
0004h (CDISK).

Zobrazit citovaný text (7 řádků)
> Jinak Ramdisky jsem vcera moril dva mezi sebou neustalym kopirovanim
> s kontrolou asi 4 hodiny a ani jednou to nespadlo do verify error.
> Vypada to, ze ty tabulky, co jsi napsal jsou v poradku. Jeste mi prozrad,
> podle ceho je delas, zda to jen tak spocitas, ci na to mas nejakej
> manual. DPB je mi snad podle par prikladu jasna, ale jak vytvaris dylku
> ALL a CHK? Potreboval bych vyzkouset par atyp disku a nechci Te s tim
> pokazdy zatezovat. -:))
Som rád, že RMD-1/1MB šlape.

Nemám to, samozrejme, všetko z vlastnej hlavy, ale mám na to múdru knižku
"Operační systém CP/M pro mikropočítače" od autorov Ing. Karel Richta a
Ing. Jan Zajíc, z roku 1986, 286 strán.

Tabuľka DPH (Disk Parameter Block): (v zátvorke je veľkosť položky)

XLT (2) - adresa prekladovej tabuľky. 0, ak preklad logických sektorov na
fyzické nie je potrebný. Veľkosť prekladovej tabuľky je SPT bytov. Ak XLT u
niektorých diskov obsahuje adresu a u niektorých diskov je 0, musí byť
zodpovedajúco upravená aj rutina TRANS, ktorá musí prípad nulového XLT
ošetriť.
WRK (6) - pracovná oblasť BDOSu
DIRBUF (2) - adresa buffra (128 bytov) pre operácie s adresárom. Môže byť
spoločná pre všetky jednotky.
DPB (2) - adresa tabuľky parametrov disku. Pre jednotky s rovnakými
parametrami môže byť DPB spoločná.
CSV (2) - adresa zóny kontrolných súčtov. Jej veľkosť musí byť CKS bytov
a musí byť samostatná pre každú jednotku. Ak je CKS = 0, CSV môže byť
tiež 0.
ALV (2) - adresa bitovej alokačnej mapy. Oblasť musí byť samostatná pre
každú jednotku. Veľkosť tejto oblasti má byť (DSM / 8) + 1.

DPH tabuľky musia byť v RAM, keďže sú BDOSom modifikované v ich pracovnej 
oblasti.

Tabuľky DPB (Disk Parameter Block): (v zátvorke je veľkosť položky)

SPT (2) - počet logických sektorov (128 bytov) na stopu. Ak je veľkosť
fyzického sektoru väčší ako 128 bytov, je SPT rovný súčinu počtu
logických sektorov na fyzický sektor a počtu fyzických sektorov na stopu.
BSH (1) - block shift - dvojkový logaritmus počtu logických sektorov v
alokačnom bloku - log2 (BLM + 1)
BLM (1) - block mask - počet logických sektorov v alokačnom bloku mínus
jedna
EXM (1) - extent mask - maska rozšírenia - počet logických rozšírení
(16kB) adresovaných jednou položkou adresára mínus jedna. Je určená
veľkosťou alokačného bloku (BLS) a celkovým počtom alokačných blokov
(DSM) takto:

   BLS     DSM<256     DSM>255
   1kB              0                     -
   2kB              1                     0
   4kB              3                     1
   8kB              7                     3
  16kB           15                     7

DSM (2) - disk size max - veľkosť disku - celková kapacita diskovej jednotky 
v alokačných blokoch mínus jedna (číslo posledného alokačného bloku)
DRM (2) - directory max - veľkosť adresára - maximálny počet položiek
adresára mínus jedna. Adresár zaberá celistvý počet alokačných blokov.
Každý logický sektor obsahuje 4 položky adresára, takže:
  DRM = (X * (BLM + 1) * 4) - 1
     kde X je počet alokačných blokov adresára
AL0,AL1 (1,1) - prvé dva byty bitovej mapy určujúce alokačné bloky
rezervované pre adresár. Jednotka v 7. bite AL0 rezervuje 0. blok, v 6. bite
1. blok atď. až jednotka v 0. bite AL1 rezervuje 15. blok.
CKS (2) - check sum - počet sektorov adresára testovaných na neregulérnu
výmenu média. U výmenného média (DRM + 1) / 4, u pevného média 0.
OFF (2) - offset - počet stôp rezervovaných na začiatku diskovej jednotky.
Umožňuje to aj rozdeliť veľký pevný disk na viac logických jednotiek.

DPB tabuľky nie sú BDOSom modifikované a teda môžu byť aj v ROM.


Roman

Re: Re: RE: GENEROVANI CP/M 2.2

Jiri Biba SAPI-1

Dekuji Romane za naprosto vycerpavajici informace k problemu. Zkusim
to pochopit a na prikladech znamych tabulek odkontrolovat priklady
na 5,25 ky a PMD SD co jsi poslal Honzovi. Zitra jedu do HK a
schvalne se zkusim zastavit ve vedecky knihovne, zda se ta kniha da
nekde pujcit.
Mam v planu zkusit udelat velky, asi 2MB baterkou zalohovany Ramdisk
na principu zapojeni existujici ROM-1. Budu potrebovat vytvorit
tabulky na ten Ramdisk a taky na 76 stopy 5,25 a 3,5 diskety. Obavam
se, ze 8272 se na vic stop znasilnit neda, nebo jsem zatim na to
neprisel jak. Aspon tedy u bulharsky CM 609. Tedy za 76 stopu se
dostanu, ale nelze tam formatovat a zda to jde nejak ocurat nevim.
Ted bude na tahu Petr, aby zjistil, jak to je udelany v Robotronu
1715 ze 5,25 diskety jsou kompatibilni s PC. Ale mam podezreni, ze
jen pro 360 Kb. Ja mam zbozny prani se dostat s 3.5 a 5,25 aspom na
700-800 Kb.
Jinak dnes jsem badal nad tim Boot a Wboot. Je to udelany zajimave v
0 stope se cte 25 sektoru 5 x 5 sektoru a na preskacku s posuvem o 5
sektoru. V 1. stope to samy, a pak se cte 1 sektor samostatne.
Vysledek je asi 5 nasobny zrychleni nacteni stopy, protoze se behem
1 otacky diskety nacte 5 sektoru. Je to podobne principu SKEW v
Biosu. Tohle treba neni pouzity v Sysgenu a proto kopie systemu je
asi 4-5x pomalejsi nez jeho zatazeni pri Bootu.
Jirka  

Zobrazit citovaný text (209 řádků)
----- PŮVODNÍ ZPRÁVA -----
Od: "Roman Bórik (sapipandora.cz)" <roman.borik[doména skryta]>
Komu: "Konference 'SAPI-1 a československé mikropočítače'"
<sapipandora.cz>
Předmět: Re: Re: RE: GENEROVANI CP/M 2.2
Datum: 31.8.2011 - 20:47:39

> 
> > Jak jsem se hrabal v novejch systemech a delal
> > zmeny, tak jsem vyzkousel
> > > i jakesi setreni RAMky pro Bios. Uvodni vypisy
> > po spusteni CPM a hlasky
> > > o spatne verzi a chybe pri bootu jsem nacpal na
> > konec biosu a ukoncil je
> > > .DEPHASE. Uplne na konci mam CHK_ a ALL_ pro
> > disky a 128 byte DIRBUF.
> > > Pred tyhle hlasky jsem dal .PHASE ?zacatek tech 
> > textu?. Protoze jsou
> > > hlasky potreba jen dokud se poprve neskoci do
> > CCP, tak jsem presvedcenej,
> > > ze jsou v pameti zbytecne. Na jejich misto se
> > po! sune CHK_, ALL_
> > > a DIRBUF.
> 
> Áno. To je bežná prax, že sa pri studenom štarte
> buffre pre CHK, ALL a DIRBUF využívajú pre kód,
> ktorý už potom nie je potrebný. Musí to byť ale
> dobre premyslené.
> 
> > U me je to ?zkraceni biosu? o 180 byte, coz
> > skoro 1/5 dylky celyho biosu.
> > > Pro biosy dlouhy do 400H jen na systemovych
> > stopach to maka perfektne.
> > > Jenze ted co delam ty dlouhy biosy 800H s
> > ulozenim zbytku do nevyuzitych
> > > sektoru na 76 stope jsem narazil u tohodle
> > ?zkraceni biosu? na jeden
> > > problem. U boot sektoru to je jasny, ze musim
> > natahnout uplne celej
> > > system a spustit. Ale co u WBOOT? Tam by se sice
> > nemela vypisovat uvodni
> > > hlaska ale muze to skoncit na chybe nacitani
> > systemu a potom by chybel
> > > text pro hlasku Boot error, protoze na jeho
> > miste by byly ALL_ a  CHK_
> > > a DIRBUF. Znamena to tedy pri WBOOT natahovat
> > taky uplne cely system?
> > 
> Obvykle sa pri teplom štarte doťahuje iba CCP a
> BDOS. Celý systém, vrátane BIOSu, sa naťahuje
> zvyčajne iba pri bootovaní.
> Nebol by samozrejme problém naťahovať celý systém
> aj pri teplom štarte, to by ale malo za následok,
> že by to musel byť v konečnom dôsledku zrejme
> studený štart, lebo by sa doťahovaním celého BIOSu
> museli nainicializovať aj buffre, či tabuľky
> diskov, kde už BDOS mohol mať svoje behové
> informácie. Naviac, pokiaľ by bol systém aj v 76
> stope (zbytok BIOSu), znamenalo by to seekovanie
> hlavy disku pri každom teplom štarte systému.
> Pokiaľ je potrebné vypisovať nejakú chybovú hlášku
> pri studenom aj teplom štarte, tak sa nedá nič
> robiť a ten text musí byť v časti kódu, ktorá
> "zostáva" v pamäti.
> 
> > Mam v tom nejaky nejasnosti, navic jsem si
> > vsiml, ze pocatecni boot z 0
> > > sektoru je jinaci, nez z WBOOTU. Proste se cte
> > jiny pocet sektoru
> > > a dokonce se ukladaji v jiny posloupnosti. Nad
> > timhle jsem nikdy nebadal
> > > a neni mi to moc jasny. Asi si budu muset tyhle
> > dva booty zkusebne
> > > naadresovat od 100H posunout body umisteni
> > systemu do Ram a odladit si
> > > to Slapem. Kdyz koukam do vypisu prekladu, tak
> > mi to nak nedava smysl.
> > > Mluvim treba o Bios0502 a Boot0502, co mam v
> > Sapiman.
> > 
> BOOT kód samozrejme naťahuje celý systém, teda
> CCP, BDOS a BIOS a následne sa skáče do BIOSu na
> studený štart, kde sa robí počiatočná
> inicializácia.
> Pri teplom štarte sa opätovne doťahuje iba CCP a
> BDOS. Preto je počet čítaných sektorov menší ako
> pri BOOTe. CCP sa doťahuje preto, že spustený
> program môže slobodne využiť aj túto oblasť
> pamäti. BDOS sa doťahuje "pre istotu", keby nejaký
> program BDOS poškodil, alebo ho pre vlastné účely
> modifikoval. Ak by bol nejakým programom
> "zasiahnutý" aj BIOS, tak to pravdepodobne skončí
> nejakou "haváriou".
> Teplý štart robí oproti studenému štartu obvykle
> už iba nejaké "malé" inicializačné práce (napr. už
> sa nezisťujú pritomné mechaniky a pod.), riadenie
> sa vráti CCP a aktuálna mechanika a užívateľ sa
> berú z adresy 0004h (CDISK).
> 
> > Jinak Ramdisky jsem vcera moril dva mezi sebou
> > neustalym kopirovanim
> > > s kontrolou asi 4 hodiny a ani jednou to
> > nespadlo do verify error.
> > > Vypada to, ze ty tabulky, co jsi napsal jsou v
> > poradku. Jeste mi prozrad,
> > > podle ceho je delas, zda to jen tak spocitas, ci
> > na to mas nejakej
> > > manual. DPB je mi snad podle par prikladu jasna,
> > ale jak vytvaris dylku
> > > ALL a CHK? Potreboval bych vyzkouset par atyp
> > disku a nechci Te s tim
> > > pokazdy zatezovat. -:))
> 
> Som rád, že RMD-1/1MB šlape.
> 
> Nemám to, samozrejme, všetko z vlastnej hlavy, ale
> mám na to múdru knižku "Operační systém CP/M pro
> mikropočítače" od autorov Ing. Karel Richta a Ing.
> Jan Zajíc, z roku 1986, 286 strán.
> 
> Tabuľka DPH (Disk Parameter Block): (v zátvorke je
> veľkosť položky)
> 
> XLT (2) - adresa prekladovej tabuľky. 0, ak
> preklad logických sektorov na fyzické nie je
> potrebný. Veľkosť prekladovej tabuľky je SPT
> bytov. Ak XLT u niektorých diskov obsahuje adresu
> a u niektorých diskov je 0, musí byť zodpovedajúco
> upravená aj rutina TRANS, ktorá musí prípad
> nulového XLT ošetriť.
> WRK (6) - pracovná oblasť BDOSu
> DIRBUF (2) - adresa buffra (128 bytov) pre
> operácie s adresárom. Môže byť spoločná pre všetky
> jednotky.
> DPB (2) - adresa tabuľky parametrov disku. Pre
> jednotky s rovnakými parametrami môže byť DPB
> spoločná.
> CSV (2) - adresa zóny kontrolných súčtov. Jej
> veľkosť musí byť CKS bytov a musí byť samostatná
> pre každú jednotku. Ak je CKS = 0, CSV môže byť
> tiež 0.
> ALV (2) - adresa bitovej alokačnej mapy. Oblasť
> musí byť samostatná pre každú jednotku. Veľkosť
> tejto oblasti má byť (DSM / 8) + 1.
> 
> DPH tabuľky musia byť v RAM, keďže sú BDOSom
> modifikované v ich pracovnej oblasti.
> 
> Tabuľky DPB (Disk Parameter Block): (v zátvorke je
> veľkosť položky)
> 
> SPT (2) - počet logických sektorov (128 bytov) na
> stopu. Ak je veľkosť fyzického sektoru väčší ako
> 128 bytov, je SPT rovný súčinu počtu logických
> sektorov na fyzický sektor a počtu fyzických
> sektorov na stopu.
> BSH (1) - block shift - dvojkový logaritmus počtu
> logických sektorov v alokačnom bloku - log2 (BLM +
> 1)
> BLM (1) - block mask - počet logických sektorov v
> alokačnom bloku mínus jedna
> EXM (1) - extent mask - maska rozšírenia - počet
> logických rozšírení (16kB) adresovaných jednou
> položkou adresára mínus jedna. Je určená veľkosťou
> alokačného bloku (BLS) a celkovým počtom
> alokačných blokov (DSM) takto:
> 
> BLS     DSM<256     DSM>255
> 1kB              0                     -
> 2kB              1                     0
> 4kB              3                     1
> 8kB              7                     3
> 16kB           15                     7
> 
> DSM (2) - disk size max - veľkosť disku - celková
> kapacita diskovej jednotky v alokačných blokoch
> mínus jedna (číslo posledného alokačného bloku)
> DRM (2) - directory max - veľkosť adresára -
> maximálny počet položiek adresára mínus jedna.
> Adresár zaberá celistvý počet alokačných blokov.
> Každý logický sektor obsahuje 4 položky adresára,
> takže:
> DRM = (X * (BLM + 1) * 4) - 1
> kde X je počet alokačných blokov adresára
> AL0,AL1 (1,1) - prvé dva byty bitovej mapy
> určujúce alokačné bloky rezervované pre adresár.
> Jednotka v 7. bite AL0 rezervuje 0. blok, v 6.
> bite 1. blok atď. až jednotka v 0. bite AL1
> rezervuje 15. blok.
> CKS (2) - check sum - počet sektorov adresára
> testovaných na neregulérnu výmenu média. U
> výmenného média (DRM + 1) / 4, u pevného média 0.
> OFF (2) - offset - počet stôp rezervovaných na
> začiatku diskovej jednotky. Umožňuje to aj
> rozdeliť veľký pevný disk na viac logických
> jednotiek.
> 
> DPB tabuľky nie sú BDOSom modifikované a teda môžu
> byť aj v ROM.
> 
> 
> Roman
> 
> ---------------------
> sapipandora.cz
> Konference o SAPI-1
> ---
>