new basic extension - ARTISAN BASIC

Page 1/2
| 2

By mzoran

Master (155)

mzoran's picture

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.







Login or register to post comments

By thegeps

Paragon (1189)

thegeps's picture

24-10-2022, 00:51

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

By mzoran

Master (155)

mzoran's picture

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

By wilsonpilon

Champion (279)

wilsonpilon's picture

24-10-2022, 11:33

Nice Work!

By thegeps

Paragon (1189)

thegeps's picture

24-10-2022, 11:42

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

By pizzapower

Master (167)

pizzapower's picture

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?

By mzoran

Master (155)

mzoran's picture

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.

By pizzapower

Master (167)

pizzapower's picture

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.

By mzoran

Master (155)

mzoran's picture

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.

By mzoran

Master (155)

mzoran's picture

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 ?

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov's picture

28-10-2022, 15:41

Performed through EXTBIO.

Page 1/2
| 2