@t[Spectrumozok]~~META:date created = 2014-02-26~~ Vajon hányan olvastuk ezt a programlistát huszonkilenc évvel ezelőtt? {{140226-1.gif}} {{140226-2.gif}} Azt hiszem, nagyon sokan. Az //Ismerd meg a BASIC nyelvjárásait// sorozat meghatározó jelentőségű volt a magyar számítástechnika történetében. De vajon hányan pötyögtük be ezt a programot és próbáltuk ki, hogy voltaképpen mit játszik? Hányan akkor, a nyolcvanas évek második felében? Hányan a kilencvenes években?… és hányan ma? Hát én most megtettem: begépeltem a listát egy valódi [[http://upload.wikimedia.org/wikipedia/commons/3/33/ZXSpectrum48k.jpg|Spectrum]]ba, ami csupán annyiban különbözik egy valóban valódi Spectrumtól, hogy [[https://play.google.com/store/apps/details?id=cz.dejvice.rc.Marvin|Android.]] Spectrumon már eleve gépelni is egy kaland, én persze tudok, bár sose láttam eleven Spectrumot, úgy értem, döglöttet se. Csak képen, meg emulátorokat. Tessék a [[http://lattilad.org/store/hejdunarol_z80.zip|program]] Z80 formátumban; ki kell bontani a zipből, a Marvin könyvtárába kell másolni és betölteni mint state-et. Mint a file-név is mutatja, azt játssza, hogy hej, Dunáról fúj a szél. Mostanában jókat játszom Spectrummal, mindmáig a legszebb házi számítógépnek tartom, és a korszak egyik legjobb nyelvének érzem a BASIC-jét. Pillanatok alatt lehet írni kis grafikai demókat, például: 10 RANDOMIZE 20 LET c$="▝▘▀▗▐▚▜ " 30 PRINT INK RND*7; INVERSE RND;c$(RND*7+1); 40 GO TO 30 A 20. sorban a grafikus karakterek vannak GRAPHICS 1-től 8-ig. A PRINT-be be lehet tenni egy BRIGHT RND-t is, de szebb így. Én várostérképnek neveztem el; kicsit mondrianos vagy mit tudom én, de jópofa, és végeredményben egyetlen sor a lényeg. Vagy itt van ez: 5 DIM p(8) 6 FOR a=1 TO 8: LET p(a)=2↑(a-1): NEXT a 10 LET chargen=15616 20 FOR c=0 TO 95 30 FOR b=0 TO 7 40 LET byte=PEEK (chargen+c*8+b) 50 FOR i=0 TO 7 60 IF byte-p(8-i)>=0 THEN PLOT i*2,16-b*2: DRAW 1,0: DRAW 0,1: DRAW -1,0: LET byte=byte-p(8-i) 70 NEXT i 80 NEXT b 90 NEXT c Ez kirajzolja a karaktermemóriából az összes karakter felnagyított képét (a blokkgrafikusok kivételével, azok nem ott vannak), méghozzá egymásra, amiből kiderül, hogy a Spectrum karaktermátrixának hét olyan pixelje van, ami egyetlen nemgrafikus karakternél sincsen használva. (15 OVER 1 beiktatásával érdekesen változó képet kapunk.) Végül egy kis Lissajous-program, amiben az a klassz, hogy emlékezetből írtam, még mindig tudom a képletét. 10 LET a=5: LET b=3 20 LET x=0: LET y=0 30 FOR r=0 TO 360 40 IF x<>0 THEN DRAW INK RND*6,x-px,y-py 50 LET px=x: LET py=y 60 LET x=128+120*SIN (r*a) 70 LET y=88+80*COS (r*b) 80 NEXT r A véletlenszerű színezés jól demonstrálja a Spectrum kockás grafikáját. Fantasztikus dolog, hogy a profik erre a gépre olyan szép grafikájú programokat tudtak írni. @blogf[! ZX_Spectrum számtech programozás]