DGbasic: A Retro-Style IDE built 100% in PureBasic

Working on new editor enhancements?
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5705
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by Kwai chang caine »

DaveG wrote:So, to Kwai chang caine—thank you, but I am definitely not the "master" you mentioned!
I’ve been more of a director on this project, while my AI co-pilot (Gemini)
Oh well, never mind...it's already honest to acknowledge that the real coder is AI. :wink:
I didn't even know there were multiple AIs :shock: I only knew about ChatGPT. :oops:
But they're truly wonderful tools 8) , and this one... I can never seem to exhaust it... it always asks more questions... it's a miracle! :mrgreen:
SMAAG wrote:It's much better for Purebasic than ChatGPT!
I recently asked ChatGPT for help with a function that was too difficult for me, or that I didn't know how to do.

Once, he offered to build my entire program from scratch. :shock:
I was surprised, but I said yes because I believed him, since he hadn't made any mistakes before. 8)

And then... I was disappointed because nothing worked. I wasted a whole day copying and pasting for nothing, and I told him we were stopping there, because nothing was working. :|

And I later realized that after a certain number of lines, it's best to close the thread, take what works, and ask other questions for the next step. :idea:

Since then, I've gone back to asking him simple questions, and he gets me out of a jam very often.
That way... it saves the other forum members from having to deal with ALL my stupid, ignorant questions. :mrgreen:
ImageThe happiness is a road...
Not a destination

PureBasic French Forum
Rinzwind
Enthusiast
Enthusiast
Posts: 714
Joined: Wed Mar 11, 2009 4:06 pm
Location: NL

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by Rinzwind »

DaveG wrote: Thu Feb 19, 2026 7:04 am As for the AI integration, it took me about 3 hours to build the Gemini API directly into the IDE to generate code on the fly. Honestly, the trickiest part of that process was figuring out how to dynamically inject all the possible DGbasic commands and rules into the API request. I had to make absolutely sure Gemini strictly followed my custom syntax, rather than hallucinating standard PureBasic commands and crashing the compiler!
Maybe time to create a PB IDE plugin for just that if you indeed have gathered enough experience.
Though nothing is published yet. Road map? or just a for fun project with chatbot? Well, have fun any way.
User avatar
DaveG
New User
New User
Posts: 9
Joined: Mon Feb 16, 2026 7:19 pm
Location: The Netherlands

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by DaveG »

We seem to be drifting a bit off-topic from the retro IDE theme and turning into an AI support group, haha!

I think this is a good moment to clear up exactly why I started the DGbasic project in the first place. Back in the day, people like me were called "script kiddies," and copying/pasting someone else's code was practically an insult in the programming community. Today, you don't even need to copy; you just politely ask an AI to write it from scratch. For the true PureBasic veterans who have spent their entire lives mastering this language... this might be the moment you want to close the thread and look away!

So why did I start this project? It comes down to two main reasons:
  • I'm old ;) These days, I only program occasionally using DAX or the Arduino IDE. My real programming experience comes from my teenage years, typing away on a ZX Spectrum and later making simple games on an XT using GW-BASIC. That’s exactly why I chose this specific slice of nostalgia for the project.
  • Learning to use AI and pushing its limits
    I work in technology and engineering. With the current exponential development of AI, I firmly believe our jobs are going to be hit hard by these advancements within a matter of months. Just five months ago, AI wasn't capable of writing flawless code. Now, as you can see, even a non-programmer can piece together complex logic. Instead of resisting this change or trying to convince myself it won't happen that fast, I decided to dive in, embrace it, and figure out how to use it in my daily life.
But back on topic: Developing DGbasic is turning out to be an incredibly fun hobby project. If there are still people here who are interested in following the development of the IDE itself, let me know! I’d be happy to post occasional updates and screenshots in this thread.

Cheers,
Dave
Master of modern PureBasic interface design.
(I just ask my AI to draw rectangles on a Canvas until it accidentally looks like a button.)
TassyJim
Enthusiast
Enthusiast
Posts: 194
Joined: Sun Jun 16, 2013 6:27 am
Location: Tasmania (Australia)

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by TassyJim »

Thank you for starting this project.
Recently I have seen what AI can do in the right hands.
When I see what can be achieved, it amazes/frightens me.

