откуда растут уши у советских бейсиков
Moderator: Shaos
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Микро/80 это который в 82х-83х годах до РКшки публиковался?
А бэйсик Сервис я помню! В старом здании кружка юзали, до появления Практик... У нас было несколько игрушек, которые по факту были бэйсиковыми, грузились вместе с бэйсиком одним блоком, а бэйсик был пропатчен на автозапуск программы. Монополия, Карате...
Ооо, че я подумал! Я слышал, что толи Васик-Сервис, толи Микрон был адаптирован под Z80. А раз у всех ядра схожие, то и другие можно адаптировать тем же методом, так?
А бэйсик Сервис я помню! В старом здании кружка юзали, до появления Практик... У нас было несколько игрушек, которые по факту были бэйсиковыми, грузились вместе с бэйсиком одним блоком, а бэйсик был пропатчен на автозапуск программы. Монополия, Карате...
Ооо, че я подумал! Я слышал, что толи Васик-Сервис, толи Микрон был адаптирован под Z80. А раз у всех ядра схожие, то и другие можно адаптировать тем же методом, так?
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Шевцов пишет, что при переносе ВАСЮКОВ под Z80 основная проблема -HardWareMan wrote:Ооо, че я подумал! Я слышал, что толи Васик-Сервис, толи Микрон был адаптирован под Z80. А раз у всех ядра схожие, то и другие можно адаптировать тем же методом, так?
это разница в исполнении RST, т.к. они обширно используются.
Вторая проблема - это использование недокументированных кодов К580
для защиты некоторых "фирменных" программ, для ВАСЮКОВ не так характерна,
как для игр...
Я хотел выложить оригинал Шевцова по адаптации - но что-то под руку
прям не попадается, но у Фифана - должен быть.
-
- Devil
- Posts: 905
- Joined: 26 May 2003 06:57
Это с каких таких пор RST на Z80 по-другому работает?Lavr wrote:под Z80 основная проблема -
это разница в исполнении RST, т.к. они обширно используются.

Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
За чо прочитал - за то и пересказываю. Можно обратиться к первоисточнику,b2m wrote:Это с каких таких пор RST на Z80 по-другому работает?Lavr wrote:под Z80 основная проблема -
это разница в исполнении RST, т.к. они обширно используются.
сам не переносил, и не вникал в эти проблемы, а с учетом наступившей жары,
даже что-то и не хочу...
PS. Я смотрю по своим архивам, найду - выложу...
PPS. С RST - виноват, был неправ, автора переврал...

