I'm porting BBC BASIC to the Ben Eater 6502. I need testers!

Let's talk about anything related to the 6502 microprocessor.
Post Reply
spageen
Posts: 5
Joined: 11 Nov 2023

I'm porting BBC BASIC to the Ben Eater 6502. I need testers!

Post by spageen »

Hello! I am in the process of creating 'BeebEater': a thin layer of assembly over the original BBC BASIC binary to make it compatible with Ben Eater's 6502 breadboard computer build. I've implemented handy things such as the serial terminal, LCD, and the PS/2 Keyboard.

This project was inspired by the seeming lack of definitive software to install on a 6502 homebrew build. Many suggest BBC BASIC, but it requires a bit of elbow grease to get working. I figured I would do the 'elbow grease' required so others don't have to!

GitHub repo is here: https://github.com/chelsea6502/BeebEater. All you need to do is load the ROM into the EEPROM, and reset.

However, it hasn't been robustly tested by other people yet. I'm looking for people with a completed Ben Eater build to at the very least confirm that the latest version is working for them.

If you can help out, please let me know! I'm a little new to the 6502 and computer hardware, so I would also appreciate any 6502 experts who could give me feedback on how to better write some of my routines. Thanks! :)


Edit: Don't have the Ben Eater hardware? You can use the Symon 6502 Simulator to try it all in software.

Download Symon 1.4.0 here: https://github.com/sethm/symon/releases/tag/v1.4.0.

Then, place BeebEater.rom in the same folder as Symon, then run Symon with the following:

Code: Select all

java -jar symon-1.4.0.jar -rom BeebEater.rom -cpu 65c02 -machine benEater
Last edited by spageen on Wed Nov 15, 2023 9:58 am, edited 1 time in total.
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by drogon »

spageen wrote:
Hello! I am in the process of creating 'BeebEater': a thin layer of assembly over the original BBC BASIC binary to make it compatible with Ben Eater's 6502 breadboard computer build. I've implemented handy things such as the serial terminal, LCD, and the PS/2 Keyboard.

This project was inspired by the seeming lack of definitive software to install on a 6502 homebrew build. Many suggest BBC BASIC, but it requires a bit of elbow grease to get working. I figured I would do the 'elbow grease' required so others don't have to!

GitHub repo is here: https://github.com/chelsea6502/BeebEater. All you need to do is load the ROM into the EEPROM, and reset.

However, it hasn't been robustly tested by other people yet. I'm looking for people with a completed Ben Eater build to at the very least confirm that the latest version is working for them.

If you can help out, please let me know! I'm a little new to the 6502 and computer hardware, so I would also appreciate any 6502 experts who could give me feedback on how to better write some of my routines. Thanks! :)
Looks good (saw the video on facebook)

I don't have a BE system (no plans to make one either), but several of my own and I've written my own mostly Acorn compatible OS for my them (and ported it to a couple others in the process). I can run the original BBC Basic, COMAL and BCPL ROMs and others work to a greater or lesser degree, so it's great fun. I did port it to the Cerberus system with it's on-board frame buffer too, handled all the usual vdu, plot stuff, but that project went very quiet for whatever reason and they've gone down the Z80 route now by the looks of it.

My own RubyOS thing works by sending all the plot, vdu, etc. commands up the serial line to a smart terminal (could be a real bbc micro) which then does all the graphics, etc. on my Linux desktop, so I can have 24bpp, 1280x1024 (the virtual resolution of a Beeb). It works really well over the serial line at 115200 baud too. I also have local frame buffer code too and run it on a 20x4 LCD where all the vdu codes work (as well as they can on an LCD) and I have plans for a graphics card for it, but not this year now.

I've temporarily put my own RubyOS on-hold for now (mostly because it's basically 'done' and working) and am looking at my TinyBasic - want to port that? It's much easier to port than BBC Basic :-)

