new basic extension - ARTISAN BASIC

Pagina 1/2
| 2

Door mzoran

Master (154)

afbeelding van mzoran

23-10-2022, 22:36

I have always felt that the capabilities of the machine could have been better exploited under BASIC. After competing in MSX-BASIC compo I decided to write my own extension focusing on:
• Extended memory support
• Bitmap operations
• Animation support
• Sound player
• Helper functions
ARTISAN BASIC is an extension of MSX BASIC. It is targeted at MSX1 machines with 64Kb memory and a disk system.
Some may have noticed my progress updates on Twitter and finally I have initial version to show to the world.
Sources, documentation and disk image can be found on GitHub
https://github.com/zmajcenic/ARTISAN-BASIC
A short playable demo (though with 1.5x CPU cheat) shows pretty much the whole functionality in a fun form.
https://webmsx.org/?MACHINE=MSX1E&Z80_CLOCK_MODE=1.5&DISK=ht...

For those interested feel free to contact me directly.







Aangemeld of registreer om reacties te plaatsen

Van thegeps

Paragon (1156)

afbeelding van thegeps

24-10-2022, 00:51

Share here you twitter account, I'd like to follow you. I didn't know about this project.

Van mzoran

Master (154)

afbeelding van mzoran

24-10-2022, 07:17

thegeps wrote:

Share here you twitter account, I'd like to follow you. I didn't know about this project.

Sure, @zmajcenic
Smile

Van wilsonpilon

Champion (278)

afbeelding van wilsonpilon

24-10-2022, 11:33

Nice Work!

Van thegeps

Paragon (1156)

afbeelding van thegeps

24-10-2022, 11:42

Oh, I was already following you, but for some reason notifications were disabled. Fixed Smile

Van pizzapower

Master (133)

afbeelding van pizzapower

24-10-2022, 19:35

I found the docs a little bit confusing. This image for instance

says that ARTISAN extension is less than 0x10 (16) bytes in size? I think that is not what you are trying to say here. Does it replace normal BASIC or do you put the extension code in a different slot and use it along normal BASIC? Does it work like a MSX-DOS program that moves itself after loading?

Van mzoran

Master (154)

afbeelding van mzoran

24-10-2022, 22:09

Not sure how you calculated 16 bytes of code, but no, size is about 10kb. It sits in RAM which is in another slot compared to ROM. And yes, since it is an extension, one uses it alongside standard BASIC. It is not MSX DOS compatible as it blindly assumes upper 32 Kb are free. It does work alongside X-BASIC if inserted as cartridge, though with limited use as CALL statements can't be compiled.

Van pizzapower

Master (133)

afbeelding van pizzapower

24-10-2022, 22:19

Because the grey area ("ARTISAN code", which I assume is the extension's code) starts at &h4000 and it ends at &h4010 (?) along with "animation data" according to the memory map above, which doesn't make sense.

Van mzoran

Master (154)

afbeelding van mzoran

24-10-2022, 22:28

That part is of variable size, it can be zero sized if no animations are defined or have some size. If you read memory locations &h4010 and &h4011, like in examples, you will get actual memory location where free memory begins.

Van mzoran

Master (154)

afbeelding van mzoran

26-10-2022, 15:21

Question for those experienced with MSX-DOS 2 and memory mappers. How does one make a BASIC extension that is compatible with such environment. I would need to have access to upper 32kb of memory. For that I guess one can request memory from a memory mapper. But is BASIC interpreter able to search for a BASIC extension in such configuration ? Any examples ?

Van Eugeny_Brychkov

Paragon (1226)

afbeelding van Eugeny_Brychkov

28-10-2022, 15:41

Performed through EXTBIO.

Pagina 1/2
| 2