Shaos отпочковал статью Шевцова в форум по Специалисту: viewtopic.php?t=9632
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Задумал я тут написать простую программку, которая будет считать процент "заимствования" кода одной программы в другой (применительно к 8080 процессору). Вот что мне подумалось - так программа может быть перетранслирована в новую память, то адреса могут сбится, т.е. все переходы (J*, C*), если они встречаются в большем повторяющемся куске кода, следует считать совпадающими, не взирая на используемый адрес. Тоже самое касается команд чтения записи данных из памяти - LDA/STA и SHLD/LHLD. Вопрос возникает по поводу LXI - по идее в HL также можно загрузить адрес переменной и потом обращаться к ней через регистр M, т.е. такие команды тоже надо считать заведомо совпадающими? В связи с этим - чтобы исключить ложные срабатывания минимальную длину заведомо повторяющегося участка следует принять за 4 байта или даже за 5...Shaos wrote:вот это вот басик (RDK PROMPT BASIC V3.2 3K) не похож на гейтсовский (хотя позже выяснилось, что таки похож - на басик LEVEL1 для TRS-80):Lavr wrote:Интересно, а альтернативные i8080 ВАСИКИ есть, если код посмотреть?
Не все же прародил БГ?а у всех остальных таблица токенов (находящяяся где-то вначале, где-то в конце, где-то меньше, где-то больше) говорит о том, что их оригинальный автор - биллогейц:Code: Select all
-rw-r--r-- 1 shaos users 3334 Mar 28 1999 BAS-RDK.RKS
P.S. ещё один кусок явно есть: http://web.archive.org/web/200112252059 ... dis_12.htmCode: Select all
-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
разве что константа RND_SEED отличается (ну и адреса переходов естественно)Code: Select all
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
P.P.S. также попадаются отдельные куски вот отсюда: http://web.archive.org/web/200112121255 ... dis_17.htm
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
вот такая программа у меня получилась:Shaos wrote:Задумал я тут написать простую программку, которая будет считать процент "заимствования" кода одной программы в другой (применительно к 8080 процессору). Вот что мне подумалось - так программа может быть перетранслирована в новую память, то адреса могут сбится, т.е. все переходы (J*, C*), если они встречаются в большем повторяющемся куске кода, следует считать совпадающими, не взирая на используемый адрес. Тоже самое касается команд чтения записи данных из памяти - LDA/STA и SHLD/LHLD. Вопрос возникает по поводу LXI - по идее в HL также можно загрузить адрес переменной и потом обращаться к ней через регистр M, т.е. такие команды тоже надо считать заведомо совпадающими? В связи с этим - чтобы исключить ложные срабатывания минимальную длину заведомо повторяющегося участка следует принять за 4 байта или даже за 5...
Code: Select all
/* 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;
}
Code: Select all
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
вот самый длинный повторяющийся кусок (165 байт) в BASIC_PR.RKR из altair8k:
Code: Select all
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:А зачем?
Ну и вообще - интересно было померять уровень плагиата в программках для 8080

Last edited by Shaos on 03 Jul 2011 02:58, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Опасная затея - люди Билла прочитают, дык изыщут возможность возместить себеShaos wrote:Чтобы узнать насколько радиолюбители Советского Союза обязаны Биллу Гейцу...Lavr wrote:А зачем?
то, что им радиолюбители Советского Союза "обязаны"...

Посадят всех нафиг в долговую яму с процентами, как директора школы Поносова.

-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
ну его древние бейсики во всём мире юзали бесплатно - не зря же он своё знаменитое письмо к хоббистам написалLavr wrote:Опасная затея - люди Билла прочитают, дык изыщут возможность возместить себеShaos wrote:Чтобы узнать насколько радиолюбители Советского Союза обязаны Биллу Гейцу...Lavr wrote:А зачем?
то, что им радиолюбители Советского Союза "обязаны"...![]()
Посадят всех нафиг в долговую яму с процентами, как директора школы Поносова.
микрософт деньги в основном от производителей компьютеров получал за встраивание ихнего бейсика в ром, а не от отдельных пользователей
P.S. у него кстати Easter Eggs в коде были: http://www.pagetable.com/?p=43
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
добавил в программу игнорирование аргумента команд LXI:
получилось вот что:
> 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
Code: Select all
#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
Last edited by Shaos on 03 Jul 2011 11:29, edited 5 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
А ВАСЮКИ - компиляторы у тебя есть?Shaos wrote:нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
нету и специально не искал - в инете поди естьLavr wrote:А ВАСЮКИ - компиляторы у тебя есть?Shaos wrote:нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
У меня есть - СР/М-овский вариант. Правда глючил он и толком не работал.Shaos wrote:нету и специально не искал - в инете поди естьLavr wrote:А ВАСЮКИ - компиляторы у тебя есть?Shaos wrote:нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf
Паскаль-компилятор СР/М-овский и то лучше работал...
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
а да - в архивах CP/M чегой-то былоLavr wrote:У меня есть - СР/М-овский вариант. Правда глючил он и толком не работал.Shaos wrote:нету и специально не искал - в инете поди естьLavr wrote:А ВАСЮКИ - компиляторы у тебя есть?Shaos wrote:нашёл описание микрософтовского бейсика версии 5:
http://www.bitsavers.org/pdf/microsoft/ ... e_1979.pdf
Паскаль-компилятор СР/М-овский и то лучше работал...
кстати CP/M-овский MBASIC.COM (который интерпретатор) уже непохож на эти бейсики
прародитель был где-то между...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Выложил последнюю версию программы на SourceForge:
http://nedopc.cvs.sourceforge.net/viewv ... c?view=log
http://nedopc.cvs.sourceforge.net/viewv ... c?view=log
Я тут за главного - если что шлите мыло на me собака shaos точка net