(Although if you can already run BBC Basic, my TB will more or less "just work" as-is, but it's not quite as fast or full featured as BBC Basic.)

I don't think the issue is lack of software though - there is plenty of that - part of the issue (if there even is an issue) is that a lot of folks are somewhat set in their ways - e.g. I once demoed my system running BBC Basic some years back to a room full of Acorn enthusiasts.... "Oh, very nice, but it's not a BBC Micro" was more or less the response I got... And this was a 16Mhz 65C02 too. (Now there is a 300Mhz 2nd processor for the Beebs, so lost that one) ... And I've seen the same elsewhere - I've seen some "retro new" systems do well as they have an existing software base or are close to the old systems to be familiar (mostly the commodore look-a-like types), some are just great little personal projects that bear no relation to old systems.

And of-course unlike the Z80 with it's CP/M world there never was an equivalent back then - every 6502 system was different (although so were the home Z80's, but at least CP/M was a common ground for a lot of stuff). We do have a couple of 6502 CP/M look-a-likes now, but where's the masses flocking to use them?

The other thing about BBC Basic.. Sadly, outside the UK, some of .eu and a few places down-under, no-one has heard of BBC Basic, so it might as well not exist, so it's a "hard sell" to get people interested (and as you're finding not easy to get going on a new system) - we can go on at lengths about how good it is, fast, structured, 32-bit integers, faster floating point, built-in assembler and so on, but it sometimes feels like wading through treacle. I even posted benchmarks some time back showing that it is almost twice as fast as the older MS Basics (like EhBasic), but ... Meh ...

Don't let that put you off though - Do Keep going!

Cheers,

-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
User avatar
AndersNielsen
Posts: 185
Joined: 26 Dec 2021
Contact:

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by AndersNielsen »

spageen wrote:
Hello! I am in the process of creating 'BeebEater': a thin layer of assembly over the original BBC BASIC binary to make it compatible with Ben Eater's 6502 breadboard computer build. I've implemented handy things such as the serial terminal, LCD, and the PS/2 Keyboard.

This project was inspired by the seeming lack of definitive software to install on a 6502 homebrew build. Many suggest BBC BASIC, but it requires a bit of elbow grease to get working. I figured I would do the 'elbow grease' required so others don't have to!

GitHub repo is here: https://github.com/chelsea6502/BeebEater. All you need to do is load the ROM into the EEPROM, and reset.

However, it hasn't been robustly tested by other people yet. I'm looking for people with a completed Ben Eater build to at the very least confirm that the latest version is working for them.

If you can help out, please let me know! I'm a little new to the 6502 and computer hardware, so I would also appreciate any 6502 experts who could give me feedback on how to better write some of my routines. Thanks! :)
Did you see my 1977 MS BASIC Video? https://youtu.be/FIeAEPiKzo4

It's very similar to BE's 6502 - because they're both based on Garth Wilson's design. https://wilsonminesco.com/6502primer/potpourri.html
spageen
Posts: 5
Joined: 11 Nov 2023

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by spageen »

drogon wrote:

I don't think the issue is lack of software though - there is plenty of that - part of the issue (if there even is an issue) is that a lot of folks are somewhat set in their ways - e.g. I once demoed my system running BBC Basic some years back to a room full of Acorn enthusiasts.... "Oh, very nice, but it's not a BBC Micro" was more or less the response I got... And this was a 16Mhz 65C02 too. (Now there is a 300Mhz 2nd processor for the Beebs, so lost that one) ... And I've seen the same elsewhere - I've seen some "retro new" systems do well as they have an existing software base or are close to the old systems to be familiar (mostly the commodore look-a-like types), some are just great little personal projects that bear no relation to old systems.

And of-course unlike the Z80 with it's CP/M world there never was an equivalent back then - every 6502 system was different (although so were the home Z80's, but at least CP/M was a common ground for a lot of stuff). We do have a couple of 6502 CP/M look-a-likes now, but where's the masses flocking to use them?

The other thing about BBC Basic.. Sadly, outside the UK, some of .eu and a few places down-under, no-one has heard of BBC Basic, so it might as well not exist, so it's a "hard sell" to get people interested (and as you're finding not easy to get going on a new system) - we can go on at lengths about how good it is, fast, structured, 32-bit integers, faster floating point, built-in assembler and so on, but it sometimes feels like wading through treacle. I even posted benchmarks some time back showing that it is almost twice as fast as the older MS Basics (like EhBasic), but ... Meh ...