A few weeks ago I asked Google how to reset my modem.
The AI (?) gave me 3 choices.
1 Reset button - sorry there isn't one.
2 Dial this magic number. Correct except it gave me the wrong number.
3 through the web interface - that one was true but I had no access.
On another search, It told me Australia was partially in the northern hemisphere. BS

So thank you for boosting my confidence in the future.

I am also interested in the results. I spend my time programming RPi pico chips with a version of basic that you would feel very comfortable with.
I wrote an IDE for it in PB but have not gone as far as trying a simulator/emulator.

I think I am too old and too slow to get comfortable with AI.
But I might change my mind one day.

Please keep up the good work and let us follow the progress.

Jim
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2167
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by Andre »

Impressive project! :D
I'm definitely interested to see the further progress.

It's interesting to see, how you get the "AI coding" done (= generating productive PB code).
My own experiences with ChatGPT were sobering because of the many syntax errors - after spending hours trying to get something usable (runnable PC code) I stopped, because I was thinking "I'm teaching the AI here, how it must code with PB...." ;-) :?
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
User avatar
DaveG
New User
New User
Posts: 9
Joined: Mon Feb 16, 2026 7:19 pm
Location: The Netherlands

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by DaveG »

Hi everyone,

I’ve just implemented a Virtual Multi-File System in DGbasic to eliminate long-scroll fatigue without the clutter of multiple physical files.

Here’s what’s new in the latest Beta:

8 Tabs, 1 File: Organize code into 8 customizable tabs (e.g., Main, Graphics, Logic). Everything is saved into a single .dgb file using hidden headers.
Global Scope: My transpiler stitches all tabs together during compilation. You can call a SUB in one tab from a GOSUB in any other tab.
Smart Scanner: The side panel scans all tabs simultaneously. It labels subroutines with their origin tab.
Instant Navigation: Double-clicking a call in the side panel automatically switches to the correct tab and jumps to the right line.

Demo: Performing sprite actions is incredibly simple, as shown in this demo code below:

REM --- Sprite Animation Test ---
OUTPUT WINDOW(0,0,800,250,$303030)
BACKGROUND="boompjes.jpg"
SPRITELOAD(1,"girl.png")
MODE 2
Y=150
REPEAT
CLS
SPRITEDRAW(1,x,y,f,110,150,6)
f=f+1 : IF f>5 THEN f=0
x=x+4 : IF x>800 THEN x=-100
DELAY 70
FOREVER

Image
Last edited by DaveG on Tue Feb 24, 2026 9:29 pm, edited 2 times in total.
Master of modern PureBasic interface design.
(I just ask my AI to draw rectangles on a Canvas until it accidentally looks like a button.)
User avatar
DaveG
New User
New User
Posts: 9
Joined: Mon Feb 16, 2026 7:19 pm
Location: The Netherlands

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by DaveG »

🚀 Big update for DGbasic: Seamless Built-in Error Handling! 🐛🔨

✨ What's new:
Auto-Locate: The editor instantly jumps to the correct module/tab and line where the error occurred.
Visual Highlight: The exact line containing the bug is highlighted in dark red so you can't miss it.
Smart Console Tracking: The console logs the exact translated line of code, showing you exactly what went wrong under the hood.

Image

Debugging in DGbasic. 💻⚙️
Master of modern PureBasic interface design.
(I just ask my AI to draw rectangles on a Canvas until it accidentally looks like a button.)
threedslider
Enthusiast
Enthusiast
Posts: 611
Joined: Sat Feb 12, 2022 7:15 pm

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by threedslider »

Impressive !
Bitblazer
Enthusiast
Enthusiast
Posts: 770
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by Bitblazer »

very cool, well done.
User avatar
minimy
Addict
Addict
Posts: 899
Joined: Mon Jul 08, 2013 8:43 pm
Location: off world

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by minimy »

Amazing project, congratulations!
I am really interesting in this project, my first steps with computers were with spectrum and I am very curious what approach DGbasic will take. What times those were with the beep, beep, hehe.

Personally, it seems to me that at least with people of our generation you will be very successful. With the cloud guys maybe not so much, hehe.

Since this is not the thread of AI, I will only say that I am glad that there is still natural intelligence. :lol:

Yes, please keep showing the progress and thanks for sharing it on the forum.
If translation=Error: reply="Sorry, Im Spanish": Endif
User avatar
DaveG
New User
New User
Posts: 9
Joined: Mon Feb 16, 2026 7:19 pm
Location: The Netherlands

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by DaveG »

