6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 7:09 am

All times are UTC




Post new topic Reply to topic  [ 15 posts ] 
Author Message
PostPosted: Sat Nov 11, 2023 4:09 am 
Offline

Joined: Sat Nov 11, 2023 3:58 am
Posts: 5
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:
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.

Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 11, 2023 10:14 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
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/


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 11, 2023 1:33 pm 
Offline
User avatar

Joined: Sun Dec 26, 2021 8:27 pm
Posts: 182
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

_________________
---
New new new new new video out! Serial Bootloader for my 65uino
Also, check out: I2C on a 6502 Single Board Computer
and Complete hardware overview of my 6502 SBC R1 :)


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 12, 2023 8:01 am 
Offline

Joined: Sat Nov 11, 2023 3:58 am
Posts: 5
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.


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 12, 2023 10:01 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8544
Location: Southern California
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:
        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:
        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:
        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:
        ; 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:
        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?


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 12, 2023 11:00 am 
Offline

Joined: Sat Nov 11, 2023 3:58 am
Posts: 5
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


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 13, 2023 1:05 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
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!


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 13, 2023 8:45 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
BigDumbDinosaur wrote:
[color=#000000]
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/


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 13, 2023 10:41 pm 
Offline

Joined: Sat Nov 11, 2023 3:58 am
Posts: 5
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


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 13, 2023 11:34 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
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


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 14, 2023 8:15 am 
Offline

Joined: Sun Jun 29, 2014 5:42 am
Posts: 352
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


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 14, 2023 8:29 am 
Offline

Joined: Sun Jun 29, 2014 5:42 am
Posts: 352
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


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 14, 2023 4:39 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
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)


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 28, 2023 6:48 pm 
Offline

Joined: Wed Nov 11, 2020 10:42 pm
Posts: 104
Location: Kelowna Canada
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.


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 30, 2023 6:45 am 
Offline

Joined: Wed Nov 11, 2020 10:42 pm
Posts: 104
Location: Kelowna Canada
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.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: