commodore.gen.tr

Commodore => Commodore Yazılım => Konuyu başlatan: ilkerficicilar üzerinde Ekim 16, 2014, 23:13:25 ÖS



Konu Başlığı: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: ilkerficicilar üzerinde Ekim 16, 2014, 23:13:25 ÖS
Yıllar önce kendi taradığım döküm eklerindeki bazı kodları Linux'ta düzgün OCR'layabilmiştim. Şimdi ise iyi bir sonuç alamıyorum, gerçi retrodergi'deki sayfa görüntülerini kullandığımdan olabilir.

Windows kullanan ve Abbyy Finereader'la program döküm ekindekileri sayısallaştırmayı denemiş olan varsa başarı oranını bildirebilir mi?

Bendekiler şu şekilde:

18C1  : 68 60 A9 FF 00 E4 C8 8C  34
1BC9 : 6A C1 98 48 A9 00 8D 7E  11
:8D_ : C1 85 02 A0 69 C1 0A AA  AD
_8_9 : 68 49 29 FE 0A 26 02 0A  7D
_8E_  : 26 02 70 C9 C0 8D 6B C1  4_
18E3 : BD CA C0 65 02 69 E0 8D  F2
18F1  : 6C C1 68 29 01 BD 68 C1  1F
_8F9 : 20 09 C2 A4 __3 C0 03 D0  80
1901 : 03 20 71 C2 26 20 A2 C6  65
1303 : 20 02 C6 A9 0D 48 4C 33  24
1911 : C8 EA A9 A4 A0 CB 20 1E  _A
1313 : A8 A9 00 _D A6 02 8D 20  6C

(Program Döküm Eki 12'nin 26. sayfasının alt kısmından örnek)

Linux'ta,

gocr -m 130 -p /tmp/db/ -C 0-9A-F\: /tmp/26.pnm

ile elde ettiğim basit ve gayet hatalı bir sonuç bu. Tanımadığı karakterleri tek tek uğraşıp tanıtınca sonuç güzelleşiyor.

Nihai amaç ise bu gibi ML dökümleri text olarak elde ettikten sonra kısa bir programla normal C64 .prg dosyasına dönüştürmek. Satır sonlarındaki doğrulama byte'ı hatalı satırları saptamaya ve gidermeye yardımcı olabilir gibi.

Abbyy Finereader veya daha iyi bir OCR programında başarılı bir sonuç elde etmiş veya edebilecek olan var mı acaba?

Ya da daha iyisi, bu Commodore Dergisi döküm eklerindeki programlar bir yerlerde veya birilerinde bulunuyor mu?


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: witchdoktor üzerinde Ekim 16, 2014, 23:23:00 ÖS
Aslında benim aklıma da gelmiyor değil bu fikir, ama zamansızlıktan öteliyorum. Satır sonu checksum'umun nasıl hesaplandığı bilinirse ufak tefek hatalar kolay çözümlenebilir. Yalnız BASIC kodlarındaki CBM kontrol karakterlerinin karşlılık gelen karaktere dönüştürecek bir program da yazmak gerekecek. Makine dili rutinler doğrudan belleğe aktarılabilir ama BASIC için farklı bir metod (doğrudan parse edip belleğe yazma, klavye tamponuna karakterleri sırasıyla gönderme vb) kullanmak gerekecek. Finereader silik olmayan sayfalarda hata çıkarmayabilir.


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: ilkerficicilar üzerinde Ekim 16, 2014, 23:40:25 ÖS
Şimdi bir de BASIC prg denedim. En önemli nokta kaliteli ve kayıpsız bir tarama gibi görünüyor.

GIMP ile ne kadar düzeltsem de mevcut örnek (Retrodergi'deki Prg. Döküm no 49, s.20 [1468]) işe yaramadı.



Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: g 600 üzerinde Ekim 17, 2014, 10:11:55 ÖÖ
basıc için, yeni sürüm VICE emulatörde kopyala yapıştır özelliği var bundan yararlanılabilir, emulatörde dosya oluşturduktan sonra da wav programı yardımıyla ses dosyası çalarak, gerçek donanıma aktarılabilir  :)


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: Simon (Özay Turay) üzerinde Ekim 17, 2014, 11:24:33 ÖÖ
http://www.retrodergi.com/originals/?dir=Commodore%20300dpi%20PDE (http://www.retrodergi.com/originals/?dir=Commodore%20300dpi%20PDE) adresinden orjinal taramaları kullanırsanız daha iyi sonuçlar elde edilebilir. ;)

İpucu: CBR dosyaları aslında RAR dosyalarıdır, uzantısını .rar olarak değiştirirseniz sayfalara resim dosyası olarak ulaşabilirsiniz. ;)


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: wizofwor üzerinde Ekim 17, 2014, 15:43:07 ÖS
VICE'la beraber dağıtılan txt formatındaki BASIC kodunu tokenize edip, PRG haline getiren, PETCAT adından çok güzel bir araç var. Yalnız kodun içindeki özel karakterleri bulup PETCAT taglarıyla değiştirmek gerekiyor. Yani biraz regex kasmak gerekli.

