nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Apr 2024 17:16



Reply to topic  [ 156 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 11  Next
откуда растут уши у советских бейсиков 
Author Message
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Микро/80 это который в 82х-83х годах до РКшки публиковался?
А бэйсик Сервис я помню! В старом здании кружка юзали, до появления Практик... У нас было несколько игрушек, которые по факту были бэйсиковыми, грузились вместе с бэйсиком одним блоком, а бэйсик был пропатчен на автозапуск программы. Монополия, Карате...


Ооо, че я подумал! Я слышал, что толи Васик-Сервис, толи Микрон был адаптирован под Z80. А раз у всех ядра схожие, то и другие можно адаптировать тем же методом, так?


30 Jun 2011 03:11
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
Ооо, че я подумал! Я слышал, что толи Васик-Сервис, толи Микрон был адаптирован под Z80. А раз у всех ядра схожие, то и другие можно адаптировать тем же методом, так?

Шевцов пишет, что при переносе ВАСЮКОВ под Z80 основная проблема -
это разница в исполнении RST, т.к. они обширно используются.
Вторая проблема - это использование недокументированных кодов К580
для защиты некоторых "фирменных" программ, для ВАСЮКОВ не так характерна,
как для игр...

Я хотел выложить оригинал Шевцова по адаптации - но что-то под руку
прям не попадается, но у Фифана - должен быть.


30 Jun 2011 05:09
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
Lavr wrote:
под Z80 основная проблема -
это разница в исполнении RST, т.к. они обширно используются.

Это с каких таких пор RST на Z80 по-другому работает? :)

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


30 Jun 2011 06:37
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
Lavr wrote:
под Z80 основная проблема -
это разница в исполнении RST, т.к. они обширно используются.

Это с каких таких пор RST на Z80 по-другому работает? :)

За чо прочитал - за то и пересказываю. Можно обратиться к первоисточнику,
сам не переносил, и не вникал в эти проблемы, а с учетом наступившей жары,
даже что-то и не хочу...

PS. Я смотрю по своим архивам, найду - выложу...

PPS. С RST - виноват, был неправ, автора переврал... :oops:

Shaos отпочковал статью Шевцова в форум по Специалисту: http://www.nedopc.org/forum/viewtopic.php?t=9632


30 Jun 2011 06:50
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
Интересно, а альтернативные i8080 ВАСИКИ есть, если код посмотреть?
Не все же прародил БГ?


вот это вот басик (RDK PROMPT BASIC V3.2 3K) не похож на гейтсовский (хотя позже выяснилось, что таки похож - на басик LEVEL1 для TRS-80):
Code:
-rw-r--r-- 1 shaos users 3334 Mar 28  1999 BAS-RDK.RKS

а у всех остальных таблица токенов (находящяяся где-то вначале, где-то в конце, где-то меньше, где-то больше) говорит о том, что их оригинальный автор - биллогейц:
Code:
-rw-r--r-- 1 shaos users  9750 Apr  5  1999 BAS-CIR.RKS
-rw-r--r-- 1 shaos users  9542 Mar 28  1999 BAS-GR.RKS
-rw-r--r-- 1 shaos users  8342 Mar 28  1999 BAS-KBH.RKS
-rw-r--r-- 1 shaos users  8710 Apr  5  1999 BAS-MAG.RKS
-rw-r--r-- 1 shaos users  8582 Apr  5  1999 BAS-MAG2.RKS
-rw-r--r-- 1 shaos users  8198 Apr  5  1999 BAS-MIC2.RKS
-rw-r--r-- 1 shaos users  8199 Mar 28  1999 BAS-MICR.RKS
-rw-r--r-- 1 shaos users 10518 Apr  5  1999 BAS-NEW.RKS
-rw-r--r-- 1 shaos users  7798 Apr  5  1999 BAS-S.RKS
-rw-r--r-- 1 shaos users 10518 Apr  5  1999 BAS-SG.RKS
-rw-r--r-- 1 shaos users  8198 Apr  5  1999 BAS-SPEC.RKS
-rw-r--r-- 1 shaos users  8966 Mar 28  1999 BAS-SRV.RKS
-rw-r--r-- 1 shaos users  6758 Apr  5  1999 BASIC-A.RKS
-rw-r--r-- 1 shaos users  6662 Jan 24  1997 BASIC.RKM
-rw-r--r-- 1 shaos users  8200 Jan 15  1998 BASIC.RKP
-rw-r--r-- 1 shaos users 16390 Mar 18  1999 BASIC.RKS
-rw-r--r-- 1 shaos users 16390 Mar 18  1999 BASIC1.RKS
-rw-r--r-- 1 shaos users 16390 Mar 18  1999 BASIC2.RKS
-rw-r--r-- 1 shaos users  6758 Mar 28  1999 BASIC3.RKS
-rw-r--r-- 1 shaos users  6665 Feb 10  1999 BASIC80.RKR
-rw-r--r-- 1 shaos users 10741 Feb 10  1999 BASICMUS.RKR
-rw-r--r-- 1 shaos users  8201 Feb 11  1999 BASICPC.RKR
-rw-r--r-- 1 shaos users  7433 Feb 10  1999 BASICSER.RKR
-rw-r--r-- 1 shaos users  8201 Feb  5  1998 BASIC_OK.RKR
-rw-r--r-- 1 shaos users  7433 Feb  5  1998 BASIC_PR.RKR
-rw-r--r-- 1 shaos users  6847 Mar 28  1999 BASIC_RK.RKR
-rw-r--r-- 1 shaos users  6601 May  7  1999 BASMIC.RKR
-rw-r--r-- 1 shaos users 17207 Apr  5  1999 BASMIC87.RKS
-rw-r--r-- 1 shaos users  8202 Feb  6  1998 BASMIKR.RKR


