Questions tagged [basic]

BASIC: a high-level programming language favored in retro systems. For dialect-specific questions, use a tag such as [microsoft-basic], [applesoft-basic], etc.

Filter by
Sorted by
Tagged with
37
votes
3answers
6k views

How did Woz write the Apple 1 BASIC before building the computer?

According to his 1984 interview with Byte magazine, Steve Wozniak created the BASIC for the Apple 1 computer before he actually built the computer: I sat down and wrote the BASIC first, and that took ...
25
votes
9answers
2k views

What implementations of BASIC had a robust flood fill operator?

When I learned BASIC on Elektronika BK, I got fascinated with the flood fill (PAINT) operator: how does it know to get to all nooks and crannies of the shape to fill? I've devised an algorithm, tried ...
6
votes
1answer
588 views

How can I detect mouse wheel movement in QuickBasic?

I am using the following code to trap left/right/middle mouse button and mouse row/column in Microsoft QuickBasic 4.5 and I need a way to detect the mouse wheel. I have looked at Ralf Brown's ...
9
votes
4answers
567 views

Delay loop in BASIC

Yesterday I was looking for a way to implement a delay loop on the C64. I came across this page: https://www.c64-wiki.com/wiki/TIME At the bottom of the page there is a code fragment that waits for a ...
5
votes
3answers
920 views

How can I read COM port addresses from BIOS in QuickBasic 4.5?

I have been using the following code to get comm port addresses from BIOS in QuickBasic 4.5: PRINT "Hex addresses for ports 0 to 3 from BIOS." DEF SEG = 0 FOR x = 0 TO 3 z = &H400 + ...
21
votes
8answers
2k views

Which BASIC interpreters support techniques for hybrid programming in Assembly?