-Gordon
Hi Gordon! RubyOS sounds cool. I might have a look later.

My target audience sounds a little different to yours. I'm simply aiming to help people get the most out of their 6502 build, even if they have never heard of BBC BASIC before.

Ben Eater does a great job in teaching people how to build their own home-brew computer from scratch. However, the focus is much more on the hardware than on the software. I often see new people on here or on Reddit asking 'What OS can I install on my 6502?', and there never seems to be a standard, consistent answer.

'EhBasic' is the best answer so far, but I think BBC BASIC's speed, native sound/video commands, and built-in assembler really give it the edge over any other BASIC interpreter. My focus isn't really on historical accuracy or nostalgia for the BBC Micro/Master, but simply just the capability that it can bring to a 6502 homebrew build. A keyboard, LCD and a built-in assembler would make the Ben Eater 6502 a 100% fully independent computer! At least, in theory.

When I'm ready to release v1.0, I want to really place the emphasis on what it can do over EhBasic/MSBasic/Wozmon, rather than try and be a BBC Micro/Master.
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by GARTHWILSON »

Welcome.

If you would like to make it more efficient, I see a lot of things immediately in BeebEater.asm that could be streamlined.  I won't go through the whole thing, but make suggestions on a few, starting from the top.

  • To start, it's zeroing the processor status, when the reset already clears D and sets I (interrupt disable) (and yes, you want that one set, not clear, to start).  N, V, C, and Z have no meaning yet, and B does not physically exist in the processor, but is only a bit position in the stacked status record when there's an interrupt.  Even the SEI after reset is only necessary if you might want to be jumping there without bringing the RST\ pin low.
  • Initializing RAM to all 0's is usually not any better than whatever semi-random stuff that comes up in it at power-up.  Of course you shouldn't use variables that have not been written meaningful data to yet, but 0 may be just as troublesome as anything else, like if you try to divide by it.  I never do these wipes.
  • But if you do, you have,

    Code: Select all

        LDA #0
        LDX #$3F
        LDY #$00
        STA $00
    where the LDY  #0 could be replaced with TAY (since there's already 0 in A).
  • A few lines down, there is

    Code: Select all

        DEX
        CPX #$00
    Note that the compare-to-0 is already built into the DEX, so you don't need a separate instruction for it.
  • A few lines below that, there is

    Code: Select all

        LDY #0
        STY $01
        STY $00
    I see you are counting on Y being zero a few lines down; but otherwise you could use STZ to zero addresses 1 and 0.
  • A few lines down is

    Code: Select all

        ; Reset registers just to be safe
        LDX #0
        LDY #0
    which doesn't give any safety at all, because they're not used again until another page or two down; and if you're going to keep tabs on what's in what registers for that long, you might as well take advantage of the fact that you still have 0 in A, and do TAX and TAY, again saving bytes.  There are more of these "just to be safe" lines that don't make anything safer.
  • In this one

    Code: Select all

        LDA #$00 ; Set PORTA to input
        STA DDRA
    
        LDA #$00 ; Soft reset the 6551 ACIA by writing 0 to the status register.
        STA ACIA_STATUS
    There's no point in loading 0 into A twice; but better, you can ignore what's in A and use STZ (STore Zero) instead of STA.


There are more of these tips in section 20 of the 6502 primer, at http://wilsonminesco.com/6502primer/PgmTips.html .  Been Eater seems to have gotten a lot of his ideas from this 6502 Primer, indexed at http://wilsonminesco.com/6502primer/ .  Even where these things may be harmless, it's still easier to keep control of a project if you don't have unnecessary stuff adding to the length.  Macros can shorten and clarify it a lot too—but that's a subject for later.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
spageen
Posts: 5
Joined: 11 Nov 2023

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by spageen »

