new basic extension - ARTISAN BASIC

Página 1/2
| 2

Por mzoran

Master (154)

Imagen del 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 sesión o register para postear comentarios

Por thegeps

Paragon (1153)

Imagen del thegeps

24-10-2022, 00:51

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

Por mzoran

Master (154)

Imagen del 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

Por wilsonpilon

Champion (278)

Imagen del wilsonpilon

24-10-2022, 11:33

Nice Work!

Por thegeps

Paragon (1153)

Imagen del thegeps

24-10-2022, 11:42

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

Por pizzapower

Master (132)

Imagen del 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?

Por mzoran

Master (154)

Imagen del 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.

Por pizzapower

Master (132)

Imagen del 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.

Por mzoran

Master (154)

Imagen del 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.

Por mzoran

Master (154)

Imagen del 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 ?

Por Eugeny_Brychkov

Paragon (1226)

Imagen del Eugeny_Brychkov

28-10-2022, 15:41

Performed through EXTBIO.

Página 1/2
| 2