Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Programming is for AIs. Let's go shopping.

tomaes

💭
Programming is for AIs. Let's go shopping.
View GitHub Profile
@tomaes
tomaes / jump.pas
Created Apr 14, 2020
Testing the limits of recursion in Turbo Pascal 7.0 (1992)
View jump.pas
(*
TP 7.0 recursion limit test: 3965 - stack:16384 (def)
16249 - stack:65520 (max)
*)
program rec_test;
{$M 65520, 0, 655360} (* stack, heapmin, heapmax *)
uses crt;
const R = 16249;
var i: integer;
@tomaes
tomaes / playAMDdump.pas
Last active Apr 16, 2020
AMD song file dump OPL2/Adlib player test
View playAMDdump.pas
program PlayAMDdump;
(* adlib player lib by conqueror in '96 *)
(* song and array player hack by tomaes in '20 :) *)
uses CRT;
{$F+}
{$L amdobj.obj}
procedure _AdlibPlayer; near; external;
procedure _StopAdlib; near; external;
procedure _InitAdlib; near; external;
@tomaes
tomaes / cbm4032game.bas
Last active Mar 22, 2020
Snake ✕ Tron; CBM4032 / Commodore PET game.
View cbm4032game.bas
0 rem cbm 4032 game test
1 :
2 sm=32768: h=sm+414
3 x=0: y=0: dx=1: dy=0
4 lv=0: g0=1: pl(0)=15: pl(1)=86
5 u$="w": l$="a": d$="s": r$="d"
6 print chr$(147)spc(250)spc(158)
7 print "snake * tron. get ready!"
8 fori=.to99:pokeh,32::::::::::pokeh,83:next
9 poke 59467,16: rem sound on
@tomaes
tomaes / missingdigit.sh
Last active Jun 1, 2019
Shell script test mini game...
View missingdigit.sh
#!/bin/sh
clear
printf "spot the (missing) digit\n"
# rnd(0..9)
r=$(($RANDOM%10))
# unix EPOCH time in seconds
t=$(($(date +%s)))
@tomaes
tomaes / fourletterwords.bas
Created May 30, 2019
One more IchigoJam game. Find the missing character in a random four-letter-word. 20 rounds, as quickly as possible. Mistake = score reset. (aka using loop markers and doing String things without String support...)
View fourletterwords.bas
10 'four-letter words game, IchigoJam BASIC
12 CLV
14 [0]=ASC("W"): [1]=ASC("I"): [2]=ASC("S"): [3]=ASC("H")
16 [4]=ASC("Q"): [5]=ASC("U"): [6]=ASC("I"): [7]=ASC("Z")
18 [8]=ASC("L"): [9]=ASC("O"):[10]=ASC("V"):[11]=ASC("E")
20 [12]=ASC("H"):[13]=ASC("O"):[14]=ASC("M"):[15]=ASC("E")
22 :
24 @MAIN
26 CLT
27 L=RND(4)
@tomaes
tomaes / noshowdieface.rb
Last active May 31, 2019
Spot the missing die face as quickly as possible. Micro game in Ruby.
View noshowdieface.rb
# No-Show Die Face, a micro game in Ruby
r = 0
e = false
s = Time.now.to_f
begin
# die faces 1 to 6
n = { 1 => "\u2680",
@tomaes
tomaes / barrier.bas
Last active May 28, 2019
Final(?) IchigoJam mini game. Launch an arrow. Get through the scrolling barrier to earn cash prizes.
View barrier.bas
5 'barrier game
10 CLS: CLT
12 S=100: H=0: F=0
30 IF !RND(6) LC 10,0: ? "ãã ãã ãã"
37 IF F F=F-1
38 S=S-1
50 LC 4, 23: ? CHR$(251);
52 LC 25,12: ? "$";S
55 IF INKEY()=32 AND H=0 H=1
58 IF H AND SCR(4+H,23-H)=ASC("ã") VIDEO 2: WAIT 4: VIDEO 1: BEEP: H=0: F=0
@tomaes
tomaes / heartcash2.bas
Last active May 25, 2019
IchigoJam mini game; collect coins and hearts in equal amounts and leave when you have enough of both.
View heartcash2.bas
5 'heartcash II
10 CLS
12 Y=0: M=20: H=20: P=229
14 C=245: D=C-P: O=320: L=O/32
16 LC 0,L-1: ? CHR$(226);" exit::::::::::::::::::::::::"
18 LC 0,L+2: ? CHR$(227);" exit::::::::::::::::::::::::"
20 IF RND(8) POKE#91E+O+32*RND(2),P+RND(2)*D
30 COPY #900+O,#901+O,31: COPY #920+O,#921+O,31
50 Y=Y-BTN(UP)+BTN(DOWN)
51 IF M M=M-1
@tomaes
tomaes / minesonar_enhanced.bas
Created May 23, 2019
Minesonar, enhanced. IchigoJam edition. With a fancy title header.
View minesonar_enhanced.bas
10 ' minesonar enhanced, IchigoJam Edition
20 CLS: CLT
30 LET R, 0
32 LET X, RND(8)+1
34 LET Y, RND(8)+1
35 :
38 ? ".";CHR$(251);: ? " Mine Sonar,IchigoJam edition"
39 ? CHR$(154);: FOR I=1 TO 28: ? CHR$(176);: NEXT: ? "*"; CHR$(244)
40 ?: ? "There is a (possibly moving)"
42 ? "hidden mine in an 8x8 field!"
@tomaes
tomaes / ichigojamperformance.bas
Last active May 23, 2019
Simple IchigoJam performance test app
View ichigojamperformance.bas
20 CLV: CLK: CLS: W=40: LED 0
30 LC 2,5: ?"IchigoJam Performance Tests"
40 LC 2,6: FOR I=0 TO 26: ? CHR$(145);: NEXT
50 LC 2,8: ?"(1) VRAM"
60 LC 2,9: ?"(2) CHARSET"
70 LC 2,10:?"(3) SCROLL"
74 LC 2,11:?"(4) RNG"
75 LC 2,12:?"(5) LED"
77 LC 2,13:?"(Q) EXIT TO OS"
90 K=INKEY(): IF K=0 GOTO 90
You can’t perform that action at this time.