Hatalı okuma konusunda da OCR'dan sonra custom bir sözlük dosyasıyla spellcheck yaparak hatırı sayılır miktarda hata ayıklanabilir. Ancak maalesef bu programların çoğu doğuştan hatalı. O zamanlar elle yapılan dizgide, büyük ihtimalle dizgiyi hazırlayan memur yazılımcı olmadığı için, pek çok hata var. Yani eninde sonunda elle müdahele gerekli.


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: emarti üzerinde Ekim 17, 2014, 16:06:24 ÖS
OCR ile uğraşmak zaman kaybı muhakkak yanlış okuma yapabilir. Bu da kodun çalışmasını engeller.

Birini bul okusun sen de klavye başında inan daha kolay ve kesin çözüm. Bunun zevki bir başkadır :)


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: ilkerficicilar üzerinde Ekim 17, 2014, 16:30:57 ÖS
CBR'leri wget ile topluca çektim. Akşam bir bakayım... Teşekkürler.

Bendeki OCR hataları çok. O yüzden aslında en iyi OCR programı hangisidir merak ediyorum... Okuyacak birileri fikri ise gayet güzel :)

Okuyup yazacak birilerini bulamazsak ve düzgün bir şekilde OCR'dan geçirebilirsek, kalan metni tokenization için ise şurada kullandığım taktikle Basic programı haline getirmeyi planlıyorum:

http://cbm.ficicilar.name.tr/uncorrected/basicv2/makehex.bas.txt (http://cbm.ficicilar.name.tr/uncorrected/basicv2/makehex.bas.txt)
http://cbm.ficicilar.name.tr/uncorrected/basicv2/makehex.bin (http://cbm.ficicilar.name.tr/uncorrected/basicv2/makehex.bin)
http://cbm.ficicilar.name.tr/uncorrected/basicv2/makehex.txt (http://cbm.ficicilar.name.tr/uncorrected/basicv2/makehex.txt)

Yani Taranmış ve düz metin biçimine getirilmiş Basic programı kısa bir programla, CBM'e özel karakterler dahil PETSCII SEQ dosya haline getirip, bu SEQ dosyayı bir C64 veya emülatörde yukarıdakine benzer bir programla açıp, ekrana yazıp, klavye tamponunu 13'lerle doldururak...

Bu yöntemi eskiden BBS veya Usenet'teki bir program dökümünü, terminal programının loglarına alıp, bu loglardan tekrar programı oluşturmak için kullanırdık.

Örnek:

10 PRINT"NABER"
20 END

diye bir programımız olsun. Deneme amaçlı bunu PETSCII SEQ olarak diske kaydedelim:

OPEN8,8,8,"DENEME,W,S"
CMD8
LIST
CLOSE8
sdsddfsdfewq <return>
(hata verdirterek normal moda geçtik)

Şimdi diskte bu program yazı olarak yer alıyor.

İşte bu tür metin biçimli programları tokenize etmek için şunu yazıyoruz:

new
63500 printchr$(147);"run63500"
63550 poke152,1
63600 get#8,a$:printa$;
63650 ifa$=chr$(13)then63800
63700 ifstthenclose8:end
63750 goto63600
63800 poke631,19:poke632,17:poke633,13
63850 poke634,19:poke635,13:poke198,5

Sonra o SEQ dosyayı açıyoruz:

open8,8,8,"deneme"

ve az önceki kodu çalıştırıyoruz:

run

Sonuçta elimizde şu oluyor:

10 print"naber"
20 end
63500 printchr$(147);"run63500"
63550 poke152,1
63600 get#8,a$:printa$;
63650 ifa$=chr$(13)then63800
63700 ifstthenclose8:end
63750 goto63600
63800 poke631,19:poke632,17:poke633,13
63850 poke634,19:poke635,13:poke198,5

Geriye bir tek fazlalıkları silmek kalıyor.



Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: ilkerficicilar üzerinde Ekim 17, 2014, 20:10:09 ÖS
Yüzdük yüzdük kuyruğuna geldik...

Acaba MDE'de Checksum'un nasıl hesaplandığını bilen var mı?

Şimdi AbbyyFinereader'da kullanıcı pattern'i tanımı sayesinde düzgün bir OCR sonucu elde edebildim:

0801:1E08C2079E28323009
0809:3830292053504545FF
0811:434820424153494323
0819:20322E370000004C5D
0821:C009A67AA004840FB9
0829:BD00021007C9FFF00A
0831:3FE8D0F4C920F03889
0839:8508C922F056240FE9
0841:702EC93FD004A9992A
0849:D026C9309004C93C6D
0851:901E3471A04C840BD4
0859:A0FF867ACAC8E8BDFC
0861:000238F9600AF0F5B6
0869:C980D02F050BA471AA
0871:C8E899FB01C900F0D3
0879:3838E93AF004C94978
0881:D002850F38E955D05F
0889:9F8508BD0002F0E03A
0891:C508F0DCC899FB017D
0899:E8D0F0A67AE60BC897
08A1:B95F0A10FAB9600AA1
08A9:D0B5F00FBD00021076
08B1:BD99FD01C67BA9FFC9
08B9:857A60A000840BB96B
08C1:600AD002C8E8BD0065

