+nanochess Posted September 3 Share Posted September 3 Hi everyone! CVBasic the integer BASIC cross-compiler for Colecovision gets even better. Version 0.6.0 implemented support for 1 MB of ROM in CVBasic, and also targets Sord M5, Memotech MTX, and Vtech Creativision/Dick Smith's Wizzard. And now this version adds support for Tatung Einstein, Casio PV2000, Hanimex/Soundic Pencil II, and *badum-tsss* Texas Instruments TI-99/4A. This one is a TMS9900-based machine, and the port is courtesy of @Tursi, including a separate TMS9900 support library. As always, you can target the eleven systems just by changing a switch in compilation! Z80, 6502, and TMS9900! All this without changing a line of source code. Try it just compiling the example programs and get them running on any of these systems! (bank-switching example only runs in selected platforms). The TI-99/4A port requires the 32K expansion RAM, and the program is limited to 24K. For assembling your program, you need to invoke xas99 -R (download from xdt99 tools https://github.com/endlos99/xdt99) and use http://js99er.net or the Classic99 emulator (putting the OBJ file into a DSK folder). Changes in v0.7.0: * Added support for Tatung Einstein using the switch --einstein * Added support for Casio PV2000 using the switch --pv2000 * Added support for Hanimex/Soundic Pencil II using the switch --pencil * Added support for Texas Instruments TI-99/4A using the switch --ti994a * Protected the AY-3-8910 mixer so you don't need to worry anymore of putting the correct bits 6-7. Enjoy it! cvbasic_v0.7.0.zip 11 2 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted September 3 Author Share Posted September 3 The example shown in the screenshot is a compilation of GORILLA.BAS for CVBasic gorilla.bas 3 Quote Link to comment Share on other sites More sharing options...
1980gamer Posted September 3 Share Posted September 3 The TI99/4A support makes this a bit more interesting. I wish we had something to go the other way. Take TI XB and compile it to CV etc. Even better would be the GEM / Compiled XB to CV. Still a great tool for people to create something for these consoles and computers. 1 Quote Link to comment Share on other sites More sharing options...
ZippyOasys Posted September 4 Share Posted September 4 Will there be a way to make cartridge files for the TI99/4A target in the foreseeable future? Quote Link to comment Share on other sites More sharing options...
+nanochess Posted September 4 Author Share Posted September 4 1 hour ago, ZippyOasys said: Will there be a way to make cartridge files for the TI99/4A target in the foreseeable future? So far as I know @Tursi intends to add support for cartridge files in the near future. 3 Quote Link to comment Share on other sites More sharing options...
Hakogame 箱亀 Posted September 4 Share Posted September 4 I hope the speech synth is supported. That's the best thing about the TI-99 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted September 8 Author Share Posted September 8 Woops! I just discovered there is a NABU PC machine based on Z80, and having a TMS9918 video chip... 3 Quote Link to comment Share on other sites More sharing options...
carlsson Posted September 8 Share Posted September 8 On 9/4/2024 at 1:02 AM, 1980gamer said: I wish we had something to go the other way. Take TI XB and compile it to CV etc. Even better would be the GEM / Compiled XB to CV. A source code converter might be doable, depending on how advanced things you can accomplish in Extended BASIC (or its sequels). To decompile something and output source code for a different dialect sounds like a big thing to ask. Can you already today decompile XB to source code? Quote Link to comment Share on other sites More sharing options...
1980gamer Posted September 8 Share Posted September 8 @carlsson I can provide object code. That is most likely even easier to deal with. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted September 9 Author Share Posted September 9 Ok, again I jumped the fence. GORILLA.BAS working in NABU PC (MAME emulation). To try it download the latest CVBasic and compile it from the Git. 5 Quote Link to comment Share on other sites More sharing options...
Sektor Posted September 11 Share Posted September 11 (edited) Great work! Both the .nabu and .com files work on NABU. Tested on hardware too. Edited September 11 by Sektor 2 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted September 11 Author Share Posted September 11 14 minutes ago, Sektor said: Great work! Both the .nabu and .com files work on NABU. Tested on hardware too. Wow! Glad to know. Thank you very much for testing! 😀 Quote Link to comment Share on other sites More sharing options...
Jess Ragan Posted September 15 Share Posted September 15 Nabu? I've never heard of that one, but lately I've been introduced to a LOT of obscure ColecoVision-y computers and game systems that I never knew existed. Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 15 Share Posted September 15 4 hours ago, Jess Ragan said: Nabu? I've never heard of that one, but lately I've been introduced to a LOT of obscure ColecoVision-y computers and game systems that I never knew existed. Nabu was almost entirely localized to Ottawa, Canada. It connected to the cable TV network to download software 1 Quote Link to comment Share on other sites More sharing options...
artrag Posted September 23 Share Posted September 23 (edited) Hi Oscar, I've a feature request about sprites and interrupts. Now the code that updates sprites on ISR is always active. This, in special cases, can interfere with other actions, e.g. reading or writing the VRAM using serial accesses (with IMP($BE) for example). You should allow the user to disable the sprite update subsystem with a command, e.g. SPRITE ON/OFF or SPRITE(OFF/ON) You should also add a couple of functions to enable/disable interrupts. Something equivalent to ASM call nmi_off ASM call nmi_on Edited September 28 by artrag 1 Quote Link to comment Share on other sites More sharing options...
artrag Posted September 25 Share Posted September 25 Another feature request: would it be possible to use the constants defined in CVbasic also in the ASM included in the bas files ? Now if i do const Width = 32 there is no way to use Width in the ASM in the same file. I would like to have something like what we have for variables, e.g. this ASM ld hl,const_Width 1 Quote Link to comment Share on other sites More sharing options...
artrag Posted September 28 Share Posted September 28 About the inner working of cvbasic Could you replace all call nmi_on/nmi_off by a macro that for msx is replaced by EI/DI ? 1 Quote Link to comment Share on other sites More sharing options...
artrag Posted 1 hour ago Share Posted 1 hour ago Brainstorming only.... The status register of the vdp hold the info about sprite collision in the previous frame and has to be read at isr to not interfere with vdp interrupts Have you evaluated to store the sprite collision flag in a global variable available to the user? Do you think it is not useful? Would maybe better to provide an asm function that would test collisions among rectangles? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.