flat assembler
Message board for the users of flat assembler.
Index
> Tutorials and Examples > Hobby BASIC, a simple yet powerful BASIC interpreterGoto page Previous 1, 2, 3, 4, 5, 6, 7 Next |
| Author |
|
|
Picnic 19 Jan 2021, 20:39
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:04; edited 12 times in total |
|||
|
|
revolution 19 Jan 2021, 22:26
Running unaudited code directly from the Internet.
Nothing could possibly go wrong. |
|||
|
|
DimonSoft 20 Jan 2021, 14:21
Guys, please, don’t say a word about JS
|
|||
|
|
Picnic 22 Jan 2021, 13:12
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:04; edited 18 times in total |
|||
|
|
Picnic 02 Jul 2021, 09:42
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:04; edited 25 times in total |
|||
|
|
pabloreda 03 Jul 2021, 00:05
Very nice project picnic!
congrat! |
|||
|
|
Picnic 14 Feb 2022, 11:48
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:05; edited 12 times in total |
|||
|
|
Picnic 30 Nov 2022, 10:01
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:05; edited 15 times in total |
|||
|
|
Picnic 27 Dec 2022, 14:17
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:05; edited 18 times in total |
|||
|
|
Picnic 12 Jan 2023, 09:55
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:05; edited 17 times in total |
|||
|
|
al_Fazline 12 Jan 2023, 15:08
Hello, Picnic. Is there a way to run it on GNU+Linux without wine/emulation? Windows is kinda dated by now, people are switching away from it.
|
|||
|
|
Picnic 13 Jan 2023, 08:05
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:05; edited 9 times in total |
|||
|
|
Picnic 23 Jan 2023, 14:48
Post removed by author.
Last edited by Picnic on 27 Apr 2026, 10:05; edited 47 times in total |
|||
|
|
Picnic 15 Nov 2023, 17:01
It plays great too, I've tested it on different versions of Windows.
Thanks for the feedback 386 I can definitely reduce it to have very low startup requirements. Anyway, I uploaded a new version. The memory footprint should be should be around 30 MB now. Last edited by Picnic on 15 Nov 2023, 22:48; edited 4 times in total |
|||
|
|
386 15 Nov 2023, 22:32
Thanks, Picnic! 30 MB is much better than 397 MB!
Just curious: is it possible to make 3 MB or 300 KB? |
|||
|
|
386 15 Nov 2023, 22:36
I'm trying to understand, what you have changed:
Code: HB_OLD.EXE HB_NEW.EXE 00469004: 61 popad | 00469004: 4D dec ebp 00469005: 93 xchg eax, ebx | 00469005: F8 clc 00469006: 50 push eax | 00469006: 54 push esp 00469024: 61 popad | 00469024: 4D dec ebp 00469025: 93 xchg eax, ebx | 00469025: F8 clc 00469026: 50 push eax | 00469026: 54 push esp 0046903C: 61 popad | 0046903C: 4D dec ebp 0046903D: 93 xchg eax, ebx | 0046903D: F8 clc 0046903E: 50 push eax | 0046903E: 54 push esp ------------------------------------------------------------------------------------------------------------------------------------------ 00469053: 006193 add byte ptr [ecx-6Dh], ah | 00469053: 004DF8 add byte ptr [ebp-08h], cl 00469056: 50 push eax | 00469056: 54 push esp 0046906B: 006193 add byte ptr [ecx-6Dh], ah | 0046906B: 004DF8 add byte ptr [ebp-08h], cl 0046906E: 50 push eax | 0046906E: 54 push esp ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 004690C5: 0001 add byte ptr [ecx], al | 004690C5: 0002 add byte ptr [edx], al 004690CD: 0001 add byte ptr [ecx], al | 004690CD: 0002 add byte ptr [edx], al ------------------------------------------------------------------------------------------------------------------------------------------ 0046920B: 0031 add byte ptr [ecx], dh | 0046920B: 0032 add byte ptr [edx], dh 0046923B: 0031 add byte ptr [ecx], dh | 0046923B: 0032 add byte ptr [edx], dh ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 0046E021: 0031 add byte ptr [ecx], dh | 0046E021: 0032 add byte ptr [edx], dh ------------------------------------------------------------------------------------------------------------------------------------------ 00471DDF: 0031 add byte ptr [ecx], dh | 00471DDF: 0032 add byte ptr [edx], dh ------------------------------------------------------------------------------------------------------------------------------------------ 0047201F: 6800008005 push 05800000h | 0047201F: 6800002000 push 00200000h 0047202E: 6800005800 push 00580000h | 0047202E: 6800002000 push 00200000h 00472038: A300494000 mov dword ptr [00404900h], eax | 00472038: A308494000 mov dword ptr [00404908h], eax 0047203D: 6800008005 push 05800000h | 0047203D: 6800002000 push 00200000h 00472047: A308494000 mov dword ptr [00404908h], eax | 00472047: A3FC484000 mov dword ptr [004048FCh], eax 0047204C: 6800008005 push 05800000h | 0047204C: 6800002000 push 00200000h 00472056: A3FC484000 mov dword ptr [004048FCh], eax | 00472056: A30C494000 mov dword ptr [0040490Ch], eax 0047205B: 6800008005 push 05800000h | 0047205B: 6800002000 push 00200000h 00472065: A30C494000 mov dword ptr [0040490Ch], eax | 00472065: A300494000 mov dword ptr [00404900h], eax 0047206A: 6800005800 push 00580000h | 0047206A: 6800002000 push 00200000h 00472079: 6800005800 push 00580000h | 00472079: 6800002000 push 00200000h 00472088: 6800005800 push 00580000h | 00472088: 6800002000 push 00200000h 00472097: 6800100000 push 00001000h | 00472097: 6800000100 push 00010000h 004720A6: 6800100000 push 00001000h | 004720A6: 6800000100 push 00010000h 004720B5: 6800100000 push 00001000h | 004720B5: 6800000100 push 00010000h ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 00472034: C08EFFFFA30049 ror byte ptr [esi+00A3FFFFh], 000000 | 00472034: C08EFFFFA30849 ror byte ptr [esi+08A3FFFFh], 00000049h 0047203F: 008005E8B18E add byte ptr [eax-714E17FBh], al | 0047203F: 0020 add byte ptr [eax], ah | 00472041: 00E8 add al, ch | 00472043: B18E mov cl, 8Eh ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ |
|||
|
|
Picnic 15 Nov 2023, 22:46
Hobby BASIC uses one main internal structure for all data types, 88 bytes in size.
This practically means that, for example, every 1 mb of memory I allocate, I get about 12000 elements (strings, variables, arrays, labels, etc.) More than enough for a simple toy interpreter. But maybe I should let the user decide the size of memory they want to use. I changed a few values in memory allocation calls at startup. That's all. Last edited by Picnic on 16 Nov 2023, 12:00; edited 3 times in total |
|||
|
|
386 15 Nov 2023, 22:54
Quote: But maybe I should let the user decide the size of memory they want to use. Users do like to decide! |
|||
|
|
Picnic 15 Nov 2023, 23:01
It's easy to implement, i'll think about that. Thanks again for your feedback 386. Quite useful !
|
|||
|
| Goto page Previous 1, 2, 3, 4, 5, 6, 7 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.