(Örnekler program döküm eki, sayı 15, syf 402 ve 406'dan [COMMODORE_15-EK-009.jpg ve COMMODORE_15-EK-013.jpg])

Bir web uygulaması olsun, ve tarayıp OCR'dan geçirdiklerimizi upload edelim, bize program olarak döndürsün diye düşündüğüm için php kullandım. Deneme örneği şu şekilde:

<?php

$hex="0123456789ABCDEF";
$h2d=array();
for($i=0;$i<16;$i++) $h2d[$hex[$i]]=$i;

$dsw=fopen("sonuc.prg","w");
$syf=file_get_contents("ornek0.txt");
$syf=str_replace("\r","",$syf);
$syf=str_replace("\t"," ",$syf);
//echo $syf;
$veri=explode("\n",$syf);
$adet=count($veri);
for($i=0;$i<$adet;$i++) {
if ( strpos($veri[$i],":") !== false ) {
$str=trim($veri[$i]);
$str=preg_replace("/[^0-9A-F\:]/","",$str);
echo $str."\n";
$top=0;
//$top=$h2d[$str[2]]*16+$h2d[$str[3]];
for($j=5;$j<21;$j=$j+2) {
//echo $str[$j].$str[$j+1]."\n";
$dec=$h2d[$str[$j]]*16+$h2d[$str[$j+1]];
fputs($dsw,chr($dec));
//$top=$top+$dec;
//if ( $top > 255 ) $top=$top-256;
$top = $top ^ $dec;
$top = $top ^ 255;
//echo $dec." ";
} // for j
//echo " - ".$top."\n";
} // if dolu
} // for i
fclose($dsw);
?>

Bunu çalıştırınca OCR'lı metni .prg dosya olarak yazıyor.


Gelgelelim checksum'larda takıldım.

Örneğin,

1761 : 20 20 20 20 20 20 20 20 61

şeklindeki bir satırdan anlaşıldığına göre, sondaki checksum EOR veya toplam ile elde ediliyor gibi görünüyor (20'lar birbirini götürüyor ve 16 bitlik bellek adresinin düşük kısmı da hesaba dahil ediliyor gibi).

Fakat,

16E1 : 4B 2E 20 20 20 20 20 20 13

gibi bir satırda "13" olan kontrol toplamını deneme yanılmayla elde edemedim. MDE (Makine Dili Editörü) programını bulup deşmeye de üşendim doğrusu... Kontrol toplamı hakkında fikri/bilgisi olan?

Bu ikinci satırda mesela kolaylık olsun diye hex-dec E1=225, 4B=75, 2E= 46, 20=32, 13=19 dersek. Toplamları 538 ediyor. 256 modülüsü ise haliyle 26. $13=19'u tutturamadık.

EOR'lasam:
E1 = 11100001
4B = 01001011
2E = 00101110
20 = 00100000
20 = 00100000
20 = 00100000
20 = 00100000
20 = 00100000
20 = 00100000
-------------
84 = 10000100 = 132

19'dan ($13 = 00010011) gene çok uzak, alakasız.

Bir yerlerde NOT işlevi falan mı var acaba? Ya da dalgınlıkla gözden açan ne ola ki!

Şu kontrol toplamının nasıl elde edildiğini bulursak Commodore Program Döküm ekindeki çoğu makine dili programı hızlıca dijital ortama aktarıp arşivleyebiliriz gibi görünüyor.



Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: i_r_on üzerinde Ekim 18, 2014, 03:06:10 ÖÖ
http://en.wikipedia.org/wiki/MLX_(software (http://en.wikipedia.org/wiki/MLX_(software))
http://www.atariarchives.org/2bml/appendix_c.php (http://www.atariarchives.org/2bml/appendix_c.php)

Bunlara benzer mi acep?
Basic'i feci çorba yazmışlar anlayamadım ben ne yaptığını :)
Saat de geç oldu zaten.

ps: Kullanılan algoritma muhtemelen aşağıdaki dokümanda orta sütunda bahsedilen algoritma olabilir.

http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/AutomaticProofreader/feb86-AutomaticProofreader2B.jpg (http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/AutomaticProofreader/feb86-AutomaticProofreader2B.jpg)


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: blackturk üzerinde Ekim 18, 2014, 03:47:16 ÖÖ
Elimden geldiği kadar yardımcı olmaya çalışcam.cheksum algoritma mantığı bir satırda 8 byte veriyi doğru bir şekilde yazıldığını kontrolunu sağlar.
Adım adım açıklayaım.daha sonra algoritmay yazayım.

1.ard arda gelen 8 byte ın ilk byte saklayan adresin low byte ile başlanır.
2.low byte ı  kontrol toplam sonuç low adres içinde saklanır.kontrol toplam
Sonuç high sıfırlanır.
3.y register ını 8 byte counter olarak set edeceğiz.
4.carry temizle
5.ilk byte adresin içeriğini kontrol toplamın low adres içeriği ile topla
6.sonuç carry set mi hayır git numara 8'e
7.kontrol toplam high adresin içerğini bir arttır
8.kontrol toplam low adres içerğini asl ile high bit carry gidiyor.
9.kontrol toplam high adresi içeriğini ise rol ile çeviriyoruz carry low bitte gidiyor.
10.y register 8. Byte ulaştı mı ? Evet ise carry otomatik set olur.ve adım git 12.
11.hayır 8.byte ulaşılmadı.bir sonraki byte için y reg artır ve git numara
Numra 5'e ve tekrarla
12.kontrol toplam low ve high adreslerin içeriğini topla , carry ile birlikte sonucu bellekte sakla
13.son

Bu kadar programı yarın yazarım.


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: i_r_on üzerinde Ekim 18, 2014, 04:19:49 ÖÖ
@blackturk : bu bizim c64 dergilerindeki mde'ler için olan algortima mı? Compute's gazette'inkinde elemanlar ascii karakter kodlarının değerini karakterin geçtiği sıra ile çarpıp falan oluşturmuşlar.

Bu arada yabancı dergi kitaplarda geçen program dökümlerinin hazır programa çevrilmiş halleri var şurada : http://www.c64music.co.uk/books/ (http://www.c64music.co.uk/books/)


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: wizofwor üzerinde Ekim 18, 2014, 09:49:08 ÖÖ
MDE'nin dökümünün ilk sayıda olması lazım.


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: blackturk üzerinde Ekim 18, 2014, 10:53:42 ÖÖ
Eski  dökümanlarımın içinde bulduğum algoritma.

1761 : 20 20 20 20 20 20 20 20 61  için aşağıdaki kodu yazdım.Aşağıdaki kodu derlersen.çalıştırdıktan sonra basic satırında print peek(4096) yazınca sonuç 97 değeri veriyor.Yani hex $61 doğru.



;----BASLA-------1761 : 20 20 20 20 20 20 20 20 61----------------------------

*= $0800
.byte $00,$0c,$08,$0a,$00,$9e,$32,$33,$30,$34,$00,$00,$00,$00

*=$0900


   lda #$61
   sta $fb
   lda #$17
   sta $fc

   lda $FB
   sta $5A 

   ldy #$00

   sty $5B 

loop    lda ($FB),Y

   clc

   adc $5A 

   sta $5A

   bcc loop1

   inc $5B


loop1   asl $5A 
   rol $5B

    iny

   cpy #$08

   bcc loop 

   lda $5A 

   adc $5B 

   sta $1000 

   rts

*=$1761

   .byte $20,$20,$20,$20,$20,$20,$20,$20


;----SON-------1761 : 20 20 20 20 20 20 20 20 61----------------------------





16E1 : 4B 2E 20 20 20 20 20 20 13 için adres bilgisi ve içeriğini yeniden düzenlersek aşağıdaki gibi.Prınt peek(4096) sonuç 19 çıkar.

 Evet algoritma doğru çalışıyor.




;----BASLA-------16e1 : 4b 2e 20 20 20 20 20 20 13----------------------------

*= $0800
.byte $00,$0c,$08,$0a,$00,$9e,$32,$33,$30,$34,$00,$00,$00,$00

*=$0900


   lda #$e1
   sta $fb
   lda #$16
   sta $fc

   lda $FB
   sta $5A 

   ldy #$00

   sty $5B 

loop    lda ($FB),Y

   clc

   adc $5A 

   sta $5A

   bcc loop1

   inc $5B


loop1   asl $5A 
   rol $5B

    iny

   cpy #$08

   bcc loop 

   lda $5A 

   adc $5B 

   sta $1000 

   rts



*=$16e1

   .byte $4b,$2e,$20,$20,$20,$20,$20,$20


;----SON-------16e1 : 4b 2e 20 20 20 20 20 20 13----------------------------




Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: blackturk üzerinde Ekim 18, 2014, 11:34:08 ÖÖ
MDE'nin dökümünün ilk sayıda olması lazım.
Malesef  commodore dergisi birinci sayısında  program döküm ekinde mde var fakat kontrol toplamını anlatan herhangi bir bilgi yok.


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: ilkerficicilar üzerinde Ekim 18, 2014, 12:30:12 ÖS
:) Teşekkürler.

Uydu:

<?php

$by=array(32,32,32,32,32,32,32,32);
$ad=97;
$by=array(204,204,204,204,204,204,204,204);
$ad=193;
$ch=0;
$cl=$ad;

for($y=0;$y<8;$y++) {
$cr=0;
$cl=$cl+$by[$y];
if ( $cl > 255 ) $ch++;
$cr=floor(($cl & 128)/128);
$cl=floor($cl*2) & 255;
$ch=$ch*2+$cr;
} // for y
$cr=1;
$ck=($cl+$ch+$cr) & 255;
echo "ck:".$ck."\n";
?>

Şimdi geriye bu algoritmayı kısaltıp / formülüze edip MDE-dökümü-to-prg scripti haline getirmek ve taranıp OCR'dan geçen kodları buna beslemek kaldı.

Bu arada PDE'deki çoğu program aşırma!.. Onları saptayabilirsek, sadece orijinal çalışmaları tarayarak zaman kazanmak mümkün olabilecek.




Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: joker_ üzerinde Ekim 18, 2014, 12:59:57 ÖS
Zamanında Hades'in çıkarttığı c64Türkiye dergisinin 8nci sayısında buna benzer bir program yazmıştı Hades. Belki fikir verir.

http://www.retrodergi.com/originals/C64%20Turkiye/C64%20Turkiye%20-%20Sayi%2008%20(Ekim%202005).pdf (http://www.retrodergi.com/originals/C64%20Turkiye/C64%20Turkiye%20-%20Sayi%2008%20(Ekim%202005).pdf)

Bu arada Hades nerelerdesin? Özlettin kendini. :)


Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: ilkerficicilar üzerinde Ekim 18, 2014, 13:50:29 ÖS
İlk aşama tamam:

