Using memory below &0E00 from BASIC

Discuss all aspects of programming here. From 8-bit through to modern architectures.
User avatar
1024MAK
Posts: 6666
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: Using memory below &0E00 from BASIC

Postby 1024MAK » Fri Sep 29, 2017 6:25 am

The thing is though, as most people here know, the Beeb has 16k bytes for BASIC and 15k bytes for the OS. Most 8 bit CPU systems around that time frame had 16k bytes (or less) upto about 24k bytes of ROM in total for the OS and language (normally BASIC). Some of these were not very extensive or very sophisticated. But some did have some nice features. For me, there are three things I like about the version of BASIC in the ZX Spectrum: the inclusion of spaces in the keyword tokens so that it is easier to read listings, the I/O channels (so you can use PRINT #n; to send data to any valid open I/O channel etc...) and the string slicing system, for example B$=A$(5 TO 10).

There were a few machines that only had a simple command line tool instead of a language. You had to load in a language from mass storage. Due to the language loading into RAM, these could include features that may not have made it into a ROM version. But of course, if it was a tape based system, you had to load BASIC, then load the BASIC program... which kept you waiting for what seemed like an eternity :?

Things that l loved about programming the Beeb in BASIC back in 1982 include: procedures, renumber, nice keyboard, abbreviated keyword entry, and disk drives (well, at school anyway).

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
sydney
Posts: 1964
Joined: Wed May 18, 2005 9:09 am
Location: Newcastle upon Tyne

Re: Using memory below &0E00 from BASIC

Postby sydney » Sat Sep 30, 2017 9:19 am

I seem to be having a problem using page &B. The code at the end works fine on beebem as a master but as a beeb it acts weirdly. It seems to run fine but when you press break the screen clears and a flashing cursor appears in the top right corner. The keyboard responds and commands can be entered.

Changing to D%=&C00 solves the problem but I was hoping to keep &C clear in case I wanted to use custom characters.
Any ideas?

Sorted! I think.
&0B00-&0B10 Soft key pointers

From this I presume &0B00 is the pointer for *KEY 10 so when break is press random things will happen. Is there a way to turn off soft key functionality?

Code: Select all


D%=&B00
PROCINITPLAYER
END
DEFPROCINITPLAYER
    FOR LOOP = 0 TO 11
        READ A
        ?(D%+LOOP)=A
    NEXT LOOP
ENDPROC
DATA 0,0,0,0,0,0,12,0,16,0,1,0

User avatar
sydney
Posts: 1964
Joined: Wed May 18, 2005 9:09 am
Location: Newcastle upon Tyne

Re: Using memory below &0E00 from BASIC

Postby sydney » Sat Sep 30, 2017 9:25 am

sydney wrote:
&0B00-&0B10 Soft key pointers

From this I presume &0B00 is the pointer for *KEY 10 so when break is press random things will happen. Is there a way to turn off soft key functionality?


This isn't quite right but it's where the problem seem to lie. Changing to 'D%= &B20' seems to solve the problem.

User avatar
lurkio
Posts: 1141
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Using memory below &0E00 from BASIC

Postby lurkio » Sat Sep 30, 2017 9:46 am

sydney wrote:Is there a way to turn off soft key functionality?

*FX225 I think. More info here:

:idea:

User avatar
sydney
Posts: 1964
Joined: Wed May 18, 2005 9:09 am
Location: Newcastle upon Tyne

Re: Using memory below &0E00 from BASIC

Postby sydney » Sat Sep 30, 2017 9:59 am

lurkio wrote:
sydney wrote:Is there a way to turn off soft key functionality?

*FX225 I think. More info here:

:idea:


Cheers!


Return to “programming”

Who is online

Users browsing this forum: No registered users and 1 guest