|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
![]() |
Author | Message |
---|---|
|
Running BBC BASIC on the Sega Master System
![]() |
https://benryves.com/journal/3763166
Seems that our friend is with problems because our beloved SMS have 8KB of RAM. This project can be feasible with others SMS tools here? For games we have Maxim´s tutorial and sverx devkit in C. I wonder if not would be better use a SC-3000 basic instead. OR BBC basic is much superior? |
|
![]() ![]() |
|
|
![]() |
one could use a cartridge with 16 KiB of RAM and have that mapped at $8000 to get a total of 24 KiB contiguous memory... | |
![]() ![]() ![]() |
|
|
![]() |
Yep or, depending on what we think the "rules" are, it should possible to design a cartridge which has more than 16K of RAM if necessary! |
|
![]() ![]() ![]() |
|
|
![]() |
Yes, if you don't mind using a custom mapper, you could have 64K of contiguous RAM at your disposal. |
|
![]() ![]() ![]() |
|
|
![]() |
well I just meant by simply using an EverDrive or similar, but of course with custom hardware everything is possible! :) | |
![]() ![]() ![]() |
|
|
![]() |
Ah! I was thinking about this. An everdrive wouldnt be better, considering that have a SD card for save basic projects? BTW i dream with a basic. I could program a game that i like. It is so simple but funny. Qbasic gorillas could even be used in your devkit in C. Moreover it also could be played online with NET80´s from ruibjr. |
|
![]() ![]() |
|
|
![]() |
Oh funny, I was thinking about QBasic Gorillas just the other day!
But I was wondering how it handled the physics of explosions - is it on a per pixel level? If so, might be kind of tricky on the VDP... |
|
![]() ![]() ![]() |
|
|
![]() |
In fact. There is a intellivision port but the results are not exciting: Who knows what the smspower gurus could achieve? But would be interesting. |
|
![]() ![]() |
|
|
![]() |
fullscreen BMP mode at 2bpp is possible... |
|
![]() ![]() ![]() |
|
|
![]() |
You mean mode 2? I completely forgot about that! Actually thinking about it, it's probably possible to do it with mode 4 as about half the screen is solid sky, and that should leave enough character space left to map one character per tile map slot for the buildings, then when the banana hits you just redefine some characters. EDIT: hmm...coding competition coming up in a few months :thinking: haha |
|
![]() ![]() ![]() |
|
|
![]() |
@sverx, Lemmings not could be a parameter of those explosions? I mean @willbriton couldnt use the same principle?
Please do it! Born a new sms dev! |
|
![]() ![]() |
|
|
Running BBC BASIC on the Sega Master System
![]() |
As well as 16KB at 0x8000 to 0xBFFF (with system DRAM giving a total of 24KB RAM) the standard Sega mapper also supports 32KB at 0x8000 to 0x0xFFFF using the 0xFFFC register.
Disable system DRAM using I/O Port 0x3E for that though. |
|
![]() ![]() |
|
|
![]() |
no, I meant 4-colors full screen image by reusing the BG tiles twice exploiting the dual palette in Mode 4 like this or this.
But does this work on the EverDrive? |
|
![]() ![]() ![]() |
|
|
![]() |
Oh, I get it! That's really sneaky, I love it! EDIT: could you expand the colours by doing a quick palette swaps on hblank interrupts? |
|
![]() ![]() ![]() |
|
|
![]() |
This is also very interesting | |
![]() ![]() |
|
|
![]() |
Oh that is very interesting - nice find! |
|
![]() ![]() ![]() |
|
|
![]() |
@willbriton i discovered today that my everdrive have 2 basic versions from SC-3000 definitely im excited in try a SC-3000 qbasic gorillas version. I saw the DOS qbasic gorillas source code and it have some commands similar at SC-3000 basic like Paint and Circle. Those commands are important for create the background and explosions for game. Much of game is based in coordinates. The problem is the SMS dont have a keyboard. You think that a PC keyboard could be adapted? How i could do it? You is interessed even in code your Qbasic gorillas version? | |
![]() ![]() |
|
|
![]() |
Well, if you don't care about keeping hardware compatibility with the SC3000 keyboard, then maybe you could create an adapter to connect an IBM PS2 keyboard to the SMS joystick port, and bit bang the protocol.
I do remember seeing somewhere that someone managed to bit bang the IBM PS2 keyboard protocol from the Game Boy's communication port; with ASM source code and everything. |
|
![]() ![]() ![]() |
|
|
![]() |
Hi friend. I dont imagined that would be complicated. I was thinking that could only be a case of wire db9 with PC cable. Rapaz, é tão complicado assim? Pensei que era apenas soldar um Db9 no cabo de PC. Não imaginei que precisava criar um aplicativo para rodar. Se eu fizer o jogo em um emulador do SC-3000, você acha que roda no Master? |
|
![]() ![]() |
|
|
![]() |
Isn’t all this exactly what Ben Ryves already did? | |
![]() ![]() ![]() |
|
|
![]() |
Hi friend, I saw the statment in site: For the software side of things I adapted my Emerson AT device library, previously written for the TI-83 Plus calculators, to the Sega Master System hardware. This library handles the low-level AT device protocol and also translates the raw keyboard scancode values to the corresponding characters. The problem is i dont found in any place in site the software adapted for SMS. The link just show the previous adaptation for TI-83. https://benryves.com/projects/emerson |
|
![]() ![]() |
|
|
![]() |
As an alternative, if all you want is a BASIC interpreter, there exists a BASIC interpreter for the GB, with full ASM source code; that one is fully joypad driven; no keyboard required. Or you could add on-screen joypad driven keyboard to BBC BASIC. | |
![]() ![]() ![]() |
|
|
![]() |
In theory, if the interpreter is compatible, and no hardware-specific routines are used, then it would be possible to write the game on the SC-3000 and then run it on a compatible interpreter on the SMS. |
|
![]() ![]() ![]() |
|
|
![]() |
I think I'd imagined just rewriting Gorillas "natively" for the SMS in either assembler or C, and I'm still thinking about it. Trying to make the original BASIC code work does sound like an ambitious and interesting challenge though. I don't personally see the input mechanism as a deal breaker, I reckon if it were me I'd adapt it to use a joypad. It's all numbers anyway right? You could even overload the INPUT keyword so that it triggers interactive character selection via joypad rather than keyboard input. The graphics is definitely the tricky bit, because of aforementioned lack of first class bitmap mode, but also because the original resolution was I believe the 640x200 mode so you'd have to think about whether or not you can get it to scale nicely. |
|
![]() ![]() ![]() |
|
|
![]() |
Portability of BASIC between dialects is pretty much impossible.
Ben Ryves’ work is here: https://github.com/benryves/BBCBasicSMS but there’s more to it than just a ROM download. |
|
![]() ![]() ![]() |
|
|
![]() |
Thanks for all your technical information friend. I will give up and i will wait your Qbasic gorillas version much better than i already saw.
Thanks for help me in this project, friend but a noob like me need of easy tools for start with. |
|
![]() ![]() |
![]() |