Enterprise Forever
:HUN => Egyéb témák => Topic started by: Zozosoft on 2017.January.06. 13:21:21
-
Segédprogramokról jut eszembe:
Van a Hsoft féle EPDOC (forrással együtt itt. (https://enterpriseforever.com/downloads/?dir=Hsoft_programjai_es_forraskodjai))
Ez képest HEASS és HWP fájlokat megnyitni. De nincs benne "Save As", csak CTRL+C aztán CTRL+V szövegszerkesztőbe módszerrel lehet szövegfájlba konvertálni.
Lehetne esetleg ehelyett egy okosabb segédprogramot csinálni az ep128emu csomagba?
-lehessen szövegfájlba egyből menteni
-ASMON, FENAS, GEN, HEASS, HWP, és WP fájlokat is tudjon betölteni
-választható karakterkonverzió UK, BRD, HUN, HFONT, stb -> unicode
(-esetleg BASIC program betöltése? Lgb webes programlistázója esetleg segíthet ebben)
(-szintén esetleg: EP-s képfájlok betöltése, és PNG-be mentési lehetőség? Bár ez lehet, hogy inkább az imgconv GUI-jába lenne egyszerű berakni.)
-
-ASMON, FENAS, GEN, HEASS, HWP, és WP fájlokat is tudjon betölteni
-választható karakterkonverzió UK, BRD, HUN, HFONT, stb -> unicode
(-esetleg BASIC program betöltése? Lgb webes programlistázója esetleg segíthet ebben)
Ezekről a formátumokról és karakterkészletekről található valahol részletes dokumentáció?
-
Itt láthatóak a karakterkészletek. (http://ep128.hu/Ep_Util/Brd.htm)
Lgb összeszedte az UNICODE kódokat is. (http://epbas.lgb.hu/result-chset.html)
A 127-es karakterre nem volt akkoriban tipp, azóta az EXOS forrásból biztosan tudni, hogy ez a Rubout azaz Delete character, ami ez lehetne: "⌫ U+232B Delete / Backspace"
A spanyol karakterekről kéne még Gflorez-t megkérdezni.
-
Ezekről a formátumokról és karakterkészletekről található valahol részletes dokumentáció?
Szetszorva van info sok helyen, meg a forumbol, meg sajat kiserletezesekbol :-P http://epbas.lgb.hu/
Vegulis, ha letoltod, talan lathato belole egy-ket dolog, bar python-ban van. Amugy van sok hibaja a cuccnak, egyaltalan nem biztos, hogy jol mukodik :) Pl HEASS dolgoknal 1-2 file-nal eleg fura dolgokat csinalt ha jol remlik ...
-
WP:
; The text itself is represented as a series of lines each of which has the
; format:
; left-margin-count (1 byte) Top bit always set
; Line-flags (1 byte) Top bit always set
; Start-of-line (1 byte) SOL
; ASCII characters (0 or more bytes) Always >= 20h
; end-of-line-char (1 byte) may be - HARD-CR
; SOFT-CR
; end of text
;
; The left margin count is the column number at which the first character of
; the line appears on the screen, with the top bit set to avoid confusion with
; control characters (particularly EOB). The line flags contain certain
; information about the line, such as whether it is in a marked paragraph and
; whether it was the cursor line which a NO_PROMPT read was done on. The top
; bit is always set to avoid confusion with control characters.
; START-OF-LINE (SOL) is a special byte value used to indicate the start of
; a line since the left-margin-count could appear just like a valid ASCII
; character. The end-of-line-char is a special byte value which is either a
; hard or soft CR in which case another valid line follows on in the buffer,
; or an end-of-text (EOT) character in which case this line is the last in the
; 'file'.
GAP equ 0
EOB equ 1 ;End (or start) of buffer
EOT equ 2 ;End of text
SOL equ 3 ;Start of line
HARD_CR equ 4 ;Hard carriage return
SOFT_CR equ 5 ;Soft carriage return
var $$EDIT, 08h ;Editor document file
edit_header: db 0,$$EDIT##,0,0,0,0,0,0 ;16 byte header for editor file
db 0,0, 0,0,0,0,0,0
Line-flags-ból esetleg az alsó két bit lehet érdekes, ez a kódja annak, hogy melyik színpár van használva. (alap WP színek: 0: fekete/zöld, 1:fekete/piros, 2: fehér/kék, 3: lila/világoskék, TEXT 40-ben csak az első kettő használható)
-
HEA és HWP az EPDOC forrásából:
if s = '.HEA' then begin
BlockRead(F, Buf, 17, NumRead);
if (NumRead = 17) and (Buf[1] = #$80) then begin
HibaStr := 'Hibás fájltartalom';
BlockRead(F, Buf, ord(Buf[16]) + 7, NumRead);
repeat;
k := 0;
s2 := '';
BlockRead(F, Buf, 2, NumRead);
j := ord(Buf[0]) + ord(Buf[1]) * 256;
if j > 0 then begin
BlockRead(F, Buf, j - 2, NumRead);
for i := 2 to j - 1 do begin
c := Buf[i];
if k = 0 then begin
s := '';
k := ord(c) and 127;
end else begin
case c of
#$21..#$9F: s := s + KodTabla[c];
else s := s + copy(ures, 1, (ord(c) - $9f) mod 256);
end;
dec(k);
end;
if k = 0 then
s2 := s2 + s + #13+ #10;
end;
end;
RichEdit1.Text := RichEdit1.Text + s2;
until j = 0;
HibaStr := '';
end;
end else if s = '.HWP' then begin
BlockRead(F, Buf, 12 + 34, NumRead);
s := '';
for i := 0 to 9 do
s := s + Buf[i];
if (NumRead = 12 + 34) and (s = 'HWP.DOC 1.') then begin
HibaStr := 'Hibás fájltartalom';
for l := 1 to ord(buf[11]) do begin
{
HOSSZ 0=SEGEND vagy TEXTEND 2=ÜRES_SOR
FLAG 0-15=SORKOZ B7=LAPVEG B6=LAPVÉGKÉRÉS B5=VÉGTÍLTÁS B4=PUHACR
0-11 KARKÉSZLET
12 ALÁHÚZÁS VÁLTÓ
13 INVERZ VÁLTÓ
32-159 CHR
160- PUHA SZÓKÖZ
}
BlockRead(F, Buf, 2, NumRead);
j := ord(Buf[0]) + ord(Buf[1]) * 256;
BlockRead(F, Buf, j, NumRead);
k := 0;
s2 := '';
for i := 0 to j - 1 do begin
if k = 0 then
flag := 0;
case flag of
0: begin
s := '';
k := ord(Buf[i]);
inc(flag);
end;
1: inc(flag);
else begin
c := Buf[i];
case c of
#$20..#$9F: s := s + KodTabla[c];
#$A0..#$FF: s := s + copy(ures, 1, (ord(c) - $a0));
end;
end;
end;
dec(k);
if k = 0 then
s2 := s2 + s + #13+ #10;
end;
RichEdit1.Text := RichEdit1.Text + s2;
end;
HibaStr := '';
end;
end;
-
ASMON és FENAS az ugyanaz a formátum:
A fájl 01h-el kezdődik (ASMON Turbo Save, vagy FENAS), vagy 02h-val (ASMON Intelligent Save). Ez utóbbi esetben további 31 bájt átugrandó (fordítási opciók).
A soremelések 0Dh-ként vannak tárolva, a 7Fh-nél nagyobb értékek pedig a tömörített szóközök: 80h=1 space, 81h=2 space, stb.
-
Még ASMON variáció (Andrew Richards SAVE.XR bővítőjével készült .ASS fájlok (ASmon Save)):
FF,BF-el kezdödik a fájl, 210h pozíción kezdődik a tömörített szöveg.
-
A GEN meg sima szöveg fájl, azzal akkor nem kell foglalkozni.
-
És ha még egyet lehetne kívánni :oops: WordStar (http://justsolve.archiveteam.org/wiki/WordStar) fájlok konvertálása. Azokat a bizonyos High Bit-eket kéne törölni, akkor már olvasható lenne a szöveg.
-
ASMON és FENAS az ugyanaz a formátum:
A fájl 01h-el kezdődik (ASMON Turbo Save, vagy FENAS), vagy 02h-val (ASMON Intelligent Save). Ez utóbbi esetben további 31 bájt átugrandó (fordítási opciók).
A soremelések 0Dh-ként vannak tárolva, a 7Fh-nél nagyobb értékek pedig a tömörített szóközök: 80h=1 space, 81h=2 space, stb.
Pontosítás :oops:
A 01h-s a FENAS, 02h az ASMON Intelligent Save. ASMON Turbo Save-nál nincs semmi, egyből kezdődik a tömörített adat.
GEN-nél esetleg annyit lehetne, hogy a sor első sorközét TAB-ra cserélni, hogy olvashatóbb legyen.
Itt egy adag példa fájl.
-
Eddig nem találtam hibát!
-
Kiegészítve az ASMON formátum különböző változataival és a .WP-vel:
Én vagyok ügyetlen, vagy tényleg nem működik a karakter konvertálás WP-re? :oops:
-
Én vagyok ügyetlen, vagy tényleg nem működik a karakter konvertálás WP-re?
Az könnyen előfordulhat, hogy hibásan működik a WP konverzió, csak a save.wp-vel, illetve annak több színűre módosított változatával teszteltem, azokkal működött. :oops: Szerk.: már látom a hibát, nem konvertálja a karaktereket UTF-8-ra.
-
Az könnyen előfordulhat, hogy hibásan működik a WP konverzió, csak a save.wp-vel, illetve annak több színűre módosított változatával teszteltem, azokkal működött. :oops:
Működni, működik, csak a -hun és társai hatástalannak tűnnek :oops: (A példában a "screenshotok"-ban vannak ékezetes karakterek. Ez amúgy a Zozotools Enterpress cikk eredeti fájlja.)
-
Erre meg azt mondja, hogy invalid character van benne :oops:
-
Ez színes is meg ékezetes is :-)
Hamár úgyis html, lehetne a fekete/zöld, fekete/piros is megtartva?
Ill. lehetne mondjuk -txt -html opció (vagy a kimenetei kiterjesztésből felismerni), txt ha csak szöveg kell az extrák nélkül, html meg a többi esetben is csinálna szép fekete/zöld oldalt? (esetleg -bw a fekete fehér módhoz)
WordStar esetén is megpróbálod majd a lényegesebb opciókat megtartani html-ben? Az adott példából kb ennek (http://enterprise.iko.hu/technical/ET15-3_EXOS_1_Serial-Network_Driver.pdf) kell kijönni.
-
Erre meg azt mondja, hogy invalid character van benne :oops:
Javítva, a korábbi (hibás) csomagot cseréltem.
-
Joker karakteres tömeges fájl használatot meg lehetne csinálni?
Pl: epdoc2txt *.HEA *.TXT
Ez a többi segéd programba is jól jönne (imgconv, epcompress, stb) :oops:
-
Ezt egy egyszerű .bat file meg tudja oldani Windowson is, például:
@echo off
del *.html
for %%i in (*.wp) do ..\epdoc2txt.exe %%i %%i.html
ren *.wp.html *.html
-
Ezt egy egyszerű .bat file meg tudja oldani Windowson is, például:
Na ez most nekem teljesen új volt :oops:
-
A .WS dokumentumok szintén EP karakterkészleteket használnak? A példában nincsenek ékezetes karakterek, így ezt nem lehet tesztelni. Elvileg a 80h feletti kódokat 1Bh és 1Ch karakterek között tárolja a formátum, de nem tudom biztosan, hogy ez az EP-s változatoknál is így van-e.
-
A .WS dokumentumok szintén EP karakterkészleteket használnak? A példában nincsenek ékezetes karakterek, így ezt nem lehet tesztelni. Elvileg a 80h feletti kódokat 1Bh és 1Ch karakterek között tárolja a formátum, de nem tudom biztosan, hogy ez az EP-s változatoknál is így van-e.
Ezek a doksik leginkább az angol és német cégtől vannak (amibe belenéztem az mind angolnak tűnik). A BRD (ill. az abból kreált HUN) az 128 alatti kódokat használ az ékezetekhez, az ISO 646-DE és ISO 646-HU szabvány szerint.
Most kipróbáltam, hogy lehet-e HFONT-tal írni benne (128-nál nagyobb kódok), de nem, mindenféle control kriksz-kraksz lett belőle.
-
- WordStar formátum támogatása (csak az ET15-4.DOC file-t teszteltem)
Alapvetően jól működik, pár apróság van:
-CTRL+Z (1Ah) = "End of file" karakternél nem áll le az elsőnél, hanem mindegyiket CR/LF-re cseréli. (Úgy tűnik a WordStar 128 bájtosra kerekíti a fájl méretet (gondolom CP/M örökség), a ki nem használt részt végig 1Ah-kal szórja tele.
-8Dh = Soft Carriage Return egyes fájloknál Omega karakterré alakul :oops: (csatolva egy példa)
-a fej és láb lécekkel (.he és .fo vezérlő opciók) lehetne kezdeni valamit? Ha nem is kerülnek a helyükre minden oldalra, csak úgy simán konvertálni szövegnek az elején.
-
-CTRL+Z (1Ah) = "End of file" karakternél nem áll le az elsőnél, hanem mindegyiket CR/LF-re cseréli. (Úgy tűnik a WordStar 128 bájtosra kerekíti a fájl méretet (gondolom CP/M örökség), a ki nem használt részt végig 1Ah-kal szórja tele.
Javítva, az ilyeneket eredetileg is figyelmen kívül kellett volna hagynia, de hibás volt.
-8Dh = Soft Carriage Return egyes fájloknál Omega karakterré alakul :oops: (csatolva egy példa)
Itt valójában nem ismerte fel a file típusát, mivel a WordStar formátumnak nincs fejléce, az első karakternek pontnak kellett lennie ahhoz, hogy a program WordStar-t tételezzen fel egyszerű ASCII szöveg helyett. Az alábbi módosított verzió a file név kiterjesztését figyeli (.DOC vagy .WS):
[attachurl=1]
-
-a fej és láb lécekkel (.he és .fo vezérlő opciók) lehetne kezdeni valamit? Ha nem is kerülnek a helyükre minden oldalra, csak úgy simán konvertálni szövegnek az elején.
Az egyszerű konvertálást beépítettem (a fenti csomag frissítve), a ".he ", ".fo ", ".h1 ", ".f1 ", stb. kezdetű soroknál csak az első három karaktert nem írja ki.
-
Az egyszerű konvertálást beépítettem (a fenti csomag frissítve), a ".he ", ".fo ", ".h1 ", ".f1 ", stb. kezdetű soroknál csak az első három karaktert nem írja ki.
Némelyiknél nem működik :oops:
Ha jól tippelem az lehet zavaró, ha nagy betű van a kódokban, ill. ha nincs szóköz a kód után.
-
Ha jól tippelem az lehet zavaró, ha nagy betű van a kódokban, ill. ha nincs szóköz a kód után.
Szóköz nélkül valóban nem fogadja el, de például a ".HE " kódnak elvileg működnie kellene.
-
például a ".HE " kódnak elvileg működnie kellene.
De itt .He meg .Fo van :-)
-
De itt .He meg .Fo van :-)
Azt is el kellene fogadnia, de nem szóköz van utána.
-
Ezzel a verzióval már működik a .he és .fo konvertálása a fenti "problémás" dokumentumoknál:
[attachurl=1]
-
:smt038 :smt038 :smt038
-
Még egy kis apróság, ha lehetséges:
Asmon Inteligent Save (02h kezdetű): 04h poziciótól az Object filename, hosszbájttal, (0 hossz ha nincs), 18h-n ha a bit 6=1, akkor az alsó bájt az EXOS module type.
.ASS (FF,BF kezdetű): 13h poziciótól az Object filename, hosszbájttal, (0 hossz ha nincs). Modul típus itt nincs.
Ezeket - ha jelen vannak - be lehetne tenni a konvertált szöveg elejére kommentként? pl:
;Object filename: ABC.COM
;EXOS module type: 5
(FENAS, HEASS esetén eleve a forrásban vannak megadva ezek.)