Bug Report

Porting Richard Russell's BBC BASIC (Z80) to the TI-83+ and TI-84+ series calculators.

Moderator: benryves

Post Reply
James
New Member
Posts: 3
Joined: Wed 09 Sep, 2009 7:13 pm

Bug Report

Post by James »

If I should be posting this somewhere else, by all means, tell me.

Some bug reports:

1) Saving a program with no extension sometimes results in "Disk full" when it obviously isn't (Still 9000 bytes free RAM).
2) Trying to load a program that is TI-BASIC (or whatever you call it) can cause the calc to crash and clear RAM.

Thanks for the help; BBCBASIC(Z80) is great.

EDIT: Forgot *BUILDINFO :
Revision 720
User avatar
benryves
Maxcoderz Staff
Posts: 3089
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Re: Bug Report

Post by benryves »

Thanks for your reports!

With regard to 1, how are you measuring "free RAM"? When you start BBC BASIC it allocates a block of RAM for BASIC (heap, stack, current program memory) and leaves the rest for TI-OS variables (saved programs). This is not ideal as the two different areas of RAM have to fight amongst eachother (BBC BASIC is designed for computer systems that store files externally, eg on a floppy disc or a compact cassette). There's not much I can do about this rather messy state of affairs - in an ideal world I'd allocate all RAM to BBC BASIC and write files directly to the archive, but this sadly isn't possible with the way the hardware and TI-OS currently works.

As for 2, cheers for the report. I suppose I could add a file format check when loading to ensure it's a valid BBC BASIC variable.

It'll be a while until I can do anything about these issues, sorry, but I have a huge amount of work on my plate at the moment..! :(
James
New Member
Posts: 3
Joined: Wed 09 Sep, 2009 7:13 pm

Re: Bug Report

Post by James »

Regarding #1:

I archived some stuff from the [2nd] Mem menu, and now it works. I guess there wasn't enough RAM for BBC to work with.

Thanks!
User avatar
benryves
Maxcoderz Staff
Posts: 3089
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Re: Bug Report

Post by benryves »

You can retrieve the amount of free RAM outside BBC BASIC's memory (that is, free RAM for storing programs in) with EXT#-1 (most useful when combined with very careful use of *HIMEM).
tribal
New Member
Posts: 5
Joined: Mon 28 Apr, 2008 8:53 pm
Location: anywhere, everywhere

Re: Bug Report

Post by tribal »

Found a bad little bug on BBC r762

RAM Clear by having a list with less than 4 characters and is given a illegal value.
ex:

Code: Select all

10 DIM LIS$(2)="0"
RUN
During first run, the console will output "No FN at line 10". If you type 'RUN' again, the interpreter will crash with a 'RAM Clear'.

Something interesting when I forgot you have to have STRING$(##, "")...
User avatar
benryves
Maxcoderz Staff
Posts: 3089
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Re: Bug Report

Post by benryves »

Hm, odd. The CP/M version doesn't appear to have the same issue:

Code: Select all

A0>BBCBASIC
BBC BASIC (Z80) Version 3.00
(C) Copyright R.T.Russell 1987
>10 DIM LIS$(2)="0"
>RUN

No FN at line 10
>RUN

No FN at line 10
>RUN

No FN at line 10
>
I'll look into it and see if I can work out why it's crashing.

Edit: Well, that's weird. When that particular error handler is called and HIMEM is &C000, SP is set to &C002. Little wonder that pushing some additional stuff onto the stack triggers a crash, is it? :o

Edit 2: Try the latest version, does that work for you?
Post Reply