P.S. ещё один кусок явно есть: http://web.archive.org/web/200112252059 ... dis_12.htm

Code:
If tghe argument in FACCUM is negative, then skip over the
0C5F    EF    Rnd    RST TestSign    
0C60    FA7C0C       JM 0C7C    
Load the seed into FACCUM.
0C63    21910C       LXI H,RND_SEED    
0C66    CD0F0A       CALL FLoadFromMem    
0C69    C8       RZ    
Multiply seed by 11,879,546.
0C6A    013598       LXI B,9835    
0C6D    117A44       LXI D,447A    
0C70    CDE508       CALL FMul+2    
Add 0.00000003927678
0C73    012868       LXI B,6828    
0C76    1146B1       LXI D,B146    
0C79    CD1208       CALL FAdd+2    
Swap first and third mantissa bytes.
0C7C    CD1D0A       CALL FAccToBCDE    
0C7F    7B       MOV A,E    
0C80    59       MOV E,C    
0C81    4F       MOV C,A    

Set FTEMP_SIGN to 0x80 to indicate to FNormalise that it doesn't need to change the sign. Also set FACCUM's exponent to 0 so the result, when normalised, will be less than 1.
0C82    3680       MVI M,80    
0C84    2B       DCX H    
0C85    46       MOV B,M    
0C86    3680       MVI M,80    
0C88    CD5E08       CALL FNormalise+3    
Exit via a copy of the result to RND_SEED so it can be used for the next time RND is called.
0C8B    21910C       LXI H,RND_SEED    
0C8E    C3290A       JMP FCopyToMem    
Seed for random number generation.
0C91    52C74F80    RND_SEED    0.811635    


разве что константа RND_SEED отличается (ну и адреса переходов естественно)

P.P.S. также попадаются отдельные куски вот отсюда: http://web.archive.org/web/200112121255 ... dis_17.htm


Задумал я тут написать простую программку, которая будет считать процент "заимствования" кода одной программы в другой (применительно к 8080 процессору). Вот что мне подумалось - так программа может быть перетранслирована в новую память, то адреса могут сбится, т.е. все переходы (J*, C*), если они встречаются в большем повторяющемся куске кода, следует считать совпадающими, не взирая на используемый адрес. Тоже самое касается команд чтения записи данных из памяти - LDA/STA и SHLD/LHLD. Вопрос возникает по поводу LXI - по идее в HL также можно загрузить адрес переменной и потом обращаться к ней через регистр M, т.е. такие команды тоже надо считать заведомо совпадающими? В связи с этим - чтобы исключить ложные срабатывания минимальную длину заведомо повторяющегося участка следует принять за 4 байта или даже за 5...

_________________
:dj: https://mastodon.social/@Shaos


