White Eagle wrote:Paul sold Ibasic on Ebay to Thomas Hanlin for 50k$, and now it seems he's trying to use the same codebase
again and sell it as a direct competitor?
Do you have any proof to back up that allegation?
Emergence BASIC's codebase is based off of Aurora (NOT IBasic Pro), with an IBasic Pro "compatible" syntax.
And what is Aurora based on? Are you ready for a comparision between Aurora and IBasic?
Let's start with the IDE. Not to mention the "slight" problem that they look quite the same (uses the same owner-drawn tab controls, yes plural of controls because he did manage to use two different tab controls), use the same wording and use the same control layout they have some common bugs:
MS Sans Serif is used instead of the system default font in some places.
Other places, Tahoma is used instead of the system default font.
The places where this happens is the same in both editors. Both of them uses tahoma in the same dialogs and MS Sans Serif in the same dialogs. If he was aware of this he would have fixed it, if he wasn't aware of it there's no way he'd manage to do this wrong in the same places a second time. It's simply not possible.
Link labels are buggy redrawn the same way in both editors.
Buttons which are neither placed on grid boundary nor correctly placed with respect to their parent controls are misplaced to the same position in both editors. This simply does not happen by coincidence if you place them manually, if you don't place them manually they would be grid aligned.
Aurora uses Scintilla, this did not stop him from not fixing a small bug with selection and the cut/copy buttons. (No, it's not that they aren't enabled when nothing is selected, it's that they aren't enabled when something IS selected.)
The dialog editing part looks exactly the same, has the same bugs, and even uses the same icons.
And the menu editor also looks the same. If you look at the about box of the menu editor of Aurora you see a brown box that isn't there in the IBasic version. He probably meant to make it black, but this man obviously has bad eyesight because it's brown. Where this box is, in the IBasic version it says "Built with IBasic Professional", and above that copyright pyxia. In the Aurora version it only says copyright ionic wind. The about boxes shared the same bugs (or "feature"?) as well: The ok button doesn't appear until the window is clicked.
What's also strange is that not only is the same directory naming convention used, but the same files are also within.
But I guess you're not satisfied with the "if it looks like a rabbit it must be a rabbit" reasoning.
So let's take a closer look at the IDE internals.
The Aurora IDE has nice logo in the about dialog. This logo image is 500x300 pixels, and is 439 kb when saved uncompressed. The IBasic IDE does only have a small icon. The IBasic IDE is 1 761 339 bytes. The Aurora IDE is 2 240 512 bytes. The difference? 467 kilobytes. The IDEs are basically the same size compiled without the new branding.
The file menuedit.dll is only 4 bytes larger in the Aurora version.
The linker is 4 kilobytes larger in the Aurora version.
The file dbghelp.dll is exactly the same both versions.
The same version of the assembler is in both versions.
The manifest files for the IDE are exactly equal and
they both have the same date stamps.
The size difference the Aurora compiler and the IBasic compiler is only 4 kb.
libtool.exe from IBasic and makelib.exe from Aurora are exactly the same size.
Simply put, the IDEs shares the same codebase. Whether the IBasic IDE is sold or not I don't know.
And here's from the IBasic compiler:
Code: Select all
PUSH EBP
MOV EBP,ESP
PUSH -1
PUSH ibparse.00497EF8
PUSH ibparse.0047B750
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,10
PUSH EBX
PUSH ESI
PUSH EDI
MOV DWORD PTR SS:[EBP-18],ESP
CALL DWORD PTR DS:[<&KERNEL32.GetVersion>
XOR EDX,EDX
MOV DL,AH
MOV DWORD PTR DS:[499584],EDX
MOV ECX,EAX
AND ECX,0FF
MOV DWORD PTR DS:[499580],ECX
SHL ECX,8
ADD ECX,EDX
MOV DWORD PTR DS:[49957C],ECX
SHR EAX,10
MOV DWORD PTR DS:[499578],EAX
PUSH 0
CALL ibparse.0047D137
POP ECX
TEST EAX,EAX
JNZ SHORT ibparse.0047B9C0
PUSH 1C
CALL ibparse.0047BA59
POP ECX
AND DWORD PTR SS:[EBP-4],0
CALL ibparse.0047CE17
CALL DWORD PTR DS:[<&KERNEL32.GetCommand>
From the Aurora compiler:
Code: Select all
PUSH EBP
MOV EBP,ESP
PUSH -1
PUSH acparse.0049CEF8
PUSH acparse.00480750
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,10
PUSH EBX
PUSH ESI
PUSH EDI
MOV DWORD PTR SS:[EBP-18],ESP
CALL DWORD PTR DS:[<&KERNEL32.GetVersion>
XOR EDX,EDX
MOV DL,AH
MOV DWORD PTR DS:[49E584],EDX
MOV ECX,EAX
AND ECX,0FF
MOV DWORD PTR DS:[49E580],ECX
SHL ECX,8
ADD ECX,EDX
MOV DWORD PTR DS:[49E57C],ECX
SHR EAX,10
MOV DWORD PTR DS:[49E578],EAX
PUSH 0
CALL acparse.00482137
POP ECX
TEST EAX,EAX
JNZ SHORT acparse.004809C0
PUSH 1C
CALL acparse.00480A59
POP ECX
AND DWORD PTR SS:[EBP-4],0
CALL acparse.00481E17
CALL DWORD PTR DS:[<&KERNEL32.GetCommand>