Hi Garth, I love your website! It's been amazing to get help from such heavyweights like you and JG Harston.

Thanks for the suggestions. I'll try and incorporate those, and then absorb your beginner programming tips page to see what else I can streamline.
----------------------

BeebEater - BBC BASIC for the Ben Eater 6502: https://github.com/chelsea6502/BeebEater
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by BigDumbDinosaur »

spageen wrote:
Hello! I am in the process of creating ’BeebEater’: a thin layer of assembly over the original BBC Basic binary to make it compatible with Ben Eater’s 6502 breadboard computer build. I’ve implemented handy things such as the serial terminal, LCD, and the PS/2 Keyboard...

First off, welcome to 6502 Land.

I think you may have a little confusion going on.  BBC Basic is not an operating system.  It is a language interpreter.  An operating system, more specifically, a kernel, is the software that directly interacts with the hardware.  A language interpreter, such as BBC Basic, runs on top of a kernel, through which it gets services to access files, drive the display, etc.

In the 6502 universe, kernels tend to be very specific to the machine, even though the MPU itself is the same in the many different systems that were designed around the 6502 and its derivatives.  There is no uniformity in machine architecture, which has been a 6502-sort of problem for some 47 years.

BBC Basic can’t run without the low-level support services of the computer on which it was designed to be used.  Obviously, to store and retrieve data from within a running BASIC program, a filesystem is needed, which means some sort of kernel is needed to manipulate the filesystem, as well as control other hardware features, such as video.  Many homebrew 6502 systems lack such features.

Would BBC Basic be a good fit on a low-end, homebrew system like what Ben Eater promotes in his Youtube series?  I’m inclined to think not.  His system is essentially a copy of the basic circuit Garth Wilson presents on his website.  Garth’s reference system, while functional, is not something that will work at the level required to properly support BBC Basic.

The need to maintain a comfortable footprint on a small 6502 homebrew system is one of the reason EhBASIC became popular.  If you can meet such a requirement with BBC Basic, you may see interest.

drogon wrote:
I don't think the issue is lack of software though - there is plenty of that - part of the issue (if there even is an issue) is that a lot of folks are somewhat set in their ways - e.g. I once demoed my system running BBC Basic some years back to a room full of Acorn enthusiasts.... "Oh, very nice, but it's not a BBC Micro" was more or less the response I got...

Reminds me of the “holy wars” of the 1980s about whose home computer was the best.  :D
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by drogon »

BigDumbDinosaur wrote:
spageen wrote:
Hello! I am in the process of creating ’BeebEater’: a thin layer of assembly over the original BBC Basic binary to make it compatible with Ben Eater’s 6502 breadboard computer build. I’ve implemented handy things such as the serial terminal, LCD, and the PS/2 Keyboard...

First off, welcome to 6502 Land.

I think you may have a little confusion going on.  BBC Basic is not an operating system.  It is a language interpreter.  An operating system, more specifically, a kernel, is the software that directly interacts with the hardware.  A language interpreter, such as BBC Basic, runs on top of a kernel, through which it gets services to access files, drive the display, etc.

In the 6502 universe, kernels tend to be very specific to the machine, even though the MPU itself is the same in the many different systems that were designed around the 6502 and its derivatives.  There is no uniformity in machine architecture, which has been a 6502-sort of problem for some 47 years.

BBC Basic can’t run without the low-level support services of the computer on which it was designed to be used.  Obviously, to store and retrieve data from within a running BASIC program, a filesystem is needed, which means some sort of kernel is needed to manipulate the filesystem, as well as control other hardware features, such as video.  Many homebrew 6502 systems lack such features.



BBC Basic (like EhBASIC) requires support to interface to the host hardware and Acorn originally supplied an operating system with the Acorn/BBC Micro to go this. As I understand it, this is what @spageen is writing - enough support to make BBC Basic work on the BE hardware.

Others have done the same (including myself) and the process is extremely well documented. The interface to the original Acorn MOS (Machine Operating System) was published back then and is even more understood and documented now