Thank you all so much for the amazing feedback! As a proud Gen-Xer myself, I definitely miss the days of the cassette tape loading screeches and the sheer joy of turning on a computer to immediately see a blinking READY. prompt. It's great to see this nostalgic vibe resonates with you guys (even if the modern "cloud generation" might run away screaming from it, haha!).

I'm currently grinding away, designing the engine command by command through the plugin system. There is a lot of trial and error involved, but I just successfully implemented the DATA and INPUT functions. To push them to the limit, I immediately wrote a fully functioning CRM/database app directly in DGbasic.

I also added a drop-down menu in the IDE that instantly injects these complete test programs into the editor. It's meant to be a handy library of examples for users, but honestly, it’s mostly just to save my own sanity during testing! :P

I am trying really hard to stick to the old-school syntax, even when it's technically unnecessary. For example, I built a highly customizable DRAWTEXT command with a bunch of modern parameters... and then immediately renamed it to PRINT just because it felt right.

However, there is some serious modern magic happening under the hood. A single line of DGbasic code often translates to over 100 lines of PureBasic in the background. For instance, I just introduced a new type of variable (like A$%) that drops data directly into a grid structure without even needing a traditional DIM setup.

Want to display it? Just type:
TABLE Array(X, Y, LineColor, HdrBg, HdrTxt, CelBg, CelTxt, Font, Size, HdrStyle, DataStyle)
And bam! It instantly renders a beautiful, live-updating mini-Excel spreadsheet directly on the canvas. Okay, maybe a responsive datagrid isn't strictly 1980s retro, but man, it makes life so much easier! :)

I've attached a screenshot of the new database demo in action. Let me know what you guys think or if you have any questions!

Cheers,
Dave

Image
Last edited by DaveG on Sat Feb 28, 2026 9:51 pm, edited 1 time in total.
Master of modern PureBasic interface design.
(I just ask my AI to draw rectangles on a Canvas until it accidentally looks like a button.)
User avatar
DaveG
New User
New User
Posts: 9
Joined: Mon Feb 16, 2026 7:19 pm
Location: The Netherlands

Re: DGbasic: A Retro-Style IDE built 100% in PureBasic

Post by DaveG »

hello everyone,

i've just hit a massive milestone in the development of dgbasic! the language and syntax have evolved enough that it is now actually possible to design simple games with it. whether it's player movement, collision detection, or playing retro sound effects, the foundation is finally solid.

and let's be honest, what else could the very first test game possibly be? naturally, it had to be a fully retro-styled clone of space invaders (see the attached screenshot). the aliens are marching, the lasers are firing, and i've officially spent way too much time playing my own test code instead of actually programming.

what really kicked the development into hyperdrive recently is my switch to ai cli tools. i am now using the cli for claude sonnet 4.6 and the cli for gemini pro 3.1. working directly from the command line instead of messing around with web interfaces makes life as a developer so much easier! Additionally, the architecture is fully built around a modular plugin system. with this base, expanding the language with new commands is really only limited by my own imagination.

we are currently sitting on a robust library of exactly 99 commands. here is the active set as registered in the system right now:

dgbasic | available commands (99)
a: abs, and, asc
b: background, beep, box, button
c: chr, circle, clear, closefile, cls, collide, compile, cos
d: data, delay, dim, dir
e: else, endsub, eof, exportcsv
f: for, forever
g: gosub, goto
h: help
i: if, importcsv, inkey$, input, int
l: left, len, line, list, load
m: mem, menu, mid, mod, mode, mousex, mousey
n: new, next
o: openfile, opensql, or, output
p: playmp3, playwav, plot, print
r: random, read, readfile, readsql, rem, repeat, right, round, run
s: save, scan, screenh, screenw, selectwindow, settings, shell, sin, sound, soundfx, spritedraw, spriteload, sqr, step, str, sub
t: table, tan, then, ticks, to, triangle
u: until
v: val, vk_down, vk_enter, vk_escape, vk_left, vk_right, vk_space, vk_up
w: wend, while, writefile, writesql

Download (only 6 days): https://filebin.net/d06zj3gt401u4nlp

Image
Master of modern PureBasic interface design.
(I just ask my AI to draw rectangles on a Canvas until it accidentally looks like a button.)
Post Reply