I wonder whether computers which only run BASIC are still attractive to people, Raspberry Pi is cool, but it includes a lot's of unnecessary components.
Thats one of the reasons I ran out and converted the
IchigoJam BASIC command help the day I found
IchigoJam for RPi. Its also the reason why I want to use
this RPi baremetal project to create a standalone version of
SDL2_Basic and/or
my enhanced version of BAS 2.4.
I know a couple have been done so far like
Raspberry Pi BASIC, but (like a lot of other BASIC users) none of them offer dialect or functionality that I want. ItchigoJam is close, based on MSX-BASIC, graphics, sound and GPIO, but only 1K of RAM. I prefer the vector based graphics and lack of external access to any files outside of SAVE and LOAD, my RPi version of SDL_Basic,
Pistol Basic, as it is more like a traditional BASIC machine, so I would love to have it as bare metal, 1 second boot up ... to BASIC.
My very first experience with a computer was a fair day at Tauranga Airport in (or around) 1976 at the age of 6. I hacked some 30+ year old guys HELLO world failure on an Atari 400, he wrote "GO TO" instead of "GOTO". Needless to say I got in trouble with my parents because I kept slipping off to watch people use it, and never got access to "my own" computer until I was 15, but I still remember it like it was yesterday.
In the meantime I read just about every computer magazine I could get a hold of (but could not buy), my favourite was reading the One Liners in the back page of (Compute? or A+?). Later (24) I rescued a complete collection of Byte Magazine that was going to be thrown out, from which I had previously built a Parallel Port Vortrax Speech Synthesizer (age 20), and could be programed from GW-BASIC via text phonetics or phonems. Needless to say the Vortrax chip was salvaged and statically fried, but it was worth a try.
We had BMC Z80 CP/M machines at high school age 13 (case looked like an grey Apple II, but with a printer where the expansion lid was), we had A Single Density Drive with CP/M 2.2 & MBASIC, whereas the seniors had multiple Double Density Drives and some fancy basic that didn't need line numbers, had labels (which could be numeric), a full screen editor and used indents for structure and flow control, did graphics and sound. Juniors got baned not long after cos there were too many wanting to use them, and I was 15 before we were aloud to use then again, and even then it was only sometimes for Maths class. At the time my cousin was given a Apple II clone from Taiwan called Formosa which I used on and off over the next 5-6 years. The next high school I went to had New Zealand created 6809 based Poly terminals with Poly BASIC in rom, for which I the Technical Manual, which got stolen the 1st day I took it to school. Needless to say the juniors were not allowed to use the Apple IIe's and Apple III's at my new highschool, but thats hard to do when you are wave jumping your windsurfer.
Around age 16 I managed to convince Mom to buy a Spectravideo 728 with Disk Drive about 2 weeks before the portable 738 was released, after I was tracked down by the police for spending too long in an inner city Video Arcade. The same computer shop in Hamilton was the first in New Zealand to have an Atari 260ST with TOS on disk and two weeks later an Amiga 1000 which used to play "Smoke on the Water" by Dragon (MOD? no words). I used to created demos and copy type-ins for them before that, on Spectravideo 318, 328, Apple IIe, Sega SC-3000, C64, Plus 4, Atari 800XL, BBC Model B, Acorn Electron. Needless to say I had to leave them and "the family computer", 728 MSX, behind when I changed schools, but I could code Z80 from memory by then.
My step brother had a ZX81 with 16Kb RAM pack and Warlock of Firetop Mountain, that was replaced by an Spectrum 16k on which we used to successfully fake tape loading with a microphone. Needless to say the resulting programs were always garbage, but they loaded. I got baned from the Spectrum after being blamed for a failed 48k upgrade. Later when his dad replaced it with a CPC 6128 we used to spend hours play "hack my disc" where you had to find a certain peice of info and the disc could be any of CP/M Plus 3.0, 3.1, CP/M 2.24, or Locomotive Basic (no boot sector). Needless to say I got banned for using certain hack techniques which meant I could no longer win, but that did allowed me to recover many computers since then.
I Left school before I was 17, then later I did hardware Computer Peripheral Course that was taught by the ex-manager of Wang New Zealand, and he was able to get some awesome hardware to work on, stuff that a lot of techies at the time never got their screwdriver near, like 5M Pheonix Hard Drives with 5M removable platters where we could practice Azimyth head alignments, and A Wang VS Mini Computer with multiple Z80 cards, cant remember the version of BASIC we used on that, but it could multitask and do interprocess communications. Besides winning the many hacking compitions we used to have, I used to leave "my personal development tools" in E5 directories on the campus 286 MS-DOS 3 machines . (The
Wang Wiki page is rather revealing). Needless to say the course was not nationally certified until the following year after I graduated, but I did get to Pretoria, SA, to do Java Gently with Judith Bishop.
As part of the course I went to work for the newly formed Unisys, still having Buroughs Mainframes and Sperry service contracts and hardware lying around it was the first time I ever used a Unix System V machine, which I broke, forgetting what I changed the root pasword to, which upset the service technicians no end, as it was also the first time they had seen one. I did not get to program anything else there (Unisys Desktop Slices are awesome), but they did send me off to help a guy with cabling, which turned out to be the first Fibre Optic link outside New Zealand, Sydney to Auckland to Welington. Needless to say Unisys declined to hire me for the Commonwealth Games, but even they never got as many hits per second as one of my pages did.
While in South Africa, working for the biggest corporate ISP as a web developer, they asked me to make a button to print the web page, as far as I know I was the first person in the world to work out you could hook VB for Applications with VBscript, and dynamically print from IE 3/4. I was writing search engines when Google started theirs, ran my own personal RealServer Radio Station. In a non-stop Redbull fueled 54 hour marathon, learned Perl
and converted 1000 flat file HTML web pages into a multi-frame database "flash application", becoming the 1st website to use Flash 5
push technology the same week it was released, using
multi-homed javascript url redirection (view source line 60), later being published in hardcopy Flash Websites Book (2001, Intekom SA, the 1st one has monarch butterly). 5 years later in Australia I came across "web gold", figuring out how to get animated GIF's (I chose moving flames) to render through transparent TTF fonts with IE 5/6/7 using transform css, so the text was still selectable. Needless to say nothing mention above made me rich, but they were definitly fun at the time.
I modified a 64 column type-in to 80 columns for MSX, never fininshed my 1st Sprite based (Summergames type) "Race for the Rice Bubble" Game. But loved MSX so much I booted directly into a customised OpenMSX development system on my first RPi B, running NestorBASIC and host folder disks. Wrote a simple listing variable and function documentor, useful for 1000+ line listings, eg :' var mX=map width. I did the same with SimCoupe and a multi-partition harddrive setup. I really like using the Apple //c, the Franklin ACE 500, and the Tandy 100 EX and HX, the Memotech MTX512, the Enterprise 128 and STOS on AtariST. Needless to say I have never owned any of that hardware, except the 4M Atari STe that mum made me throw in a dumpster, circa 1998 (along with my MSX, IBM 3720, Atari 130XL and 4x ATARi 800XL, all with disk drives) , but that is a story for another day
I prefer modern BASIC dialects to use SDL 1.2 because most platforms can run the full set of libraries (unlike SLD2), so they are easily portable to older 16/32bit systems. I've added BIN$, MERGE, CHAIN and 256 colors to BAS. I have started (but not finished) bringing 2 seperate BASIC system OS executables to Linux, one is standard uppercase BASIC commands as SH shell scripts (eg. CLS, PRINT, LOCATE, PEEK, etc), and the other replaces standard Linux shell scripts and binaries with BASIC scripted replacements (eg ls, cat, etc). I would love to have a
replBASIC OS integrated shell. In BASIC (where applicable), what commands and/or functions are most commonly missing? FORK and EVAL. Needless to say they will never be made mandatory, but one can live in hope.
I believe the best looking and performing computer in the world is AtariST desktop on baremetal, with TinyBASIC shell scripting (like SH) and OS integration (like AppleScript), running natively on ARM based SBC (especially multi-core RPi's). I am part way there with
pTOS,
uBASIC,
TinyBASIC or
BAS. Needless to say OS integration (like AppleScript) is some way off, but not impossible.
Cheers
Paul
PS all languages have a time and a place, but none are as basic as BASIC