4 days later

This is what I have found so far....
SYS()
Retrieve internal system addresses and parameters.
USAGE
a = SYS(item)
PARAMETERS
item
number of the item of information to be retrieved
RETURN VALUE
Requested information.
ITEMS
The following internal information can be retrieved using SYS():
0 memory address of BASIC program buffer
1 memory address of current font

Also, the video chip spec sheet and programmers reference manual can be found at:
http://www.vlsi.fi/fileadmin/datasheets/vs23s010.pdf
http://www.vlsi.fi/fileadmin/manuals_guides/vs23guide.pdf

Engine BASIC allows programming of the NTSC chip directly using commands:
VPOKE
VREG

Also the command SYS can call a machine language subroutine. This would be very interresting.
This last link is the spec sheet for the ESP8266 CPU of the microcontroller that is the heart of the BASIC Engine:
https://wiki.ai-thinker.com/_media/esp8266/a014ps01.pdf

9 days later

Thanks for the doc's... it's quite a bit more involved then I'd hoped, so it's going to take me a while to wrap my head around.

I'm trying to port over drop down menu routines I created in MMBasic and I'm looking for the screen memory. I cache the area under the window to a temp file and then write it back when it's closed. It's a lot faster then trying to redraw the screen especially if there were graphics there.

FYi, VREG($01) is bugged and mess's up the screen after its called, reported it.

    Questarian No problem. I am thinking of this machine as a main microcontroller with serial peripherals. Similar to the way I look at a computer with a printer attached. Maybe that will help disambiguate?

    What value did you "poke" (VREG) to $01 and what where you trying to accomplish? Maybe a higher resolution or palette?

    I should have thought to point out VPOKE and VPEEK. They read/write 1 byte of data to video memory.
    Video memory address is [0 to 131071] In contrast to the Color MaxiMite it is 1 pixel with color from 0-255 per poke.

    Drop down menus would be a great thing to have in our BASIC Engine toolbox.

      bitartrate thanks, the chip has a lot of interesting potential, but there's a lot more involved in background... fortunately, for part of I want to do, it looks like i can use SAVE/LOAD PCX, so most of the menu and file handling routines should port over to the Basic Engine fairly easily. I'd really like to port over as Sprite editor I've been working on but I've got to get a better handle on how Sprites are handled, and understand the PCX file format, so for now, it's a basic translation program and some utility programs, like a file browser, that I typically like do to learn the machine and build up a function library.

      it was the VREG($01), which should be the read version of VREG... On GIT, I'm being told $01 is the "write status register", where $05 is the read, so I'm assuming they mean the VREG read is using wrong opcode.

      Ohhhhh, I see now. I will do the same and verify. I am glad you made a bug report. Thank you. I am glad to have you in the BASIC Engine sphere. Utilities are a great thing.

      I would like to put it out there for those that may get frustrated with corrupt screen memory. If you use SCREEN command and select a different resolution it will reload without having to reset or turn off the machine.

      21 days later

      Powered by: FreeFlarum.
      (remove this footer)