[HN Gopher] Raspberry Pi Boot to BASIC
___________________________________________________________________
Raspberry Pi Boot to BASIC
Author : rcarmo
Score : 73 points
Date : 2022-01-06 15:47 UTC (7 hours ago)
(HTM) web link (popey.com)
(TXT) w3m dump (popey.com)
| hereforphone wrote:
| One of my very first computers was an IBM PCjr. I got it way
| after it was obsolete, but my parents didn't have money so I took
| what I could get. With the cartridge inserted I could boot to
| 'gwbasic'. I started programming there, a long time ago, and I
| still program today. It's nice to see this part of history
| resurfacing.
| richardfey wrote:
| This shouldn't use X11 nor Wayland
| pjmlp wrote:
| Regarding the BASIC nostalgia, only recently did I became aware
| that the original BASIC (Dartmouth BASIC) was actually JIT based
| and it was the adaption of BASIC into the home computers that
| kind of made its interpreted version more widely known.
|
| While there were several flavours of BASIC compilers there were
| never as widely spread as these interpreters.
|
| I find it interesting, it could have been yet another what-if,
| had the compilers been as widely accessible.
| boznz wrote:
| Boot-to-Basic Computers are great fun and excellent for
| learning but just do not have the stack to build real world
| applications in 2021 on eg SQL, sockets, SSL, etc
|
| I would love to be able to just turn on the computer and have a
| simple basic program run a touchscreen interface to my factory
| SQL systems but we truly must stand on the shoulders of giants
| in this regard.
|
| (talking about boot-to-basic here no basics that run on an OS
| and can access the whole OS stack)
| pjmlp wrote:
| Maybe you would enjoy to have a look at Meadow, they support
| VB.NET.
|
| However it does rely on NuttX for the runtime services.
| [deleted]
| zekica wrote:
| You can probably make it boot to basic a lot quicker. Don't need
| to wait for all services to start up. Even LibreELEC boots
| faster. If I'm correct and this uses SDL, SDL2 supports kms/drm.
| bencollier49 wrote:
| This is the wrong way to do it! Just install RISC OS Pico, and
| avoid the many layers of indirection!
| LNSY wrote:
| The computer I learned to program on was an Apple II+ with rusted
| keys that you just had to slam. I still type loudly. It booted
| into basic.
|
| I, of course, desperately wanted LOGO (and of course the robot
| turtle, too!), but my family couldn't afford it.
| tombert wrote:
| My first computer was a hand-me-down C64 from my dad, and it's
| part of the reason that I started programming while I was so
| young. I never got _good_ at programming it, but I thought it was
| so cool that you start programming _immediately_ after booting
| up. This would have been ~1998-1999, WELL past the the C64
| hayday, but I had a lot of fun playing with it.
|
| I didn't really know how to use DOS on my parents' Windows
| computer, and so as far as I knew at the time, the only way to do
| programming there was to install a bunch of compilers and that
| scared me.
|
| Simpler times!
| philjohn wrote:
| If only you'd known DOS shipped with Q-Basic! After we got a
| Cyrix 386 back in the 80's I moved on from Commodore Basic (on
| the C128) to that, then Turbo Basic, Turbo Pascal and then
| Turbo C.
| tombert wrote:
| Yep! Had I known about Q-Basic there's a very high likelihood
| I would have eaten that up, but this was really before I knew
| how to use the internet, and I wouldn't have even known what
| to look for on Lycos if I did know.
|
| I played with C64 Basic for a few years, until eventually I
| got the courage to download Visual Studio Express and learn a
| bit of C++ when I was 13, and hop over to Linux full time and
| use Emacs + GCC when I was 14/15, largely because the heavy
| reliance on the command line for Linux reminded me a bit of
| C64 basic.
|
| Occasionally I miss how integrated coding was with the
| operating system in the past. I think overall de-emphasizing
| coding is a good thing since I feel like the computer is
| useful enough to justify non-nerds having access to it, but
| there was something so cool about how _accessible_ it was to,
| for example, make a game on the C64.
|
| If I want to make a game now, I basically have two options:
| A) Start from "scratch" and learn OpenGL/DirectX/Vulkan/SDL
| and basically learn a masters-degree-level of information
| about graphics engineering, or B) Download something third-
| party like Unity or GameMaker [1] and work from there. I'm
| not going to say it's "worse" now, but it's definitely a
| steeper learning curve than just hoping into Basic and
| playing around with `poke`.
|
| [1] To be clear, both of those things are pretty cool, not
| knocking them.
| [deleted]
| klelatti wrote:
| The Colour Maximite is a modern computer that boots into its own
| specially written Basic. [1]
|
| I think using a Cortex M7 with its simpler memory model keeps it
| closer to the spirit of the 8 bit machines than is possible with
| a Cortex A series.
|
| [1] https://geoffg.net/maximite.html
| boznz wrote:
| Agree, probably the easiest out there, a port for a RPi is well
| overdue.
| reaperducer wrote:
| I wonder if people, especially young children, would be more
| interested in programming if all computers booted directly into a
| programming language.
| incanus77 wrote:
| There are a number of ways to accomplish this today. All have
| trade-offs, but generally, the main illusion-breaker is when they
| are user space programs that run on top of Linux, mostly on
| account of random console spew (which can be remedied) and boot-
| to-prompt time (which can be made to generally about <10 seconds,
| at best -- DietPi and TinyCoreLinux are both useful here).
|
| Incidentally, the RISC OS Pico[1] mentioned is out of date and
| won't run on the Pi 400 or other newer Pi's.
|
| Aside from the excellent PC-BASIC[2] and BBC BASIC[3] mentioned,
| another in that vein is MatrixBrandy[4], a fork of Brandy
| BASIC[5]. PC-BASIC is excellent if, like me, you grew up on an
| IBM PCjr, since that is a very specific brand of GW-BASIC with
| better graphics & polyphonic sound. But, being Python, it's
| relatively slow when doing things like POKEing the emulated
| graphics buffer and the like. MatrixBrandy is C-based and very
| fast, but has a number of BBC Micro-era quirks in the spirit of
| emulating those old systems.
|
| Another fun route is emulators that have been ported to a Pi bare
| metal mode, such as a fork of the C64 emu VICE[6] called
| BMC64[7].
|
| Lastly, there are some fun from-scratch fantasy consoles like
| PICO-8[8], TIC-80[9], and LIKO-12[10], all of which are based on
| SDL under the hood. To my knowledge, the only one with a bare
| metal version is TIC-80's[11]. There is also Pixel Vision 8[12].
| Generally, you code in Lua in these.
|
| [1]
| https://web.archive.org/web/20181109020010/https://www.risco...
|
| [2] http://robhagemans.github.io/pcbasic/
|
| [3] https://www.bbcbasic.co.uk/bbcbasic.html
|
| [4] https://github.com/stardot/matrixbrandy
|
| [5] https://sourceforge.net/projects/brandy/
|
| [6] https://vice-emu.sourceforge.io
|
| [7] https://accentual.com/bmc64/
|
| [8] https://www.lexaloffle.com/pico-8.php
|
| [9] https://tic80.com
|
| [10] https://liko-12.github.io/
|
| [11]
| https://github.com/nesbox/TIC-80/tree/master/build/baremetal...
|
| [12] https://pixelvision8.github.io/Website/
| sourcecodeplz wrote:
| Aaaah BASIC, my first love.
|
| 10
|
| 20
|
| 25
|
| 30
| mnd999 wrote:
| AMOS BASIC would be the best choice surely?
| Narishma wrote:
| Isn't it proprietary?
| mnd999 wrote:
| It was at the time, I think they released the source a few
| years ago.
| unwind wrote:
| Yes, but it was (unsurprisingly) written in MC68k assembly
| [1].
|
| [1] https://github.com/AOZ-Studio/AMOS-Professional-
| Official
| kingcharles wrote:
| I always thought it was more fun to use a semicolon at the end of
| the line, like this:
|
| 10 PRINT "CHAZ WOZ ERE "; 20 GOTO 10
|
| You can test it here:
|
| https://bbc.godbolt.org/
| musicale wrote:
| Also see: https://github.com/steventroughtonsmith/rpi-basic
|
| which is (or was in 2013) a minimal bare-metal BASIC for the Pi.
|
| Via HN: https://news.ycombinator.com/item?id=8228763
| bellyfullofbac wrote:
| My PC XT didn't boot into BASIC, I wonder why. It's long gone now
| so I can't investigate what hardware it actually had.
|
| This boots X11/Wayland and then an SDL app on top of it, I wonder
| what it would take to write a shell or init that the kernel loads
| straight after it's done loading itself up. Maybe The systemd
| folks can make systemd-basic...
| drivers99 wrote:
| Sounds like it should have had it.
| https://en.wikipedia.org/wiki/IBM_BASIC#IBM_Cassette_BASIC
|
| I still have my IBM PC (5150), taking up a lot of closet space.
| jandrese wrote:
| I remember our school computers you had to start the machine
| without anything in the floppy drive to get dumped into BASIC.
|
| Unfortunately it was a very limited BASIC. I guess there wasn't
| much space in the BIOS ROMS. It was pretty much always worth it
| to boot DOS and start GWBASIC.
| thanatos519 wrote:
| I was thinking of using a framebuffer version of VICE as 'init'
| to boot directly to a C=64 environment.
| AnIdiotOnTheNet wrote:
| > My PC XT didn't boot into BASIC, I wonder why.
|
| Mine didn't either, it booted into DOS 3.0(?) and I got to
| BASIC by running BASICA.EXE.
|
| If I had to guess, it booted into DOS if you had a hard disk
| and otherwise booted BASIC from a ROM?
| bellyfullofbac wrote:
| Nah it didn't have a hard disk, and booting up without any
| floppies inserted resutled in an error message...
| musicale wrote:
| (2021)
|
| RISC OS Pico [1] (I think it was short for Pi Computer) booted
| the Pi directly into BBC BASIC. It would be great if they'd make
| it a supported image on the current Pi boards.
|
| The .zip archive is still available if you follow the links on
| archive.org (and even includes the book "First Steps in
| Programming RISC OS Computers" and associated demo programs.) Its
| 2.1MB boot .IMG is somewhat smaller than Ubuntu. Has anyone tried
| it?
|
| [1]
| https://web.archive.org/web/20181109020010/https://www.risco...
| Kim_Bruning wrote:
| Else it's just an F12 -> *BASIC away, right?
| pmyteh wrote:
| Yes. Or, assuming the old mechanism still works, using
| *Configure Language to boot into BASIC by default every time
| the machine starts.
|
| My guess is that the RISC OS version of BBC BASIC will also
| have slightly better compatibility with things like old
| printed program listings than BBC BASIC for Linux, so may be
| a better choice for the full nostalgia hit.
| vitovito wrote:
| Just did! Has only bootloaders from 2014, though, and firmware
| changes with the Pi itself mean it won't work on the latest
| Raspberry Pi models, nor will replacing the RISCOS.IMG from a
| current version with the Pico version.
|
| When I tried RISC OS' own instructions to have the equivalent
| experience with their latest OS versions, they seemed to be
| missing a step, too, as I'd still boot to a desktop on a Pi 4:
| https://www.riscosopen.org/wiki/documentation/show/Raspberry...
|
| Write the latest full RISC OS (through Raspberry Pi Imager or
| elsewhere). Edit CMDLINE.TXT per their instructions, and after
| it boots, on your keyboard, press F12 to open a command line at
| the bottom of the screen, type in the commands from their
| instructions, and then also type: Unplug
| Desktop
|
| Then press Ctrl-Break to reboot. You don't need to copy files
| to other SD cards or anything. It will boot immediately into
| BBC BASIC in Mode 7 (40x25, Teletext pixels, 16 colors).
|
| In swapping the SD card between a Pi 1/2 and a Pi 4, I was
| getting occasional misfires, though, and it wouldn't boot into
| BASIC, getting hung up on the wrong networking driver, or
| complaining about a missing desktop. Ctrl-Break to reboot
| should fix it.
| [deleted]
| [deleted]
| bencollier49 wrote:
| Yes! It actually runs games from the BBC Welcome disk pretty
| well.
|
| https://www.bencollier.info/projects/electronics/emulation/f...
___________________________________________________________________
(page generated 2022-01-06 23:01 UTC)