Menu

GCBASIC Project: 2024 Year in Review

Anobium
2024-11-19
2025-02-25
1 2 3 > >> (Page 1 of 3)
  • Anobium

    Anobium - 2024-11-19

    GCBASIC Project: 2024 Year in Review

    2024 has been an exceptional year for GCBASIC, the open-source BASIC compiler designed for 8-bit microcontrollers.

    Since its inception in 2005, GCBASIC has grown to become the best 8-bit compiler for PIC, AVR, and LGT microcontrollers. The project has seen numerous advancements that have expanded its capabilities, improved performance, and broadened its user base.

    Here's a look at some of the significant achievements and developments from the past year.

    Expanded Microcontroller Support

    This year, GCBASIC has added support for 100 new microcontrollers, making it one of the comprehensive BASIC compilers for 8-bit devices. The newly supported microcontrollers include various AVRDx models, enhancing the versatility and reach of the compiler.
    GCBASIC now supports over 1400 microcontrollers.

    Enhanced Features and Support

    • EEPROM Blocks and Data Blocks: GCBASIC has introduced support for EEPROM and data blocks, enabling more efficient data storage and manipulation. This addition allows users to store persistent data directly on the microcontroller, making it easier to manage settings and other critical information.

    • Floats for PICs: Floating-point support has been extended to PIC microcontrollers, enabling more complex mathematical computations and expanding the range of possible applications.

    • Graphical LCD (GLCD) Support: The optimisation of GLCD support allows developers to create more sophisticated user interfaces with graphical elements, enhancing the usability and aesthetics of their projects.

    GC STUDIO and GC CODE

    GC STUDIO and GC CODE have solidified their positions as the standard development environment and code editor for GCBASIC users. With their intuitive interfaces, robust features, and seamless integration with GCBASIC, they make programming more accessible and efficient. GC STUDIO offers powerful IDE management tools, while GC CODE provides advanced editing capabilities, making them indispensable tools for both beginners and seasoned developers.

    Compiler Efficiency and Improvements

    The GCBASIC compiler has undergone significant optimizations this year. These improvements have resulted in faster compilation times and smaller code footprints, making the development process more efficient. Additionally, overall compilation improvements have led to better performance and resource utilization across supported microcontrollers.

    Website improvements

    The GCBASIC website at gcbasic.com has recently undergone significant updates to enhance user experience and access to resources. The new website design includes improved navigation, making it easier for users to find documentation, tutorials, and download links. A revamped support section now provides more comprehensive guides and troubleshooting tips, ensuring users can get help quickly. The update also brings a fresh look to the homepage, highlighting the latest news, updates, and featured projects from the GCBASIC community.

    These enhancements aim to make the GCBASIC website a more user-friendly and resourceful hub for all things related to GCBASIC programming.

    More Demonstrations and examples programs

    To help users get started quickly and effectively, GCBASIC has added numerous new demonstration programs. These examples cover a wide range of applications and provide a practical guide for using the various features and functions of the compiler.

    Tool chain Updates and Community Support

    This year saw over 115 changes to the GCBASIC tool chain, enhancing functionality and user experience. The GCBASIC community has been incredibly supportive and active, with a vibrant forum and development ecosystem that fosters collaboration and innovation. Users have contributed valuable feedback and shared their projects, helping to drive the continuous improvement of the platform.

    Looking Ahead to 2025

    The future of GCBASIC looks bright, with several exciting developments on the horizon:

    • GC CONFIGURATOR: A new tool that leverages AI to generate programs, simplifying the development process and making it more accessible to users of all skill levels.

    • 8051 Microcontroller Support: The addition of support for 8051 microcontrollers will broaden the range of devices that can be programmed using GCBASIC, further expanding its versatility.

    • BLOCKLY Support: Integration with BLOCKLY will provide a visual programming interface, making it easier for beginners to create programs by dragging and dropping code blocks. This feature will be particularly useful for educational purposes and for those new to programming.

    Conclusion

    2024 has been a year of growth and enhancement for GCBASIC. With expanded microcontroller support, improved features, and a focus on user-friendliness, GCBASIC continues to be a valuable tool for embedded programmers. As we look forward to 2025, the planned developments promise to make GCBASIC even more powerful and accessible, ensuring it remains at the forefront of 8-bit microcontroller programming.

    Thank you to the GCBASIC community for your contributions and support. I personally thank everyone involved in GCBASIC, but, a special thanks to Angel for his leadership and guidance.

    So, let us raise a virtual glass to GCBASIC! May its future be as bright and bold as the code it compiles for the world.

    Evan

     
    🎉
    1
    ❤️
    1

    Last edit: Anobium 2024-11-19
  • Christos

    Christos - 2025-01-02

    hi
    does the 8051 family has been decided ?
    if not may i suggest STC like 8H and 8G families (8h1k17t and more)
    you get 2/4 uarts 33mhz 1clock intruction
    at 20cents or less and too much more.
    it has DIP versions too!
    relative good english datasheet stcmicro.com.

     

    Last edit: Christos 2025-01-02
  • Davor Šikić

    Davor Šikić - 2025-01-02

    Useful resources for STC 8051 family:
    https://codeberg.org/20-100/Awesome_STC

     
    👍
    1

    Last edit: Davor Šikić 2025-01-02
    • Anobium

      Anobium - 2025-01-02

      Interesting - I will have a look. If Nuvoton will not support the development maybe STC will.

      I will look at this information and report back!

       
    • Aleksandr Danilin

      Davor, finally i got to your files - i'm on vacation!
      This is great! thank you very much for this work! i really liked your style of presenting information!

       
  • Christos

    Christos - 2025-01-02

    i doupt ANY chinese company will be responsive
    in a competive languane. a guy tey most of them and practically noone reply

    however with STC found cheap and wide broad of mcu, including DIP versios
    also "good enouhg" datasheet . so make some .def and something start working...

     
    • Anobium

      Anobium - 2025-01-02

      LGT were very responsive.
      Nuvoton - always send a ncie message then it goes silent until I send another email for an update.
      STC - time will tell.

       
  • Derek

    Derek - 2025-01-17

    Evan, does your interest in supporting the 8051 come from Intel's original 8052-BASIC interpreter residing in ROM?

    Intel released the source code for their BASIC interpreter some years back.

    Atmel (now Microchip) manufacture some 8051 variants, so maybe they would help you?

    Also note that MCS Electronics BASCOM supports the 8051 with their BASIC compiler.

    Intel's Reference Manual can be found here:
    https://www.dos4ever.com/8031board/Basic52Manual.pdf

    and it has been reformatted into compliant HTML format here by Madis Kaal:
    https://www.nomad.ee/micros/bas52man/index.shtml

     
    • Anobium

      Anobium - 2025-01-17

      Hugh and I discussed adding more microcontrollers. 8051 and Z80 were discussed.

      Any new microcontroller need to have market share, development tools and be the right price

      The options were:

      Z80. Hugh started but did not make much progress. This could be completed.
      8051. Not started.

       
  • Christos

    Christos - 2025-01-17

    if market share / availability of tools / and DEFINITELLY price
    are the factors then 8051 beats z80 in every aspect

    8051 have million of tools, tens (hundrends) of ACTIVE manufacturers, and most chinese manufacture beat price/availabity to the "nail" like the suggested STC..

    offcourse ARM is the hte most trend now, but i understand its a complete different 32/64bit beast

    starting support from the "bare industry standar" AT89S2051/89S52 is not a bad idea
    in order to get help from microchip :) but the real addedd value comes from activelly developed manufacturers, which currenlty ALL are chinese
    since they have new models with moderm peripherals

     

    Last edit: Christos 2025-01-17
  • Gigi

    Gigi - 2025-01-17

    Emotion would tell me Z80, it reminds me of my youth, but reason certainly leads me to ARMs which are now cheap and are beasts with features and speed at the highest level.
    Basic GCB ARM maybe that's too much to ask !!!!

     
    👍
    1
    • Ioannis Kyriakidis

      But nice, would't be?

      Ioannis

       
  • stan cartwright

    stan cartwright - 2025-02-02

    I use mmbasic with rpi 2350 pico 2.
    what gcbasic was compared to picaxe is what mmbasic is to gcbasic.
    sorry but 8bit can do a lot but not rpi 32bit dual core... same price as arduino..£4

     
    • Anobium

      Anobium - 2025-02-03

      That is a good point. Let us see if you can compile the same code in 20 years on an RPI. After all, a GCBASIC program from 2006 still runs today. It is fascinating to see how robust some of these platforms are, standing the test of time while technology around them continues to evolve.

       
  • Christos

    Christos - 2025-02-03

    not only you coulnt compile it, but you could also UNABLE to find a rp2040 / 2350 in 20 years
    so all of these projects will be dead :)

    microchip has a lot of bad points but also some good points aka one the longest running production of chips among all competitors... you can still get 16f84 a 32year old mcu to build these old projects :)

    also the posibility to evolve gcb to another mcu core, this one must taken in account
    (which in sort meand 8051 to my mind :))

     
    • Anobium

      Anobium - 2025-02-03

      We are working the supply chain with a 8051 manufacturer. This is key. We, a few of us ( want to join in the talk then let us know here ) are considering how we can program the 8051 using a PICKit2 programmer.

      Progress is being made.

       
  • HackInBlack

    HackInBlack - 2025-02-04

    I'm willing to help...
    i have time, a tube of 89s52 chips; and more programmers than i dare to count ;0 )

     
    • Anobium

      Anobium - 2025-02-04

      Excellent.

      Are you willing to investigate and provide insights into the programming side of things ?
      - What is the protocol ?
      - Has someone already sorted this when using a PICKIt2 / PICKt3 as the programmer? If so, what are the results?
      - And, any other key insights into programming.

      I will set up a conf call so you can let us know.

       
  • HackInBlack

    HackInBlack - 2025-02-04

    this is in the datasheet; if it helps?

     
  • HackInBlack

    HackInBlack - 2025-02-04

    this popped up on good ole google

     
  • Aleksandr Danilin

    hi All
    at my friend's Christos request I'm here :)

    I have been using STC for about a year now, previously I used pic and avr, 8 bit.
    I get crazy pleasure from these STC chips. This is a classic 8051 core

    Although it was developed a long time ago and I am the same age as this brainchild of Intel, I am delighted with all the improvements in this chip. For 12 years they have done an amazing thing for us, developers. I will say right away: I am self-taught in electronics and programming. First education: Electrician. Second education - teacher. ha-ha

    if the compiler author adds 8051 support, then nothing else needs to be done! No programmers are needed: These chips have a built-in UART bootloader

    I am reworking all projects for STC. And I am very pleased! Lots of memory, convenient cases, great documents and wonderful examples! I have never written on their forum - I was able to understand everything on my own.

    I bought a license for Bascom-avr about 15 years ago and recently bought a license for Bascom-8051. Then I made a DAT file with the new registers data for STC and Bascom-8051 myself.

    P_sw2.7 = 1                          ' EAXFR:Extended RAM SpecialFunctionRegister access
    
    In_signal Alias P3.0
    P3ie.0 = 1                           ' 1: Enable digital pins
    P3pu.0 = 0                           ' 1: Enable pull-up resistor
    P3m0.0 = 0 : P3m1.0 = 1              ' pins mode "Input only"
    
    Tx_out Alias P2.5
    P2ie.5 = 1                           ' 1: Enable digital pins
    P2pu.5 = 0                           ' 1: Enable pull-up resistor
    P2m0.5 = 1 : P2m1.5 = 0              ' Push-Pull mode
    Tx_out = 0
    
    D_led Alias P2.4
    P2ie.4 = 1                           ' 1: Enable digital pins
    P2pu.4 = 0                           ' 1: Enable pull-up resistor
    P2m0.4 = 1 : P2m1.4 = 0              ' Push-Pull mode
    D_led = 0
    
       P_sw1 = &B_01_000000              ' RXD_2/P3.6, TXD_2/P3.7
    
       P3ie.7 = 1                        ' 1: Enable digital pins
       P3pu.7 = 0                        ' 1: Enable pull-up resistor
       P3m0.7 = 1 : P3m1.7 = 0           ' Push-Pull mode TxD
    
       P3ie.6 = 1                        ' 1: Enable digital pins
       P3pu.6 = 0                        ' 1: Enable pull-up resistor
       P3m0.6 = 0 : P3m1.6 = 0           ' Input mode RxD
    
       Scon = &H50                       ' 8-Bits And Variable Baudrate
       Auxr = Auxr Or &H40 : Auxr = Auxr And &HFE       ' Timer is 1T mode, Timer1 as baudrate
       Tmod = Tmod And &H0F              ' Set timer work mode
       Tl1 = &H7E : Th1 = &HFF           ' Initial timer - 38400 @ 20MHz
       Sbuf = 0                          ' Magic ...
       Et1 = 0                           ' Disable Timer interrupt
       Tr1 = 1                           ' Timer1 start run
    
       Print " Start!"                   'UART0
    
    
    ' ADC
    ' P0.1 = Input                ' ADC9
    P0ie.1 = 0                           ' 1: Enable digital pins
    P0pu.1 = 0                           ' 1: Enable pull-up resistor
    P0m0.1 = 0 : P0m1.1 = 1              ' Input mode
    
    Adctim = &H3F                        ' Set ADC internal timing
    Adccfg = &B0000_1111                 ' ADC/2/16 0F
    
    
    P_sw2.7 = 0                          ' EAXFR: Extended RAM SpecialFunctionRegister access
    
    Read_adc:
      Adc_contr = &B1000_1001            ' ADC_Power, Channel=9
      nop
    
      Adc_contr.6 = 1                    ' ADC start 1=On
      Do : Loop Until Adc_contr.5 = 1    ' ADC Flag
    
      Adc_contr.5 = 0                    ' Clear completion flag
      Porog_srabatyvaniya = Adc_resh
    
      #if Test = 1
       Print "ADC: " ; Porog_srabatyvaniya
      #endif
    Return
    '---------------------------------------------------------------
    
    
    Sub Delay_ms(my_delay As Word)       ' 1 mS @ 20 MHz
     Do
      Auxr.7 = 1                         ' Timer0 clock is 1T mode
      Tmod = Tmod And &HF0               ' Set Timer0 work mode
      Tl0 = &HE0 : Th0 = &HB1
      Tf0 = 0                            ' Tcon.5 = 0  flag clear
      Tr0 = 1                            ' Tcon.4 = 1 Start Timer0
    
      Do : Loop Until Tf0 = 1            
      Tr0 = 0                            ' Stop Timer0, Tcon.4 = 0
    
      Decr My_delay
     Loop Until My_delay = 0
    End Sub
    
     

    Last edit: Aleksandr Danilin 2025-02-07
    • Anobium

      Anobium - 2025-02-08

      Can you share your development toolchain? I need this to get start.

      Evan

       
      • Aleksandr Danilin

        what do you mean? I have given the links in the message below.

         
  • Aleksandr Danilin

    There is no utility for loading firmware for these STC chips, everything is done from the GUI
    The thing is that the firmware is loaded in encrypted form, and the encryption key changes, as does the key in new batches of chips and the bootloader in them.
    Also, these chips do not have the ability to read the firmware from the chip memory. It simply does not exist at all.

     

    Last edit: Aleksandr Danilin 2025-02-07
1 2 3 > >> (Page 1 of 3)

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.