Skip to content

Develop this BASIC further to include more graphical capabilities. #73

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
OzHawk opened this issue Jan 18, 2025 · 7 comments
Open

Develop this BASIC further to include more graphical capabilities. #73

OzHawk opened this issue Jan 18, 2025 · 7 comments

Comments

@OzHawk
Copy link

OzHawk commented Jan 18, 2025

Hi Stefan,

Do you intend to develop this version of BASIC any further, or do you consider it finished?

If developing further, my request would be to implement some addition graphical capabilities. Whether it was redefined character sets, loading and displaying bitmaps or more advanced like sprites, those features would allow it to be used as a stand alone computer more like the “boot-to-BASIC” home computers we grew up with. Except that it would be possible to build you own “boot-to-BASIC” computer.

The computers of the 70s were OK, but they had very limited graphics until the late 70s.

@slviajero
Copy link
Owner

slviajero commented Jan 21, 2025 via email

@OzHawk
Copy link
Author

OzHawk commented Jan 22, 2025

Which of the old computers were best for graphics?
That’s a really tough question. Back then, the graphics capabilities of a computer were heavily dependant on the hardware used to drive the display. For the late 70s, the Atari 400/800 probably had the best graphics based around the Antic chip. Atari BASIC offered some capabilities, but when it came to programming the Antic chip it was still down to assembly code. There were quite a few home computers based around the TI graphics chips. While not as advanced as the Antic, they were still very capable. BASIC on to Creativision even allowed programming of sprites for it. However, that was the slowest version of BASIC ever. The Vic20 offered no sprite capability in the Vic chip, however this could be achieved in software by redefining the character set. I think being able to redefine the character set would be a minimum, and then consider how you would set the colours of the individual characters on the screen. I’m unsure of the chip used in the ZX Spectrum, but it was capable of amazing things even though it only allowed the foreground and background of each character on the screen to be set from a limited palette.
In modern BASICs, MMBASIC has implemented a full suit of graphics capabilities from within BASIC. BBC BASIC also has an interesting way of expending the graphics capability of a machine from within the existing BASIC framework.

@slviajero
Copy link
Owner

slviajero commented Jan 27, 2025 via email

@OzHawk
Copy link
Author

OzHawk commented Jan 27, 2025

I would look at emulating a video dosplay processor that was commonly used by various computer back in the day.
Selecting the MOS 6560 (VIC), MOS 6567 (VIC-II) or ANTIC will limit interest to only the users that had those computers. (Admittedly that was a LOT of users), but others are keeping those users satified with modern remakes.
I would look at emulating the TMS9918, that was used in a series of computers and consoles. Or one of fthe improved versions.
A lesser Video Interface Controller to emulate would be the Motorola MC6847. It was used by some cheap low end home computers. A lot less capable though.
One of the nice features of the VIC and VIC-II chips was the ability to change the colour memory without changing any other memory.
If you have enough memory, you would want to implement at least two framebuffers. The amount of memory available limits the resolution of the framebuffers. A common resolution 320 x 192 (different to the TMS9918) giving a character screen of 40 x 24 8x8 characters.
I'll consider some user stories to help you with your design.

@EvilDaveCanada
Copy link

EvilDaveCanada commented Jan 27, 2025 via email

@slviajero
Copy link
Owner

slviajero commented Feb 1, 2025 via email

@slviajero
Copy link
Owner

slviajero commented Feb 2, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants