In the wake of having watched The #Python Documentary last night, I re-read a few articles on the walrus operator.
People behaved like a bunch of baboons. It's OK not to like every change that comes down the pipe, but for goodness sake be respectful of the people who make themselves large targets as a result of their generous donations of time and effort.
Even after a thorough review of the docs and all the opinions, I can't honestly say I love it, but I will try and be open minded about the idea that if the moment ever comes where it really makes sense in my code, I'll use it.
long BASIC listing (MAZE.BAS)
1 DATA 201,84,208,15,32,177,0,32,248, 230,138,72,32,183,0,201,44,240,3,76,201,222,32,177,0,32,248,230
2 FOR I = 768 TO 833: READ P: POKE I,P: NEXT I
3 DATA 104,134,3,134,1,133,0,170,160,1,132,2,173,48,192,136,208,4,198
4 DATA 1,240,7,202,208,246,166,0,208,239,165,3,133,1,198,2,208,241,96
5 POKE 1013,76: POKE 1014,0: POKE 1015,3
10 TEXT : HOME
90 GOSUB 2000
100 DIM FC(5,7): DIM FC$(5)
105 FC$(1) = "NORTH": FC$ (2) = "SOUTH":FC$(3) = "EAST":FC$(4) = "WEST"
110 FOR B = 1 TO 4: FOR I = 1 TO 6: READ FC(B,I): NEXT : NEXT
115 GOTO 155
120 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0 TO 69,29 TO 209,29 TO 209,129 TO 69,129 TO 69,29: HPLOT 209,29 TO 279,0: HPLOT 209,129 TO 279,159: HPLOT 69,129 TO 0,159: RETURN
125 RETURN
130 HPLOT 109,9 TO 169,9 TO 159,19 TO 119,19 TO 109,9: HPLOT 119,19 TO 119,9: HPLOT 159,19 TO 159,9: RETURN
135 HPLOT 119,139 TO 159,139 TO 169,149 TO 109,149 TO 119,139: HPLOT 119,139 TO 119,149: HPLOT 159,139 TO 159,149: RETURN
140 HPLOT 19,39 TO 49,49 TO 49,139: HPLOT 19,149 TO 19,39: HPLOT 19,139 TO 49,139: HPLOT 19,49 TO 49,49: RETURN
145 HPLOT 119,59 TO 159,59 TO 159,129 TO 119,129 TO 119,59 TO 129,69 TO 149,69 TO 149,119 TO 129,119 TO 129,69: HPLOT 149,69 TO 159,59: HPLOT 149,119 TO 159,129: HPLOT 129,119 TO 119,129: RETURN
150 HPLOT 229,49 TO 259,39 TO 259,149:HPLOT 229,139 TO 229,49: HPLOT 229,49 TO 259,49: HPLOT 229,139 TO 259,139: RETURN
155 DIM S$(6,6)
160 INPUT "RESTART OLD MAZE ";Y$: IF LEFT$(Y$,1) _ "Y" THEN 1360
165 FOR A = 1 TO 5: FOR X = 1 TO 5: FOR Y = 1 TO 5
167 & T10 * A + 10 * X + 10 * Y,10
170 IF A < > 5 AND RND (1) < .80 THEN S$(X,A) = S$(X,A) + "0": GOTO 180
175 S$(X,A) = S$(X,A) + "X"
180 IF MID$ (S$(X,A - 1),(Y - 1) * 6 + 1,1) = "0" THEN S$(X,A) = S$(X,A) + "0": GOTO 190
185 S$(X,A) = S$(X,A) + "X"
190 IF Y - 2 < 0 THEN 200
195 IF MID$ (S$(X,A),(Y - 2) * 6 + 4,1) = "0" THEN S$(X,A) = S$(X,A) + "0": GOTO 205
200 S$(X,A) = S$(X,A) + "X"
205 IF Y < > 5 AND RND (1) < .8 THEN S$(X,A) = S$(X,A) + "0": GOTO 215
210 S$(X,A) = S$(X,A) + "X"
215 IF X < > 5 AND RND (1) < .8 THEN S$(X,A) = S$(X,A) + "0": GOTO 225
220 S$(X,A) = S$(X,A) + "X"
225 IF MID$ (S$(X - 1,A),(Y - 1) * 6 + 5,1) = "0" THEN S$(X,A) = S$(X,A) + "0": GOTO 235
230 S$(X,A) = S$(X,A) + "X"
235 NEXT : NEXT : NEXT
240 X = INT ( RND (1) * 3) + 2:Y = INT( RND (1) * 3) + 2:A = INT ( RND(1) * 3) + 2
245 RD = INT ( RND (1) * 6) + 1: ON RD GOTO 250,255,260,265,270,275
250 A = 5:P1$ = LEFT$ (S$(X,A),(Y - 1) * 6):L = 29 - LEN (P1$):P2$ = RIGHT$(S$(X,A),L):S$(X,A) = P1$ + "0" + P2$: GOTO 280
255 A = 1:P1$ = LEFT$ (S$(X,A),(Y - 1) * 6 + 1):L = 29 - LEN (P1$):P2$ = RIGHT$ (S$(X,A),L):S$(X,A) = P1$ + "0" + P2$: GOTO 280
260 Y = 5:P1$ = LEFT$ (S$(X,A),(Y - 1) * 6 + 3):L = 29 - LEN (P1$):P2$ = RIGHT$ (S$(X,A),L):S$(X,A) = P1$ + "0" + P2$: GOTO 280
265 Y = 1:P1$ = LEFT$ (S$(X,A),(Y - 1) * 6 + 2):L = 29 - LEN (P1$):P2$ = RIGHT$ (S$(X,A),L):S$(X,A) = P1$ + "0" + P2$: GOTO 280
270 X = 5:P1$ = LEFT$ (S$(X,A),(Y - 1) * 6 + 4):L = 29 - LEN (P1$):P2$ = RIGHT$ (S$(X,A),L):S$(X,A) = P1$ + "0" + P2$: GOTO 280
275 X = i:Pl$ = LEFT$ (S$(X,A),(Y - 1) * 6 + 5):L = 29 - LEN (P1$):P2$ = RIGHT$ (S$(X,A),L)tS$(X,A) - P1$ + "0" + P2$: GOTO 280
280 SX = X: SY = Y: SA = A
290 VTAB 23: PRINT "HIT ANY KEY TO START"
300 IF PEEK ( - 16384) < 127 THEN 300
310 POKE - 16368,00
1000 X = INT ( RND (1) * 5) + 1:Y = INT( RND (1) # 5) + 1:A = INT ( RND(1) * 5) + 1:FC = 1: GOTO 1220
1010 HOME : VTAB 22: HTAB 18: PRINT FC,$(FC):A$ = "":D = 0: IF LS = 1 THEN PRINT X,Y,A
1020 VTAB 22: PRINT "TIME :";T: FOR TIME = 1 TO 80
1025 IF PEEK ( - 16384) > 127 THEN 1030
1027 NEXT :T = T + 1: VTAB 22: PRINT "TIME :";T: GOTO 1020
1030 GET A$
1035 IF A$ = "*" THEN LS = 1
1040 IF A$ = "Q" THEN 1300
1050 IF A$ = "U" THEN D = 1
1060 IF A$ = "D" THEN D = 2
1070 IF A$ = "N" THEN D = 3
1080 IF A$ = "S" THEN D = 4
1090 IF A$ = "E" THEN D = 5
1100 IF A$ = "?" THEN 1290
1110 IF A$ = "W" THEN D = 6
1120 IF A$ = "F" THEN GOTO 1280
1130 IF D = 0 THEN 1010
1135 T = T + 1
1140 IF MID$ (S$(X,A),(Y - 1) * 6 + D,1) < > "0" THEN PRINT CHR$ (7): GOTO 1010
1150 ON D GOTO 1160,1170,1180,1190,1200,1210
1160 A = A + 1: GOTO 1220
1170 A = A - 1: GOTO 1220
1180 Y = Y - 1: GOTO 1220
1190 Y = Y + 1: GOTO 1220
1200 X = X + 1: GOTO 1220
1210 X = X - 1: GOTO 1220
1220 IF X > 5 OR X < 1 OR Y > 5 OR Y < 1 OR A > 5 OR A < 1 THEN PRINT "YOU WIN": & T100,100: & T100,50: &T100,50: &T75,66: & T100,66: &T75,66: &T60,255: GOTO 3000
1230 HGR : HCOLOR= 3: HPLOT 0,0: CALL 62454: HCOLOR= 0: GOSUB 120
1240 FOR I = 1 TO 6: IF MID$ (S$(X,A),(Y - 1) *6+ I,1) = "X" THEN NEXT: GOTO 1010
1250 R = FC(FC,I) + 1
1260 HCOLOR= 0: ON R GOSUB 125,130,135,140,145,150
1270 NEXT : GOTO 1010
1280 INPUT "WHAT FACING 1-N 2-S 3-E 4-W";FC: IF FC < 1 OR FC > 4 THEN 1280
1285 GOTO 1220
1290 INVERSE : HTAB 18: PRINT SX;" ";SY;" ";SA: NORMAL : GOTO 1220
1300 PRINT "DO YOU WANT TO SAVE THIS MAZE": INPUT Y$: IF LEFT$ (Y$,1) <> "Y" THEN GOTO 3000
1310 INPUT "WHAT DO YOU WANT TO CALL IT ";N$
1320 D$ = CHR$ (4)
1330 PRINT D$;"OPEN OLD MAZE/";N$: PRINT D$;"WRITE OLD MAZE?";N$
1340 FOR A1 = 1 TO 5: FOR X1 = 1 TO 5:PRINT S$(X1,A1): NEXT : NEXT : PRINT X: PRINT Y: PRINT A: PRINT T: PRINT FC
1350 PRINT D$;"CLOSE OLD MAZE/";N$: GOTO 3000
1360 INPUT "WHAT IS ITS NAME ";N$
1370 D$ = CHR$ (4)
1380 PRINT D$;"OPEN OLD MAZE/";N$: PRINT D$;"READ OLD MAZE/";N$
1390 FOR A1 = 1 TO 5: FOR X1 = 1 TO 5:INPUT S$(XI,Al): NEXT : NEXT : INPUT X: INPUT Y: INPUT A: INPUT T: INPUT FC
1400 PRINT D$;"CLOSE OLD MAZE/";N$: GOTO 1220
2000 VTAB 12: HTAB 18: INVERSE : PRINT "MAZE": NORMAL : VTAB 22: INPUT "DO YOU WANT INSTRUCTIONS ";Y$: IF LEFT$(Y$,1) < > "Y" THEN RETURN
2010 HOME : PRINT "THE OBJECT OF MAZE IS TO FIND YOUR WAY": PRINT : PRINT "OUT OF A 5X5X5 CUBIC MAZE. IN ONE OF THE": PRINT "ROOMS THERE IS AN EXIT OUT OF THE MAZE."
2020 PRINT : PRINT "YOU MUST TRY TO FIND IT IN AS FEW TURNS ": PRINT "AS POSSIBLE. THE COMMANDS ARE ."
2030 PRINT : HTAB 6: INVERSE : PRINT "U";: NORMAL : PRINT "-UP";: HTAB 17: INVERSE : PRINT "S";: NORMAL : PRINT "-SOUTH"
2040 PRINT : HTAB 6: INVERSE : PRINT "D";: NORMAL : PRINT "-DOWN";: HTAB 17: INVERSE : PRINT "E";: NORMAL PRINT "-EAST"
2050 PRINT : HTAB 6: INVERSE : PRINT "N";: NORMAL : PRINT "-NORTH";: HTAB 17: INVERSE : PRINT "W";: NORMAL PRINT "-WEST"
2060 PRINT : HTAB 6: INVERSE : PRINT "Q";: NORMAL : PRINT "-QUIT";: HTAB 17: INVERSE : PRINT "F";: NORMAL PRINT "-CHANGE FACING"
2070 VTAB 23: PRINT "HIT ";: INVERSE : PRINT "SPACE";: NORMAL : PRINT "FOR MORE"
2080 IF PEEK ( - 16384) < 127 THEN 2080
2090 POKE - 16368,0: HOME : INVERSE : PRINT "F";: NORMAL : PRINT " WILL COME BACK WITH A QUESTION AS TO": PRINT : PRINT "WHICH FACING YOU WISH. HIT ONLY ONE KEY": PRINT : PRINT "AND ";: INVERSE : PRINT "RETURN": NORMAL
2100 PRINT : PRINT "PLEASE WAIT WHILE IT SETS UP THE MAZE": PRINT : PRINT : RETURN
3000 TEXT : HOME : VTAB 5: HTAB 12: PRINT "CONGRATULATIONS !"
3010 PRINT : PRINT TAB( 7)"YOU HAVE FINISHED THE MAZE IN ": PRINT TAB(7) T;" SECONDS"
3030 INPUT "DO YOU WANT TO PLAY AGAIN? ";Y$
3040 IF LEFT$ (Y$,1) = "Y" THEN RUN
9999 NORMAL
10000 DATA 1,2,4,0,5,3,1,2,0,4,3,5,1,2,3,5,4,0,1,2,5,3,0,4
Today?
I was possessed to take this older game called Telefang and start imagining a Telefang region which would act like a fantasy Third World country. My thoughts are this.
Digimon is really futuristic.
Some fantasy worlds are really ancient, like how Pokémon was able to turn itself into Legends: Arceus.
But Telefang is so neatly situated in this era exactly after ancient fantasy and before the era of social media and good internet, like some kind of missing piece. I think this is some people's favorite era, honestly.
It's so easy to re-frame it as like, an awkward world behind the times that is bumbling along at its own pace.
Telefang "legends". We're in the historical period before cell phones and there are carrier pigeon things, but just like in the real world, only these rare big estates have them.
The plot revolves around central characters that are like foot messengers that travel long distances because there isn't technology.
Denjuu everywhere just wish things could go a little faster and the world could finally get to modernizing.
Of course, this will expose the world to the danger of external corporations invading it and trying to own it or make it dependent on them. Exactly like happened in the original game. This could literally be a prequel
But what I really like is the idea of an alternate swath of Denjuu that didn't give into the pressures of Sanaeba and basically created defenses to this situation ahead of time
In the original game there are "Natural Denjuu" and "Cultivated Denjuu"
But I think in this continuity there would be a third category? I don't know what it would be called. The third category is trying to build things domestically, basically, rather than changing due to the influence of foreign technology.
This could make a lot of game-mechanical sense. Natural Denjuu had natural evolutions and Cultivated Denjuu would often have "modified" evolutions, if I remember right. The new category of Denjuu would have their own distinct preference of evolution methods and other small distinctions like that.
They'd represent this particular bloc of "Communist" Denjuu trying to work together and build something constructive, not letting the outside control the Denjuu world, trying not to end up stuck with the "responsibility" of becoming capitalist empire just to resist it.
There is just something about this that really feels right. It's somehow poetic to take this game that became infamous because a Third World country just barely developing a videogame industry made a bootleg of it to not have to import foreign games, and make the story genuinely themed around that perspective.
Especially when those themes were already weakly but noticeably present in the un-garbled game already.
https://archive.org/details/1983-09-compute-magazine/page/n51/mode/2up
just found this - BASIC listing for "caves of ice"
#commonLisp #programming #McCLIM #images #GUI + #emacs #eev #eepitch in the "three buffer configuration".
https://screwlisp.small-web.org/eev/multislime/
;; Look at the full gif in the link.
I had a-bit-of-a-day, as you can see reading the article. Still, I think it both indicates basic pictures (well, a slideshow) finally, which my NicCLIM #gamedev has been hurting for. (thanks @mdhughes for your help) and the "three buffer eepitch" (thanks @eduardoochs ).
The Legend of Zelda: Spirit Tracks
🏢 Nintendo EAD Software Development Group No.3
📅 2009
🖥 NDS, Wii U




A #documentary about #Python just got released, and it's really good.
It talks about Python's origins, the founding of the PSF, the Python 2 to Python 3 transition, the struggle to increase diversity, Guido's resignation over the walrus operator, as well as Python's relevance as a language now and in the future.
#astronomy I photographed the Sun with the Seestar S50.
https://www.flickr.com/photos/philippughastronomer/54722365248/in/photostream/
I feel like mastodon would appreciate this unopened 1998 three tape documentary about the pre bubble internet i found at my parent’s house



OK, I got Fujisan emulator working.
https://github.com/pedgarcia/fujisan
(releases on right side)
Important: Set your own profile, then change to NTSC, set ROM to ATARIXL.ROM, BASIC to ATARIBAS.ROM, right-click "turn on" D1, and load a floppy, unless you like the Altirra "BASIC" and "OS", which are pretty bad emulations of the real thing.
My autorun.sys which runs D:LAUNCHER.LST was giving me ERROR 130, until I reinstalled it specifying D1:LAUNCHER.LST
#retrocomputing #atari #basic

back to transcribing text editors written in BASIC
this one is for Atari 8-bit BASIC with memory expansion
it is promising to be a word processor, and not just a text editor
this is probably confirmed by the fact it is littered with exotic PEEK and POKE statements
i am also expecting to find user-defined functions later on in the code, in the X000 line subroutines

i think i've solved the problem of having to make a forum for BASIC--we can just use this IRC channel ( :
@neauoire yes! that would be lovely!