Jump to content

nanochess

+AtariAge Subscriber
  • Posts

    7,026
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by nanochess

  1. There are already available several options for Colecovision cartridges PCB. You can search in G for these. Alternatively, my good friend @5-11under is also able to provide preprogrammed PCB to anyone interested.
  2. I've plans for mappers on Colecovision, not sure about SG-1000 yet. BTW for anyone interested, I've added Raspberry Pi binaries for all programs in the first post.
  3. Bump for my final offer
  4. I appreciate your words. I'm trying to make easier to create games. I'm also glad of being your friend. Thank you very much!
  5. Hi all. I didn't want @carlsson predictions to fail, so I struggled to release today 😜 Changes in the version 0.3.0: * Added SCREEN statement (to disable/enable the screen and to copy tilesets into the screen) * Added MODE statement (to reset modes and select one of three useful VDP modes) * Added BORDER statement (to change color of the screen border). * Added DEFINE VRAM statement (to copy data directly into VRAM). * Added ASM statement (for these things that cannot be coded currently). * Added demo.bas to show how to draw graphics imported by TMSColor on the screen. * Added oscar.bas to show how to display full-screen graphics. * Added TMSColor utility to import BMP images and convert these to the VDP data format. * More optimization of unnecessary 16-bit arithmetic to use only 8-bit. * Optimization of 8-bit comparisons. * Added a peephole optimizer to avoid variable reloading. Also corrected a bug that froze CVBasic when your program reached a certain size. All new statements are documented in the included manual.txt. Enjoy it! cvbasic_v0.3.0.zip cvbasic_pi_v0.3.0.zip
  6. If you make the right expansion hardware then you can control it with the INP and OUT instructions. Or if it is memory-mapped then you can use PEEK/POKE.
  7. Some things are inherited from IntyBASIC like the internal variable FRAME, so yes, you can do these type of expressions. Currently SG1000 is as capable as Colecovision, except there is no keypad in controllers. I would be glad to see some of your amazing work on Colecovision. Yes, there will be DEF FN, thanks for bringing it to my attention.
  8. I just released TMSColor, the utility for converting tiles and sprites to CVBasic format. https://github.com/nanochess/TMSColor Don't worry if you don't know how to compile it because the executables will be in the CVBasic v0.3.0 release. I'm almost ready to release it, but I need to code some examples of the new features.
  9. You need to pass the option --sg1000 to CVBasic, assemble as normal, and the generated ROM will be mapped at $0000. In case of doubt generate a LST file with the gasm80 assembler (option -l output.lst).
  10. Wow! I saw the video but I didn't know there was a ROM available. I thought you had just published it, but it was one year ago!!! 🤯 Thanks! 😀
  11. The player can tap the disc or the buttons as fast as possible and IntyBASIC will register it. The question here is: What breaks first, the keypad, the disc, or the hand?
  12. I would break your predictions because I just noticed CVBasic was released Feb, 29.
  13. Not really, because the Sega Master System video mode 4 isn't compatible as needed. However, SG1000 support means the ROM could be played at least in original Sega Master System consoles.
  14. If you missed on Colecovision BASIC compiler v0.1.0 now there is v0.2.0 ;) https://forums.atariage.com/topic/362604-colecovision-tastic-basic-compiler-cvbasic-v020/

     

  15. I just released the version 0.2.0. It is available here (moving to Colecovision Programming forum):
  16. Hi all. I'm surprised and humbled by the success of CVBasic v0.1.0 (one hundred downloads in less than one week!), so here is a very much improved version of the compiler. I've added macOS and Linux support. To do this, I had to write my own Z80 assembler, and it is included in the package as gasm80. Changes in this version: * Added CONST statement (for example, CONST A = 5, or CONST #BIG = 5000) * Added ON GOTO / GOSUB statement. * Added ON FRAME GOSUB statement (to call subroutines in each video frame). * Added INCLUDE statement so you can make bigger programs. * Added PLAY/MUSIC statements, and a music player. * Added a new example music.bas to show how to use PLAY/MUSIC. * Optimizes more extensively the compiled expressions. * Support for Sega SG1000. I need to implement a way to bring graphical screens. I have the tool, but we need a nice way of doing it with BASIC-style statements. I'll keep working on this, and in the meantime: Enjoy it! cvbasic_v0.2.0.zip
  17. Thank you very much! The compiler has also reached 100 downloads! It is a lot for a compiler that barely has one week published. I think the version 0.2.0 is ready to get out of the oven and now includes my own assembler. I hope to publish it soon.
  18. Because of the tone stuck, I would suspect first of the 2114 RAM (there are two of these). Besides I see in your picture one of these gets very hot.
  19. Today I've adapted my tinyasm assembler to Z80, and I now have a complete toolchain working in macOS. So the next version of CVBasic will support both macOS and Linux.
  20. 1. I don't have yet made the memory usage calculator. 8-bit variables use 1 byte, 16-bit variables use 2 bytes, and arrays use the width multiplied by the length. The maximum memory usage is around 960 bytes. 2. There is no segmentation of the memory yet, you can write a game up to 32K in size without worrying about segments. In the future, I expect to put bank-switching support, and there will be two 16 KB pages (one fixed, and another switchable) 3. There is no flipping or mirroring for the sprites. There is a zoom but it is for all the sprites, currently, there is no way to use it. 4. No graphic mode switching yet. Currently, you can consider the screen as a 32x24 grid with 256 characters where every character can be defined. 5. A difficult matter, but I expect to allow some support for tile scrolling. 6. The video mode set up by CVBasic is the highest-resolution video mode. In this mode the 32x24 screen grid addresses three areas, depending on the row (0-7, 8-15, 16-23), so DEFINE CHAR and DEFINE COLOR replicates the character definition in the three VRAM areas; otherwise, your character would be visible, for example, only on the top rows. 7. Only to VPOKE/VPEEK the 32x24 screen grid with the character numbers you want to see displayed. Forgot it: You can use PRINT AT instead of VPOKE. 8. Hahaha, good point!
  21. I'll consider it. Thanks for bringing it to my attention. The VGM file format is a music format where instead of notes, it logs the commands sent to the audio chip. This means it isn't editable, and that you can only use VGM files created for the sound chip you have. For example, a VGM file for AY-3-8910 audio doesn't work for the Colecovision SN76489.
×
×
  • Create New...