Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : MMB4L: Requesting some input on command names for MMB4L specifics
Author | Message | ||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4066 |
Hi folks, There are a couple of new command names I've introduced in MMB4L 0.7.0 that I'm unsure about and wondered if anyone would like to add some input ? Item 1: OPTION SIMULATE platform - Enables (limited) compatibility with other MMBasic platforms. - platform can be one of: "MMB4L", "MMBasic for Windows", "MMB4W", "Colour Maximite 2", "CMM2", "PicoMiteVGA", "Game*Mite" and only needs to be quoted for the "MMBasic for Windows" and "Game*Mite" cases due to restrictions caused by tokenisation. I was wondering if this should be OPTION COMPATIBLE or something else instead? Note I deliberately don't want to use OPTION EMULATE because this is not an emulation in even a very loose sense. Item 2: The MMB4L specific graphics commands currently use the GRAPHICS keyword: GRAPHICS BUFFER id, width, height - Creates an off-screen buffer surface. - Note that surface 0 cannot be a buffer. GRAPHICS CLS id [, colour] - Clears a surface. GRAPHICS COPY src_id TO dst_id [, when] [, transparent] - Copies one surface to another (c.f. PAGE COPY on the CMM2). GRAPHICS DESTROY { id | ALL } - Destroys a surface. GRAPHICS INTERRUPT id, {interrupt|0} - Sets or clears the interrupt handler for a window surface. GRAPHICS LIST - Lists all surfaces. GRAPHICS SPRITE id, width, height - Creates a sprite surface. - Note that all graphics primitive commands can be used on sprite surfaces; this is different to other MMBasics. - Note that surface 0 cannot be a sprite. GRAPHICS TITLE id, title$ - Sets the title of a window surface. GRAPHICS WINDOW id, width, height [, x] [, y] [, title$] [, scale] [, interrupt] - Creates a window surface. - Note that surface 0 can (only) be a window. GRAPHICS WRITE { id | NONE } - Sets the surface to direct other graphics commands to (c.f. PAGE WRITE on the CMM2) I was wondering if this command should be be called GFX rather than GRAPHICS ? Best wishes, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
PhenixRising Guru Joined: 07/11/2023 Location: United KingdomPosts: 917 |
Definitely GFX |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6904 |
As a two-finger typist any reduction in word length is welcome. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
Hi Tom, Merry Christmas, and a very good and warm 2025... OPTION SYNTAX ? Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4066 |
And a Merry Christmas to you too. I like OPTION SYNTAX because it is short and snappy ... but it is a less than accurate description . MMB4L does more than just accept the syntax of other MMBasic platforms. For example with OPTION SIMULATE "PicoMiteVGA" it will simulate enough GPIO to let you use SETPIN/PIN/PULSE to read two connected USB controllers as if they were SNES controllers wired according to the PicoGAME VGA 2.0 schematic. Best wishes, Tom Edited 2024-12-20 03:19 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3231 |
I vote for - OPTION COMPATIBLE - GRAPHICS both make sense to the casual user. Geoff Geoff Graham - http://geoffg.net |
||||
Turbo46 Guru Joined: 24/12/2017 Location: AustraliaPosts: 1622 |
OPTION OPMODE OPTION GRAPHICS Maybe: OPTION GFXMODE Bill Edited 2024-12-20 12:41 by Turbo46 Keep safe. Live long and prosper. |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4343 |
I think you have set your mind to SIMULATE already, but here are more OPTION MIMICK OPTION TARGET OPTION PLATFORM OPTION ALIAS OPTION AVATAR OPTION CLOAK OPTION SIMILAR In your early post you make no difference between CMM2 and CMM2-G2. But there is. btw OPTION GRAPHICS is the best solution. I like abbreviations, but GFX is not one of them. Volhout PicomiteVGA PETSCII ROBOTS |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6904 |
Tiny BASIC anyone? GRAPHICS with the option to abbreviate it to "GR." :) I like OPTION COMPATIBLE because it's clear what it does. GRAPHICS I'm not quite so certain about, although it's descriptive. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9283 |
Surely this is MMBasic for LINUX. They should be called things like "splod" and "grok" |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4066 |
I suppose I should take comfort in the fact that I'm not the only one struggling to name these commands . Not OPTION PLATFORM (or OPTION DEVICE for that matter). OPTION PLATFORM already exists on the PicoMite as a permanent option that is unset in most circumstances, so I don't want to be setting it every time the user wants to "simulate" the PicoMite{VGA}. Note that currently setting OPTION SIMULATE "Game*Mite" will cause MM.INFO(DEVICE) to return "PicoMite" and MM.INFO(PLATFORM) to return "Game*Mite", but OPTION SIMULATE "PicoMiteVGA" will cause MM.INFO(DEVICE) to return "PicoMiteVGA" and MM.INFO(PLATFORM) to return the empty string. I quite like OPTION TARGET, shorter than SIMULATE and COMPATIBLE. What do others think ? At the crude level of simulation currently implemented there is no difference for MMB4L. I may change this in the future depending on what use (if any) users put MMB4L to. Note that MMB4L doesn't attempt to simulate memory usage or limitations, this would be a bit tricky because to keep things simple it uses (and pays the memory cost of) 32-bit graphics surfaces throughout. I think it would be a bit odd to implement an abbreviation for just one command. Likewise I want to avoid having both GRAPHICS and GFX as synonyms, that just reeks of "design by committee" . Best wishes, Tom Edited 2024-12-20 23:29 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Print this page |