It was common with Commodore BASIC (and others, I'm sure) to have machine language encoded in BASIC programs using POKEs or READ/DATA. This was needed for both performance and to access certain ...
8
votes
1answer
276 views

BASIC on the Nova?

The first widely documented BASIC on the Data General Nova platform appears to be Data General Extended BASIC. I can date it to at least 1978 due to copyrights in the manual, but I suspect it was ...
27
votes
4answers
2k views

BBC/Acorn BASIC, what made it so fast?

As I look over old versions of BASIC trying to piece together their history, I come across repeated indications that BBC Basic was really fast. One list puts it running the Ahl benchmark (for all its ...
10
votes
4answers
485 views

Commodore BASIC: why was the PET's GOTO so slow?

Received wisdom has it that Commodore didn't want to pay Microsoft extra for updated BASIC interpreters, and thus very little changed in Commodore BASIC v2 from the PETs to the C64. But consider the ...
21
votes
6answers
2k views

Commodore BASIC and binary floating point precision

I am mildly curious that though the 6502 provides BCD arithmetic which would be useful for implementing decimal floating point, Commodore BASIC uses, like all (?) Micro-Soft BASIC, binary floating ...
13
votes
8answers
4k views

GOTO (etc) to a non-existent line?

Writing a BASIC interpreter has revealed a number of interesting bits of information that tend not to be mentioned in the documentation. For instance: 10 PRINT"ONE";:IF 1=2 THEN PRINT"...
23
votes
7answers
4k views

Why did 8-bit Basic use 40-bit floating point?

Nowadays floating point is usually either 32 or 64 bits, sometimes 16, occasionally 128. But of course, the Basic interpreters on the 8-bit machines, having to implement floating point in software ...
14
votes
5answers
4k views

Was Family BASIC for the NES/Famicom powerful enough to create full games and applications?

"Family BASIC or Famicom BASIC is the consumer product for programming Nintendo's Family Computer video game console of Japan." wikipedia I can't seem to find much info about Family BASIC ...
3
votes
2answers
491 views

Anyone heard of 'something like' EDITLN or EDITLINE or LINEDIT statement in BASIC?

Anyone heard of 'something like' EDITLN or EDITLINE or LINEDIT statement in BASIC for editing lines of a program's own code while executing ? I seem to remember a statement that was spelled 'something ...
9
votes
2answers
901 views

Looking for a specific BASIC music program from the 80s

When I was a kid, we had a PC-XT with a lot of GW-Basic programs on it. I am trying to track down one in particular -- it was a music player of sorts. A menu (all monochrome text as I recall) and you ...
0
votes
2answers
244 views

Behaviour of commas in PRINT at a line-end

Does anyone have actual documentation on how MS/Commodore BASIC handles line wrapping in PRINT statements? I tried this in an online emulator: PRINT 1,2,3,4,5,6,7,8,9,0 In this case it wraps at the ...
6
votes
3answers
1k views

Did any 8-bit versions of MS BASIC allow user-defined string functions?

My BASIC is almost working, the almost being the DEF FN. Just so I don't paint myself into a corner, is there any "mainstream" BASIC from the 8-bit era that allowed user-defined string ...
2
votes
1answer
158 views

Peripherals needed to run Tiny BASIC interactively on an Intel 8080

I have an Intel 8080 core and would like to build the minimal computer system around it to run Tiny BASIC interactively. I am building this computer on an FPGA, so I am not asking about actual ...
9
votes
4answers
1k views

What were the first BASIC interpreters to be programmed in high-level languages?

I've been continuing to revise and expand the Wikipedia article that I started on BASIC interpreters. One of the criticisms was that it was too focused on the microcomputer era (which interested me ...
116
votes
2answers
20k views

How did Commodore's anti-Microsoft Easter Egg work?

A couple years ago the Toronto PET Users Group published an article (The Great Commodore/Microsoft Easter Egg War, on p. 7) about a newly discovered anti-Microsoft Easter Egg that Commodore hid in the ...
20
votes
17answers
5k views

8-bit home computers without BASIC

All the 8 bit home computers I'm aware of, had BASIC in their ROMs. A notable exception was Jupiter Ace, a british home computer, which used Forth. Were there any other 8 bit home computers that came ...
7
votes
4answers
743 views

Where can I read the article from Personal Computer World, Nov 1978, which introduced the 8th Rugg/Feldman test program?

I'm trying to track down a copy of PCW from November 1978. I am looking for an article on benchmarking BASIC. They introduced an 8th program to the 7-program Rugg/Feldman test and I'd like to read the ...
15
votes
2answers
2k views

What is the oldest reference to PEEK, POKE, and USR?

I've been reading manuals for BASIC implementations and the earliest reference I can find to PEEK, POKE, and USR is in the Altair BASIC 3.2 manual, published in 1975. This morning I came across this ...
3
votes
2answers
472 views

Was it possible to win the “Lunar Lander” game with less fuel than the default?

A while ago I asked about the possible origin of a Russian version of the "Lunar Lander" game. No definitive answers were given. Meanwhile, I was able to decompile the binary into a semi-...
4
votes
4answers
522 views

Would some BASIC interpreters for microcomputers be considered operating systems?

As software for micros developed, you could use the BASIC interpreter just to CLOAD and RUN assembly language programs. Those might call BASIC ROM routines (say, for converting ASCII input to binary ...
9
votes
1answer
639 views

Commodore Plus/4 60671 bytes free - how?

It is widely known that, while the Commodore 64 did indeed provide 64K of RAM for machine code programs, only 38K was usable from BASIC; this was because bank switching was needed to get at the rest, ...
13
votes
4answers
3k views

Could you create a loop in direct-mode with BASIC?

Were there any home computers before 1985, on which you could create a loop (finite or infinite) in direct-mode? And if it was possible on some machines, what may it have been useful for? For example, ...
12
votes
4answers
2k views

Sources for some old BASIC games

Poking about in early issues of Dr Dobbs' Journal (the journal of the People's Computer Company, or PCC) I came across a listing for BASIC games available on tape. Many of these are widespread, but a ...
14
votes
3answers
827 views

Origins of the “array like” strings in BASIC

A number of early microcomputer BASICs had 'array like strings' that were unlike MS's system and instead behaved like arrays of char. Substrings were accessed using a syntax like: A$ = B$(1,5) as ...
1
vote
3answers
176 views

How to determine where in RAM the current Basic program resides on Amstrad microcomputers?

How can I find where in memory to locate the current Basic program in an Amstrad CPC/PCW family Zilog Z80-based microcomputer? Is it always the same address? A different well-known address depending ...
7
votes
3answers
384 views

BASIC09 and I-Code

I only learned of BASIC09 today, and I'm trying to wrap my head around it. The manual talks about it being a compiler, but I'm not sure I see significant differences between its I-code and tokenized ...
7
votes
5answers
1k views

Positive/negative 16-bit integer formats in 8-bit systems?

While considering the recent question on Integer BASIC, a thought arises: Most systems using/supporting integer math used a 16-bit signed format. In the case of Integer BASIC, this leads to odd-...
5
votes
2answers
568 views

Does Sinclair Spectrum BASIC have a maximum length for one line?

I was just writing some junk Speccy Basic programs, more to see how they take up space on the +3's disk layout than to do any actual programming. But I noticed that after editing a program line to ...
30
votes
22answers
8k views

Was self-modifying code possible using BASIC?

Was self-modifying-code possible using BASIC? Parameters: On commonly affordable home-computers before 1984 Code that changes its own instructions while it is executing Using BASIC only Not using ...
16
votes
6answers
2k views

C64 BASIC: How to suppress the '?' sign when using the INPUT command?

When you are getting INPUT in Commodore BASIC it always adds a question mark at the end of the string you want to show. Is there a way to suppress the question mark when using the INPUT command?
19
votes
4answers
3k views

How did integer multiplication work in 8-bit BASIC without CPU support

I've recently been teaching my 11 year old binary multiplication, which is on the UK maths syllabus at secondary school. We have used long multiplication, eg shift and add. This has made me wonder ...
11
votes
1answer
560 views

What additional hardware was required for BASIC on an Altair 8800?

I remember being aware of the Altair 8800 when it made it's mark, but only vaguely. Lately I found myself wondering what hardware was required for the Altair to get BASIC up and running. According ...
45
votes
2answers
5k views

What computer system is this from 1984 Doctor Who?

In the 1980s, the popular BBC science fiction series Doctor Who used some real computer system(s) to display impressive (for the time, OK, maybe not!) graphics. They actually ran the software real-...
37
votes
2answers
11k views

Can a USR command damage a ZX Spectrum?

I recently came across this magazine snippet; specifically this section: Aprovechamos para avisar a los usuarios del Inves, que nos ha Ilegado el rumor de que haciendo: BORDER 5 RANDOMIZE USR 4665 ...
1
vote
1answer
440 views

How can I link a BASIC program with BASIC 3.5 for C64?

In the magazine 64er from June 1990 a BASIC extension for running Commodore Basic V3.5 on the C64 was presented. The extension is available at csdb. However, to run a BASIC 3.5 program, it is ...
23
votes
9answers
6k views

Why did 8-bit computers choose BASIC dialects as “de facto” command-line interface, instead of contemporary Shell/Lisp dialects?

While all three clans of languages predated 8-bit computers, they shares features like 1) imperative programming, 2) English-alike keywords, 3) Prompt-Command-Parameters pattern interface. Why was ...
19
votes
6answers
3k views