http://cbm.ficicilar.name.tr/mde2prg.php (http://cbm.ficicilar.name.tr/mde2prg.php)

Bunu bir ara güzelleştiririm. Program hakkında ek bilgi vb. girip veritabanına eklemek vs. gibi özelliklerle.

Şimdilik, OCR'dan geçirilmiş MDE dökümlerini .prg yapıp indirme linki veriyor.

Bir iki deneme yaptım. Mesela, dün vermiş olduğum örnekte (PDE No 15, syf .09) 0851 no'lu satır hatalı okunmuş. Yukarıdaki checksum sayesinde yakalayabildik:

====================================
Commodore MDE OCR - PRG

Su satirlarda hata var:

0851 : 90 1E 34 71 A0 4C 84 0B D4

Lutfen duzeltip yeniden yukleyin.
====================================

34'ü 84 yapınca düzeldi:

====================================
Commodore MDE OCR - PRG

Hata Yok.

Indirmek icin tiklayin: pde-1334126.prg
====================================


Eveeeet... Yardım eden herkese teşekkürler.

Şimdi ise pamuk eller tarayıcılara lütfen ;)



Konu Başlığı: Ynt: Program döküm ekindeki ML programları Abbyy FR'dan geçirip .prg yapan var mı?
Gönderen: witchdoktor üzerinde Ekim 18, 2014, 14:07:50 ÖS
:) Teşekkürler.

Uydu:

<?php

$by=array(32,32,32,32,32,32,32,32);
$ad=97;
$by=array(204,204,204,204,204,204,204,204);
$ad=193;
$ch=0;
$cl=$ad;

for($y=0;$y<8;$y++) {
$cr=0;
$cl=$cl+$by[$y];
if ( $cl > 255 ) $ch++;
$cr=floor(($cl & 128)/128);
$cl=floor($cl*2) & 255;
$ch=$ch*2+$cr;
} // for y
$cr=1;
$ck=($cl+$ch+$cr) & 255;
echo "ck:".$ck."\n";
?>

Şimdi geriye bu algoritmayı kısaltıp / formülüze edip MDE-dökümü-to-prg scripti haline getirmek ve taranıp OCR'dan geçen kodları buna beslemek kaldı.

Bu arada PDE'deki çoğu program aşırma!.. Onları saptayabilirsek, sadece orijinal çalışmaları tarayarak zaman kazanmak mümkün olabilecek.


Bu sistemle benim 'HIRES ARTIST' adlı C128 BASIC programımı da aktaralım da 20 yıl sonra emülatörle de olsa tekrar bir özlem gidereyim ;)