02 Jul 2011 20:13
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Задумал я тут написать простую программку, которая будет считать процент "заимствования" кода одной программы в другой (применительно к 8080 процессору).
...

А зачем? :roll:


03 Jul 2011 01:37
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Задумал я тут написать простую программку, которая будет считать процент "заимствования" кода одной программы в другой (применительно к 8080 процессору). Вот что мне подумалось - так программа может быть перетранслирована в новую память, то адреса могут сбится, т.е. все переходы (J*, C*), если они встречаются в большем повторяющемся куске кода, следует считать совпадающими, не взирая на используемый адрес. Тоже самое касается команд чтения записи данных из памяти - LDA/STA и SHLD/LHLD. Вопрос возникает по поводу LXI - по идее в HL также можно загрузить адрес переменной и потом обращаться к ней через регистр M, т.е. такие команды тоже надо считать заведомо совпадающими? В связи с этим - чтобы исключить ложные срабатывания минимальную длину заведомо повторяющегося участка следует принять за 4 байта или даже за 5...


вот такая программа у меня получилась:

Code:
/* cmp8080.c - Alexander Shabarshin  03.07.2011 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#if 0
#define DEBUG
#endif
#define MINSEC 4

int main(int argc, char** argv)
{
 int i,j,k,g,a,m,n,p,b,f,l1,l2,ma,mb;
 FILE *f1,*f2;
 short *m1,*m2;
 if(argc<3) return -1;
 f1 = fopen(argv[1],"rb");
 if(f1==NULL) return -2;
 fseek(f1,0,SEEK_END);
 l1 = ftell(f1);
 fseek(f1,0,SEEK_SET);
 m1 = (short*)malloc(l1*2);
 if(m1==NULL){fclose(f1);return -3;}
 for(i=0;i<l1;i++) m1[i]=fgetc(f1);
 fclose(f1);
 printf("%s loaded : %i bytes\n",argv[1],l1);
 f2 = fopen(argv[2],"rb");
 if(f2==NULL) return -3;
 fseek(f2,0,SEEK_END);
 l2 = ftell(f2);
 fseek(f2,0,SEEK_SET);
 m2 = (short*)malloc(l2*2);
 if(m2==NULL){fclose(f2);return -3;}
 for(i=0;i<l2;i++) m2[i]=fgetc(f2);
 fclose(f2);
 printf("%s loaded : %i bytes\n",argv[2],l2);
 ma = -1;
 m = 0;
 p = 0;
 for(i=0;i<l1;i++)
 {
   if(m1[i]<0) continue;
#ifdef DEBUG
   printf("0x%2.2X\t%i max=%i\n",i,p,m);
#endif
   for(j=0;j<l2;j++)
   {
     if(m2[j]<0) continue;
     a=-1;
     n=0;
     k=0;
     g=1;
     while(g)
     {
       f=0;
       if(i+k<l1 && j+k<l2)
       {
         b=m1[i+k];
#ifdef DEBUG
         printf("compare m1[0x%4.4X]=0x%2.2X and m2[0x%4.4X]=0x%2.2X (k=%i a=%i)\n",i+k,b,j+k,m2[j+k],k,a);
#endif
       }
       else b=-1000;
       if(b>=0&&b==m2[j+k])
       {
         f=1;
         if(b==0x22||b==0x2A||b==0x32||b==0x3A||
            b==0xC2||b==0xC3||b==0xC4||b==0xCA||b==0xCC||b==0xCD||
            b==0xD2||b==0xD4||b==0xDA||b==0xDC||
            b==0xE2||b==0xE4||b==0xEA||b==0xEC||
            b==0xF2||b==0xF4||b==0xFA||b==0xFC) a=0;
         else if(b!=0x00&&a<0) n++;
       }
       else
       {
         if(b>=0&&(a==1||a==2)) f=1;
       }
       if(f)
       {
#ifdef DEBUG
           printf("SAME!\n");
#endif
           m1[i+k]=-m1[i+k];
           if(m1[i+k]==0) m1[i+k]=-256;
       }
       else
       {
           g=0;
           if(n>=2&&k>=MINSEC)
           {
             if(k>m){m=k;ma=i;mb=j;}
             p+=k;
#ifdef DEBUG
             printf("DETECTED %i BYTES (%i)!\n",k,n);
#endif
             while(--k>=0)
             {
               m2[j+k]=-m2[j+k];
               if(m2[j+k]==0) m2[j+k]=-256;
             }
           }
           else
           {
             while(--k>=0)
             {
               m1[i+k]=-m1[i+k];
               if(m1[i+k]==256) m1[i+k]=0;
             }
           }
       }
       if(a==2) a=-1;
       if(a>=0) a++;
       k++;
     }
   }
 }
 printf("%2.2lf percent copy (max=%i maxa=0x%4.4X maxb=0x%4.4X)\n",100.0*p/l1,m,ma,mb);
#if 1
 for(i=0;i<m;i++) printf("0x%4.4X 0x%2.2X | 0x%4.4X 0x%2.2X\n",
    ma+i,m1[ma+i]<0?(-m1[ma+i])&0xFF:-1,mb+i,m2[mb+i]<0?(-m2[mb+i])&0xFF:-1);
#endif
 free(m1);
 free(m2);
 return 0;
}


вот результаты, полученные по этой методике (сравнивал бейсики с альтаиром 4К и 8К, а также TRS-80 LEVEL1):

Code:
              size alt4k alt8k t80-l1
BAS-CIR.RKS   9750 25.18 47.70  2.52
BAS-GR.RKS    9542 25.73 48.75  2.58
BAS-KBH.RKS   8342 29.36 55.32  2.85
BAS-MAG.RKS   8710 26.06 48.46  2.90
BAS-MAG2.RKS  8582 26.45 49.14  2.90
BAS-MIC2.RKS  8198 28.35 53.48  3.04
BAS-MICR.RKS  8199 28.34 53.47  3.04
BAS-NEW.RKS  10518 23.38 44.50  2.46
BAS-RDK.RKS   3334  7.02 11.85 18.72
BAS-S.RKS     7798 31.16 59.25  3.03
BAS-SG.RKS   10518 23.32 44.23  2.41
BAS-SPEC.RKS  8198 29.82 56.40  2.90
BAS-SRV.RKS   8966 27.36 51.81  2.79
BASIC-A.RKS   6758 36.09 68.42  3.17
BASIC.RKM     6662 36.60 69.44  3.00
BASIC.RKP     8200 27.68 51.43  3.11
BASIC.RKS    16390 15.12 28.57  1.53
BASIC1.RKS   16390 15.08 28.52  1.53
BASIC2.RKS   16390 15.12 28.57  1.53
BASIC3.RKS    6758 36.06 68.42  3.23
BASIC80.RKR   6665 36.70 68.99  3.00
BASICMUS.RKR 10741 22.56 42.35  1.86
BASICPC.RKR   8201 28.30 53.33  3.07
BASICSER.RKR  7433 32.73 62.06  2.95
BASIC_OK.RKR  8201 28.23 53.46  2.83
BASIC_PR.RKR  7433 32.69 62.14  2.95
BASIC_RK.RKR  6847 35.65 67.17  2.99
BASMIC.RKR    6601 36.90 69.84  2.97
BASMIC87.RKS 17207 13.26 25.06  1.64
BASMIKR.RKR   8202 27.69 51.43  3.11


программа не идеальна - величины менее 10% наверное можно считать случайным совпадением (ложные срабатывания) - т.е. это означает, что коды мало связаны

вот самый длинный повторяющийся кусок (165 байт) в BASIC_PR.RKR из altair8k:

Code:
BASIC_PR.RKR loaded : 7433 bytes
altair8k.bin loaded : 8192 bytes
62.14 percent copy (max=165 maxa=0x11DF maxb=0x137A)
0x11DF 0x02 | 0x137A 0x02
0x11E0 0x7E | 0x137B 0x7E
0x11E1 0x23 | 0x137C 0x23
0x11E2 0xB7 | 0x137D 0xB7
0x11E3 0xCA | 0x137E 0xCA
0x11E4 0x07 | 0x137F 0xA6
0x11E5 0x12 | 0x1380 0x13
0x11E6 0xE5 | 0x1381 0xE5
0x11E7 0xEB | 0x1382 0xEB
0x11E8 0x1E | 0x1383 0x1E
0x11E9 0x08 | 0x1384 0x08
0x11EA 0x1F | 0x1385 0x1F
0x11EB 0x57 | 0x1386 0x57
0x11EC 0x79 | 0x1387 0x79
0x11ED 0xD2 | 0x1388 0xD2
0x11EE 0xF4 | 0x1389 0x93
0x11EF 0x11 | 0x138A 0x13
0x11F0 0xD5 | 0x138B 0xD5
0x11F1 0x11 | 0x138C 0x11
0x11F2 0x00 | 0x138D 0x00
0x11F3 0x00 | 0x138E 0x00
0x11F4 0x19 | 0x138F 0x19
0x11F5 0xD1 | 0x1390 0xD1
0x11F6 0xCE | 0x1391 0xCE
0x11F7 0x00 | 0x1392 0x00
0x11F8 0x1F | 0x1393 0x1F
0x11F9 0x4F | 0x1394 0x4F
0x11FA 0x7C | 0x1395 0x7C
0x11FB 0x1F | 0x1396 0x1F
0x11FC 0x67 | 0x1397 0x67
0x11FD 0x7D | 0x1398 0x7D
0x11FE 0x1F | 0x1399 0x1F
0x11FF 0x6F | 0x139A 0x6F
0x1200 0x78 | 0x139B 0x78
0x1201 0x1F | 0x139C 0x1F
0x1202 0x47 | 0x139D 0x47
0x1203 0x1D | 0x139E 0x1D
0x1204 0x7A | 0x139F 0x7A
0x1205 0xC2 | 0x13A0 0xC2
0x1206 0xE6 | 0x13A1 0x85
0x1207 0x11 | 0x13A2 0x13
0x1208 0xEB | 0x13A3 0xEB
0x1209 0xE1 | 0x13A4 0xE1
0x120A 0xC9 | 0x13A5 0xC9
0x120B 0x43 | 0x13A6 0x43
0x120C 0x5A | 0x13A7 0x5A
0x120D 0x51 | 0x13A8 0x51
0x120E 0x4F | 0x13A9 0x4F
0x120F 0xC9 | 0x13AA 0xC9
0x1210 0xCD | 0x13AB 0xCD
0x1211 0xF2 | 0x13AC 0x91
0x1212 0x12 | 0x13AD 0x14
0x1213 0x01 | 0x13AE 0x01
0x1214 0x20 | 0x13AF 0x20
0x1215 0x84 | 0x13B0 0x84
0x1216 0x11 | 0x13B1 0x11
0x1217 0x00 | 0x13B2 0x00
0x1218 0x00 | 0x13B3 0x00
0x1219 0xCD | 0x13B4 0xCD
0x121A 0x02 | 0x13B5 0xA1
0x121B 0x13 | 0x13B6 0x14
0x121C 0xC1 | 0x13B7 0xC1
0x121D 0xD1 | 0x13B8 0xD1
0x121E 0xEF | 0x13B9 0xEF
0x121F 0xCA | 0x13BA 0xCA
0x1220 0xD3 | 0x13BB 0xC9
0x1221 0x02 | 0x13BC 0x02
0x1222 0x2E | 0x13BD 0x2E
0x1223 0xFF | 0x13BE 0xFF
0x1224 0xCD | 0x13BF 0xCD
0x1225 0x8A | 0x13C0 0x29
0x1226 0x12 | 0x13C1 0x14
0x1227 0x34 | 0x13C2 0x34
0x1228 0x34 | 0x13C3 0x34
0x1229 0x2B | 0x13C4 0x2B
0x122A 0x7E | 0x13C5 0x7E
0x122B 0x32 | 0x13C6 0x32
0x122C 0x49 | 0x13C7 0xE8
0x122D 0x12 | 0x13C8 0x13
0x122E 0x2B | 0x13C9 0x2B
0x122F 0x7E | 0x13CA 0x7E
0x1230 0x32 | 0x13CB 0x32
0x1231 0x45 | 0x13CC 0xE4
0x1232 0x12 | 0x13CD 0x13
0x1233 0x2B | 0x13CE 0x2B
0x1234 0x7E | 0x13CF 0x7E
0x1235 0x32 | 0x13D0 0x32
0x1236 0x41 | 0x13D1 0xE0
0x1237 0x12 | 0x13D2 0x13
0x1238 0x41 | 0x13D3 0x41
0x1239 0xEB | 0x13D4 0xEB
0x123A 0xAF | 0x13D5 0xAF
0x123B 0x4F | 0x13D6 0x4F
0x123C 0x57 | 0x13D7 0x57
0x123D 0x5F | 0x13D8 0x5F
0x123E 0x32 | 0x13D9 0x32
0x123F 0x4C | 0x13DA 0xEB
0x1240 0x12 | 0x13DB 0x13
0x1241 0xE5 | 0x13DC 0xE5
0x1242 0xC5 | 0x13DD 0xC5
0x1243 0x7D | 0x13DE 0x7D
0x1244 0xD6 | 0x13DF 0xD6
0x1245 0x00 | 0x13E0 0x00
0x1246 0x6F | 0x13E1 0x6F
0x1247 0x7C | 0x13E2 0x7C
0x1248 0xDE | 0x13E3 0xDE
0x1249 0x00 | 0x13E4 0x00
0x124A 0x67 | 0x13E5 0x67
0x124B 0x78 | 0x13E6 0x78
0x124C 0xDE | 0x13E7 0xDE
0x124D 0x00 | 0x13E8 0x00
0x124E 0x47 | 0x13E9 0x47
0x124F 0x3E | 0x13EA 0x3E
0x1250 0x00 | 0x13EB 0x00
0x1251 0xDE | 0x13EC 0xDE
0x1252 0x00 | 0x13ED 0x00
0x1253 0x3F | 0x13EE 0x3F
0x1254 0xD2 | 0x13EF 0xD2
0x1255 0x5A | 0x13F0 0xF9
0x1256 0x12 | 0x13F1 0x13
0x1257 0x32 | 0x13F2 0x32
0x1258 0x4C | 0x13F3 0xEB
0x1259 0x12 | 0x13F4 0x13
0x125A 0xF1 | 0x13F5 0xF1
0x125B 0xF1 | 0x13F6 0xF1
0x125C 0x37 | 0x13F7 0x37
0x125D 0xD2 | 0x13F8 0xD2
0x125E 0xC1 | 0x13F9 0xC1
0x125F 0xE1 | 0x13FA 0xE1
0x1260 0x79 | 0x13FB 0x79
0x1261 0x3C | 0x13FC 0x3C
0x1262 0x3D | 0x13FD 0x3D
0x1263 0x1F | 0x13FE 0x1F
0x1264 0xFA | 0x13FF 0xFA
0x1265 0x09 | 0x1400 0xA8
0x1266 0x11 | 0x1401 0x12
0x1267 0x17 | 0x1402 0x17
0x1268 0x7B | 0x1403 0x7B
0x1269 0x17 | 0x1404 0x17
0x126A 0x5F | 0x1405 0x5F
0x126B 0x7A | 0x1406 0x7A
0x126C 0x17 | 0x1407 0x17
0x126D 0x57 | 0x1408 0x57
0x126E 0x79 | 0x1409 0x79
0x126F 0x17 | 0x140A 0x17
0x1270 0x4F | 0x140B 0x4F
0x1271 0x29 | 0x140C 0x29
0x1272 0x78 | 0x140D 0x78
0x1273 0x17 | 0x140E 0x17
0x1274 0x47 | 0x140F 0x47
0x1275 0x3A | 0x1410 0x3A
0x1276 0x4C | 0x1411 0xEB
0x1277 0x12 | 0x1412 0x13
0x1278 0x17 | 0x1413 0x17
0x1279 0x32 | 0x1414 0x32
0x127A 0x4C | 0x1415 0xEB
0x127B 0x12 | 0x1416 0x13
0x127C 0x79 | 0x1417 0x79
0x127D 0xB2 | 0x1418 0xB2
0x127E 0xB3 | 0x1419 0xB3
0x127F 0xC2 | 0x141A 0xC2
0x1280 0x3D | 0x141B 0xDC
0x1281 0x12 | 0x141C 0x13
0x1282 0xE5 | 0x141D 0xE5
0x1283 0x21 | 0x141E 0x21


Lavr wrote:
А зачем? :roll:


Чтобы узнать насколько радиолюбители Советского Союза обязаны Биллу Гейцу...
Ну и вообще - интересно было померять уровень плагиата в программках для 8080 :roll:

_________________
:dj: https://mastodon.social/@Shaos


Last edited by Shaos on 03 Jul 2011 02:58, edited 1 time in total.



03 Jul 2011 02:15
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
А зачем? :roll:

Чтобы узнать насколько радиолюбители Советского Союза обязаны Биллу Гейцу...

Опасная затея - люди Билла прочитают, дык изыщут возможность возместить себе
то, что им радиолюбители Советского Союза "обязаны"... :-?
Посадят всех нафиг в долговую яму с процентами, как директора школы Поносова. :roll:


03 Jul 2011 02:24
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
Lavr wrote:
А зачем? :roll:

Чтобы узнать насколько радиолюбители Советского Союза обязаны Биллу Гейцу...

Опасная затея - люди Билла прочитают, дык изыщут возможность возместить себе
то, что им радиолюбители Советского Союза "обязаны"... :-?
Посадят всех нафиг в долговую яму с процентами, как директора школы Поносова. :roll:


ну его древние бейсики во всём мире юзали бесплатно - не зря же он своё знаменитое письмо к хоббистам написал
микрософт деньги в основном от производителей компьютеров получал за встраивание ихнего бейсика в ром, а не от отдельных пользователей

P.S. у него кстати Easter Eggs в коде были: http://www.pagetable.com/?p=43

_________________
:dj: https://mastodon.social/@Shaos


03 Jul 2011 02:45
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
добавил в программу игнорирование аргумента команд LXI:

Code:
#ifdef WITHLXI
            b==0x01||b==0x11||b==0x21||b==0x31||
#endif


получилось вот что:

> cmp8080 BASIC_RK.RKR altair8k.bin
BASIC_RK.RKR loaded : 6847 bytes
altair8k.bin loaded : 8192 bytes
69.30 percent copy (max=412 maxa=0x11F8 maxb=0x1393)

> cmp8080 BASIC_PR.RKR altair8k.bin
BASIC_PR.RKR loaded : 7433 bytes
altair8k.bin loaded : 8192 bytes
63.88 percent copy (max=812 maxa=0x1068 maxb=0x1203)

> cmp8080 BASMIC.RKR altair8k.bin
BASMIC.RKR loaded : 6601 bytes
altair8k.bin loaded : 8192 bytes
72.23 percent copy (max=399 maxa=0x1068 maxb=0x1203)

т.е. самый длинный повторяющийся кусок - 812 байт, а самый большой процент - 72.23%

возможно существует ещё какая-то версия микрософтовского бейсика-80, от которой как раз непосредственно и произошли все советские бейсики, но я её пока не нашёл...

P.S. нашёл описание микрософтовского бейсика версии 5:

http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf

_________________
:dj: https://mastodon.social/@Shaos


Last edited by Shaos on 03 Jul 2011 11:29, edited 5 times in total.



03 Jul 2011 11:16
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf

А ВАСЮКИ - компиляторы у тебя есть?


03 Jul 2011 11:23
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf

А ВАСЮКИ - компиляторы у тебя есть?


нету и специально не искал - в инете поди есть

_________________
:dj: https://mastodon.social/@Shaos


03 Jul 2011 11:24
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
Shaos wrote:
нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf

А ВАСЮКИ - компиляторы у тебя есть?

нету и специально не искал - в инете поди есть

У меня есть - СР/М-овский вариант. Правда глючил он и толком не работал.
Паскаль-компилятор СР/М-овский и то лучше работал...


03 Jul 2011 11:30
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
Lavr wrote:
Shaos wrote:
нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf

А ВАСЮКИ - компиляторы у тебя есть?

нету и специально не искал - в инете поди есть

У меня есть - СР/М-овский вариант. Правда глючил он и толком не работал.
Паскаль-компилятор СР/М-овский и то лучше работал...


а да - в архивах CP/M чегой-то было
кстати CP/M-овский MBASIC.COM (который интерпретатор) уже непохож на эти бейсики
прародитель был где-то между...

_________________
:dj: https://mastodon.social/@Shaos


03 Jul 2011 12:14
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22619
Location: Silicon Valley
Reply with quote
Post 
Выложил последнюю версию программы на SourceForge:

http://nedopc.cvs.sourceforge.net/viewv ... c?view=log

_________________
:dj: https://mastodon.social/@Shaos


03 Jul 2011 17:55
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 156 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 11  Next

Who is online

Users browsing this forum: Google [Bot] and 37 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.