Немного программ для PicoCalc

 Долго разбирался, как переносить файлы с PicoCalc - не было кабеля, не нашелся адаптер для SD. Сегодня осилил задачу - подцепил к лаптопу и на счастье Windows 10 определила этот самый порт, который не запускался на Windows 7. Скачал Tera Term и после нескольких попыток получил файлы. Причина глюков - настройки:


Набрал команду XMODEM SEND "blt.bas", в программе выбрал команду меню File->Transfer->XMODEM->Recieve..., указал расположение файла и стал ждать.


Классический эффект Insult MegaDemo. Заморочка в том, что обращение к памяти LCD медленное, поэтому создаются буферы, на которых можно рисовать и копировать  данные в видеопамять. Но все равно выходит медленно :(

CLS
FRAMEBUFFER LAYER
FRAMEBUFFER WRITE L
Dim integer t(256)
For i=0 To 255
t(i)=Int(64+63*Sin(i*Pi/128))
Next i
Dim a0 As integer
Dim b0 As integer
Dim a As integer
Dim b As integer
For i=0 To 319
y1=Int(80+80*Sin(Pi*i/160))
y2=Int(80+40*Sin(Pi*i/160*1.7))
Line i,y1,i,y2,,&Hffffff)
Next i
FRAMEBUFFER WRITE N
CLS
Do
a=a0
b=b0
For y=0 To 319
h=t(a)+t(b)
Blit FRAMEBUFFER L,N,0,h,0,y,320,1
a=(a+3) And 255
b=(b+2) And 255
Next y
a0=(a0+3) And 255
b0=(b0+5) And 255
Loop Until Inkey$=Chr$(27)

Здесь у каждого буфера есть свой код: N-экран, L-созданный(хз почему такое имя)

Еще один классический алгоритм называется Space Invaders Fractal. Рисуется медленно
Randomize &h12345
Dim integer w(8)
'precalc
For i=0 To 7
b1%=1
b2%=16
v%=i
For j=0 To 2
If (v% And b1%) Then v%=(v% Or b2%)
b1%=b1%+b1%
b2%=b2%/2
Next j
w(i)=v%
'Print i,v%
Next i

CLS

For x1=0 To 39
For y1=0 To 39

Do
co=Rnd()*&hffffff
Loop Until co

For yy=0 To 4
s%=Int(7*Rnd())
b1%=16
s%=w(s%)
For xx=0 To 4
If (s% And b1%) Then
Pixel x1*8+xx,y1*8+yy,co'&hffffff
EndIf
b1%=b1%/2
Next xx
Next yy
Next y1
Next x1


Не дождался, когда картинка нарисуется, вышел еще один тормозной эффект

y%=0
Do
Blit 0,1,0,0,320,319
For x=0 To 319
If (x Xor y%) Mod 9 <>0 Then
c=0
Else
c=&hffffff
EndIf
Pixel x,319,c
Next x
y%=y%+1
Loop Until Inkey$=Chr$(27)

Пока нет идеи, как ускорить работу, но я надеюсь на чудо (:

Продолжение следует.


Комментарии