Understanding INKEY$ in ZX BASIC

The ZX BASIC Manual gives the following little program to demonstrate how INKEY$ works: 10 IF INKEY$ <> "" THEN GO TO 10 20 IF INKEY$ = "" THEN GO TO 20 30 PRINT INKEY$; 40 GO TO 10 While I ...
15
votes
1answer
1k views

What are the “ports” used via IN/OUT, vs. the PEEK/POKE address space?

This is something of a followup to How much control of TRS-80 Model III disk drives was possible from its Cassette (ROM) BASIC? but on a more general topic: I know that PEEK and POKE enable direct ...
8
votes
2answers
213 views

How much control of TRS-80 Model III disk drives was possible from its Cassette (ROM) BASIC?

How much control over the TRS-80 Model III's floppy drive controller can be effected via relatively simple commands, typed into its built-in Cassette BASIC? My understanding is that general usage of ...
23
votes
3answers
4k views

Could you manually eject a floppy quick enough to prevent data loss?

I have the vague recollection of "Panic Ejecting" floppy disks by lifting the latch on the drive after immediately regretting a command I had typed. At the time, I was young, impulsive, and blessed ...
2
votes
1answer
116 views

Printing on the graphics screen with lowercase/uppercase letters using CHAR command in Commodore BASIC 7.0

The CHAR command in Commodore BASIC 7.0 on the Commodore 128 allows printing a text at a given position on the screen. Other than the PRINT command, CHAR also works in Hires graphics mode. Since the ...
9
votes
1answer
605 views

Restore a BASIC program after reset or “NEW” command on a Commodore 128

A BASIC program that was deleted with NEW or after a reset can be restored on Commodore computers as long as no new programs are entered or loaded (or the computer is powered off). For the C64, the ...
10
votes
2answers
1k views

Is it possible to PRINT AT 23,0 in ZX Spectrum BASIC?

The ZX Spectrum BASIC doesn't (ordinarily) let you print on lines 23 and 24 to allow for user input. Is there a way around this? I found a fairly recent post that suggested I could POKE 16418,0 but ...
14
votes
2answers
2k views

How was a line of Commodore 64 BASIC code stored in its memory?

I am reading up on old C64 stuff and I am using the Vice emulator to play with it. Currently I am studying about how the C64 stored BASIC programs in RAM. This is quite clear (it starts on address $...
48
votes
6answers
7k views

Can a PET 2001 be physically damaged from BASIC?

In the early 1980s my primary school was the proud owner of a Commodore PET 2001. There was a commonly held belief among the young geek fraternity that there existed a BASIC command—perhaps a ...