new basic extension - ARTISAN BASIC

صفحة 1/2
| 2

بواسطة mzoran

Master (161)

صورة 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.







Login أوregister لوضع تعليقاتك

بواسطة thegeps

Paragon (1251)

صورة thegeps

24-10-2022, 00:51

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

بواسطة mzoran

Master (161)

صورة 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

بواسطة wilsonpilon

Champion (279)

صورة wilsonpilon

24-10-2022, 11:33

Nice Work!

بواسطة thegeps

Paragon (1251)

صورة thegeps

24-10-2022, 11:42

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

بواسطة pizzapower

Master (172)

صورة 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?

بواسطة mzoran

Master (161)

صورة 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.

بواسطة pizzapower

Master (172)

صورة 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.

بواسطة mzoran

Master (161)

صورة 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.

بواسطة mzoran

Master (161)

صورة 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 ?

بواسطة Eugeny_Brychkov

Paragon (1232)

صورة Eugeny_Brychkov

28-10-2022, 15:41

Performed through EXTBIO.

صفحة 1/2
| 2