Create readable text `.bas' for each tokenized BASIC `,ffb' file.
[ssr] / StraySrc / Libraries / Sapphire / bsh / dbx.bas
diff --git a/StraySrc/Libraries/Sapphire/bsh/dbx.bas b/StraySrc/Libraries/Sapphire/bsh/dbx.bas
new file mode 100644 (file)
index 0000000..43c5639
--- /dev/null
@@ -0,0 +1,75 @@
+REM Sapphire dbx macro library -- © 1994 Straylight
+
+DEF FNdbx_test=0
+
+DEF FNdbx_ctrl(i%,c%,b%,f%,d%)
+IF b%=12 THEN f%=f% OR dbxFlag_dataR12
+IF b%=10 THEN f%=f% OR dbxFlag_dataR10
+[ opt 4
+.dbx__l
+  dcd i%
+  dcd c%
+  dcd f%
+  dcd 0
+]
+IF f% AND 3 THEN [opt 4:dcd d%:]
+=0
+
+DEF FNdbx_ectrl
+!(dbx__l+12+O%-P%)=P%-dbx__l
+=0
+
+DEF FNdbx_end
+[ opt 4
+  dcd -1
+]
+=0
+
+DEF FNarrow(i%,n%)
+[ opt 4
+  FNimport("arrow")
+  FNdbx_ctrl(i%,arrow,0,0,0)
+  dcd n%
+  FNdbx_ectrl
+]
+=0
+
+DEF FNfileIcon(i%,b%,d%)
+[ opt 4
+  FNimport("fileIcon")
+  FNdbx_ctrl(i%,fileIcon,b%,0,d%)
+  FNdbx_ectrl
+]
+=0
+
+DEF FNnumWrite(i%,n%,x%)
+[ opt 4
+  FNimport("numWrite")
+  FNdbx_ctrl(i%,fileIcon,0,0,0)
+  dcd n%
+  dcd x%
+  FNdbx_ectrl
+]
+=0
+
+DEF FNslider(i%,b%,d%,f%,m%,n%,o%,x%)
+[ opt 4
+  FNimport("slider")
+  FNdbx_ctrl(i%,slider,b%,f%,d%)
+  dcb m%
+  dcb n%
+  dcb o%
+  FNalign
+  dcd x%
+  FNdbx_ectrl
+]
+=0
+
+DEF FNcolourPot(i%,b%,d%,f%,t$)
+[ opt 4
+  FNimport("colourPot")
+  FNdbx_ctrl(i%,colourPot,b%,f%,d%)
+  equs t$+CHR$(0)
+  FNdbx_ectrl
+]
+=0