To make BBC Basic work you don't need to do much at all - there are a few calls you need to implement (character IO, get memory sizes, read a line of text - you know, the same you might have to implement for EhBASIC) and that's about it. That's how I started mine - I just grew it after that to support more machine stuff (like, asynchronous 'escape' detection, sound, files, etc.)

(Even sound and graphics are a function of the OS)

Even the filing system isn't cast in stone - BBC Basic is filesystem agnostic, tape, disk, network it doesn't care nor, does it know - it provides the commands and those commands call standard, documented entry points into the operating system and the OS does the rest. Currently my Ruby system is using FAT32 and that's just fine although I started writing my own FS but wanted better interoperability with my laptop.

Is it a fit for a small 6502? Absolutely, and why not? BBC Basic is a 16KB ROM and the minimum support it needs might be under 1KB, so why not? Minimum RAM you might need is in the order of 4KB.

So if you want a BASIC that's almost 2x faster than any MS Basic out there, has more features, (long variables names, recursion, named functions/procedures, local variables, built-in assembler, 5-byte floats, 32-bit ints, et. etc. etc. ) then why not?

I also suspect that there may well be more people actively running and developing code under BBC Basic than any other 8-bit BASIC right now too - thousands of people are still using it on original BBC Micros or emulators and BBC Micros sell very quickly on ebay - several people including myself buy, refurbish and sell BBC Micros and there's no lacking in demand for it.

EhBasic became popular because there wasn't an easy choice. It assembles to about 10KB and you need the rest of the 16KB ROM space for a monitor. There's no reason a Ben Eater system can't support more ROM/RAM, so go for it. It's not like its expensive these days... When I got back into the 6502 again I looked long and hard for a more modern BASIC and found nothing. I implemented EhBASIC because everyone does but meh... I'd already written my ideal BASIC (in C) and wanted something better for my 6502 so I made BBC Basic run and a side-effect of that was the ability to run other Acorn ROMs unchanged - like Comal, Forth and BCPL. The word processors and spreadsheets escape me as they do more hardware poking than they should.

I have ported my RubyOS to 3 different 6502 systems now - I've no plans to do another. I did look at it for my 134-SXB project and had a RAM version going some time back, I never bothered with BBC Basic because that hardware would make running BBC Basic harder without me re-assembling it as Zero page is used for IO in the 65c134.


So lets embrace it!

Quote:
Would BBC Basic be a good fit on a low-end, homebrew system like what Ben Eater promotes in his Youtube series?  I’m inclined to think not.  His system is essentially a copy of the basic circuit Garth Wilson presents on his website.  Garth’s reference system, while functional, is not something that will work at the level required to properly support BBC Basic.


Can we get over this whole "copied Garths design" thing? So what?

As for a good fit? You think it's any better or worse fit than someone putting EhBasic on an Apple 1?

Quote:
The need to maintain a comfortable footprint on a small 6502 homebrew system is one of the reason EhBASIC became popular.  If you can meet such a requirement with BBC Basic, you may see interest.


I do not think this is remotely true. EhBASIC got there because there was little/no choice and people are lazy.

Even Lee was lazy, disassembling Microsoft Basic then passing it off as his own. I lost all respect for him when I found this out.

As for minimum? What exactly do you need? Some ROM, some RAM, a 6502, UART, decode - that's 5 ICs. Substitute the UART for a VIA and you have an interface to a parallel keyboard and LCD and its completely self-contained.

My original Ruby 6502 is a 5 IC system - CPU, RAM, Host µC, VIA, Glue IC. Quite minimal and it runs BBC Basic very well.

Sláinte,

-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
spageen
Posts: 5
Joined: 11 Nov 2023

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by spageen »

Completely agree with everything you said there, Gordon. Nicely worded!

As I’m approaching version 1.0, I’ve found that the code has blown up to a level that is starting to stray away my original goal of being portable and simple to understand.

Once I’m done with the initial release of BeebEater, I’m tempted to make a “serial only” port of BBC BASIC, with only the bare minimum code. Main focus would be on portability and extensibility.

