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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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 :))
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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 accessIn_signalAliasP3.0P3ie.0=1' 1: Enable digital pinsP3pu.0=0' 1: Enable pull-up resistorP3m0.0=0:P3m1.0=1' pins mode "Input only"Tx_outAliasP2.5P2ie.5=1' 1: Enable digital pinsP2pu.5=0' 1: Enable pull-up resistorP2m0.5=1:P2m1.5=0' Push-Pull modeTx_out=0D_ledAliasP2.4P2ie.4=1' 1: Enable digital pinsP2pu.4=0' 1: Enable pull-up resistorP2m0.4=1:P2m1.4=0' Push-Pull modeD_led=0P_sw1=&B_01_000000' RXD_2/P3.6, TXD_2/P3.7P3ie.7=1' 1: Enable digital pinsP3pu.7=0' 1: Enable pull-up resistorP3m0.7=1:P3m1.7=0' Push-Pull mode TxDP3ie.6=1' 1: Enable digital pinsP3pu.6=0' 1: Enable pull-up resistorP3m0.6=0:P3m1.6=0' Input mode RxDScon=&H50' 8-Bits And Variable BaudrateAuxr=AuxrOr&H40:Auxr=AuxrAnd&HFE' Timer is 1T mode, Timer1 as baudrateTmod=TmodAnd&H0F' Set timer work modeTl1=&H7E:Th1=&HFF' Initial timer - 38400 @ 20MHzSbuf=0' Magic ...Et1=0' Disable Timer interruptTr1=1' Timer1 start runPrint" Start!"'UART0' ADC' P0.1 = Input 'ADC9P0ie.1=0' 1: Enable digital pinsP0pu.1=0' 1: Enable pull-up resistorP0m0.1=0:P0m1.1=1' Input modeAdctim=&H3F' Set ADC internal timingAdccfg=&B0000_1111' ADC/2/16 0FP_sw2.7=0' EAXFR: Extended RAM SpecialFunctionRegister accessRead_adc:Adc_contr=&B1000_1001' ADC_Power, Channel=9nopAdc_contr.6=1' ADC start 1=OnDo:LoopUntilAdc_contr.5=1' ADC FlagAdc_contr.5=0' Clear completion flagPorog_srabatyvaniya=Adc_resh#if Test = 1Print"ADC: ";Porog_srabatyvaniya#endifReturn'---------------------------------------------------------------SubDelay_ms(my_delayAsWord)' 1 mS @ 20 MHzDoAuxr.7=1' Timer0 clock is 1T modeTmod=TmodAnd&HF0' Set Timer0 work modeTl0=&HE0:Th0=&HB1Tf0=0' Tcon.5 = 0 flag clearTr0=1' Tcon.4 = 1 Start Timer0Do:LoopUntilTf0=1Tr0=0' Stop Timer0, Tcon.4 = 0DecrMy_delayLoopUntilMy_delay=0EndSub
Last edit: Aleksandr Danilin 2025-02-07
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
Last edit: Anobium 2024-11-19
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
Useful resources for STC 8051 family:
https://codeberg.org/20-100/Awesome_STC
Last edit: Davor Šikić 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!
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!
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...
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.
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
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.
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
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 !!!!
But nice, would't be?
Ioannis
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
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.
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 :))
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.
I'm willing to help...
i have time, a tube of 89s52 chips; and more programmers than i dare to count ;0 )
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.
this is in the datasheet; if it helps?
this popped up on good ole google
and on the sprawl that is microchips website
https://onlinedocs.microchip.com/oxy/GUID-33422CDF-8B41-417C-9C31-E4521ADAE9B4-en-US-2/GUID-9894AEFF-975C-4B6B-BBDE-E7370FACF766.html
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.
Last edit: Aleksandr Danilin 2025-02-07
Can you share your development toolchain? I need this to get start.
Evan
what do you mean? I have given the links in the message below.
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