My approach to “the hardware problem” is sort of a two-prong approach: support the most popular homebrew build, then have a stripped down version that can be on as many variations as possible.
----------------------

BeebEater - BBC BASIC for the Ben Eater 6502: https://github.com/chelsea6502/BeebEater
User avatar
BillO
Posts: 1038
Joined: 12 Dec 2008
Location: Canada

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by BillO »

Thanks for this.

If I ever get a few days of un-interrupted thought-flow time I might try to put a version of BBC BASIC on one of my designs using your version as a guide.
Bill
hoglet
Posts: 367
Joined: 29 Jun 2014

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by hoglet »

This is a great project and I'm sure it will be very popular.

BBC Basic has a built-in 6502 assembler, which makes it an excellent development environment for Ben Eater's user base. It's common when developing assembler programs to get a hard crash that needs a reset to recover. Given this, I would definitely preserve the BBC Basic program memory (i.e. $800 and beyond) on reset, rather than clear it each time.

Edit: Ah ha, I see you already did this yesterday:
Removed RAM wipe + unneccessary status flag sets

Dave
hoglet
Posts: 367
Joined: 29 Jun 2014

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by hoglet »

In case it's of any use to you, here's a link to a disassembly (in BeebASM assembler format) of BBC Basic 4r32:
https://github.com/hoglet67/BBCBasic4r32

You can easily search through the main source file (basic432.asm) to find what OS functions it relies on.

Also, the README.txt file documents an accuracy bug in the maths code of that particular version, and shows how to patch this.

Dave
User avatar
barrym95838
Posts: 2056
Joined: 30 Jun 2013
Location: Sacramento, CA, USA

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by barrym95838 »

I have lived in California for all of my 57 years, and I never got exposed to BBC BASIC during my formative years (I learned on TRS-80 Level 1 and moved to Level 2 and Applesoft). I didn't know much of anything about it until I found this forum and followed several references to stardot.org.uk ... very, very impressive, and IMO worth spending a few extra KB of ROM, if a full-featured BASIC is your thing. I'm too set in my ways to move from Applesoft for quick hacks, and to be honest quick hacks cover exactly all of my use cases. But BBC BASIC is clearly a quality product, and I applaud (from a safe distance) all efforts to port it to new platforms.
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)
okwatts
Posts: 110
Joined: 11 Nov 2020
Location: Kelowna Canada

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by okwatts »

Thanks for posting this and for doing this. I do not have a Ben Eater system but I have Rich Cini's SBC2.71 (see the SBC section). This has most of the components and a slightly different memory map. I was able to use your code and after commenting out the bits related to the PS2 keyboard and LCD display get it to boot and run on this board using only the ACIA. It seems to be fine for most things and I was able to run Gordon's (drogon) ASCII mandelbrot program on it with one exception. It appears that the timer (TIME) within a program does not increment. It increments at the command line but repeated references inside a program give the same value. It is possible that in my hacking it to work on my system I have made an error in disabling interrupts in some of the system calls, but I don't believe so. Anyhow apart from that it seems fine. Now all it needs next are save and load (an SD card implementation bitbanged SPI through a VIA would be great). Other things like sound and graphics would be nice but unless there is a consensus in the Ben Eater community this would be of limited value for the work involved.
Thanks again and I will be following further developments.
okwatts
Posts: 110
Joined: 11 Nov 2020
Location: Kelowna Canada

Re: I'm porting BBC BASIC to the Ben Eater 6502. I need test

Post by okwatts »

Actually I was too hasty in my claim that I may not have messed things up. While I can enter programs and run them I have another issue. If I ask for input from the user in the program I can enter data which is echoed to the screen, but after hitting return the system hangs until reset. I obviously haven't got this figured out yet. I'm a novice at BBC Basic and the MOS aspects so I'm not sure why this behaviour should change between typing at the prompt and running inside the program but it's likely the Time issues are related. I will have look more closely at the code and documentation. Failing that I will have to look at Ben Eater's implementation of the LCD and PS2 keyboard and see if that gives me more clues.
Post Reply