forked from smallbasic/SmallBASIC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
1329 lines (1082 loc) · 44.2 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2016-03-29 (0.12.6)
Removed TICKSPERSEC
Removed BALLOC, MALLOC and VADR keywords. Removed duplicate ENVIRON
Removed system constants BPP and VIDADR, OSNAME, LINECHART, BARCHART
Added TIMESTAMP to return the modified-datetime of a file
Added LSHIFT and RSHIFT bit shift operators
SBVER now includes build information
TICKS now returns millisecond intervals
Refactor eval() for performance
Fixed some memory leaks in the ui handler
Editor now restores cursor when returning from run
Editor now displays the correct filename in the title bar
Added "industrial" editor theme from Shian (slot 2)
Fixed editor highlighting
Runtime errors now show source screen with red error highlighter
Form refresh command now takes an boolean arg, true=push ui state to vars
The IMAGE argument can now be PNG data stored in an INT array
The IMAGE argument can now be x,y,w,h screen corordinates
The IMAGE argument can now be a 2-D array of POINTS
Updated IMAGE sub-command to save 2-D array of POINT
Added window.setFont command to set font size, bold and italic. example:
w = window():w.setFont(10, "pt", false, true)
TRUE is now always returned as 1
Added file manager to main shell program
Fixed problem with escaped chars using FORMAT
Fixed problem with XNOR command result
Fixed problem with IMP and EQV command result
Fixed issues with INKEY command to allow ALT/SHIFT/CTRL states to be returned
Fixed capslock handling
Fixed issues with TRY/CATCH
Fixed using POINT to retrieve IMAGE data
Fixed issues with CHAIN
Fixed TLOAD to work correctly with TRY/CATCH
Fixed XPOS and YPOS to return 0 based values
2016-02-11
Added export to mobile command (SDL)
Added Desktop shortcut command (android)
2015-12-05
Implemented loading recent files via ALT+1 .. ALT+9
Fix potential editor crash with empty support widget
Fix potential crash with debug target
Fix restore path to only function when no other arguments supplied
2015-11-01
Fix debugger launch in linux build
Fix editor display issue with keyword completion
Fix editor case insensitive search
Fix image drawing for large images
Fix PAINT infinite loop
Fix keyboard handling for non-us keymaps
Fix Ctrl+Home editor keystroke handler
Fix crash with online command if site is down
Fix over scroll issue with line number widget
Fix screen dump invalid file name for online files
Fix file manager .bas file case sensitivity
Fix editor markup on map fields that look like keywords
Fix scanner inserting line-no bytecode for empty or comment lines
Implemented editor F2 command to display online help
Implemented calling IMAGE with another image variable
2015-10-20
Fix LET when assigning a value to a MAP/ARRAY field
2015-09-15
SDL Update PEN(3) to work more like FLTK
Fix display output before PEN
Fix BOLD and ITALIC font display
Context menu edit keyword completion
Updated program icon
Editor line number widget can be used for scrolling
Updated editor help display
Fix TSAVE with try/catch
2015-08-26
Editor fixes:
- now displays an i-beam/edit cursor
- highlighting for numbers and keywords
- F1 key for keywords surrounded by punctuation
- page scrolling with up/down arrow keys
- pressing tab at the bottom no longer jumps to the top
- display additional editor context menu items
Added a basic debugger
2015-08-02
Fix display output before DELAY
Fix LET command problem found in 32bit linux
Removed obsolete/unimplemented keywords WSPLIT, PLOT2, UNLOADLIB
2015-07-18
Added IDE editor sdl/android
Made a few minor performance improvements (SDL)
2015-06-07
Fixed PRINT 1/1000 and other floating point rounding issues
Fixed problem with 59 char INPUT prompt
Added missing PEN(12) support
Added multi-item case selection (suggestion by James Grimaldi)
SDL: Updated display of file anchor links
SDL: Fix drag-drop from explorer to launch programs
2015-01-25
Added timer func support
Improved syntax error messages
Remove dependence on malloc_usable_size
Pass TRUE as an argument to PAUSE to wait for an event
2015-01-18
Anti-aliased line drawing
Improved INPUT with clipboard handling
Improved graphics display performance
2014-12-03
File-open now uses .bas DIR to locate files
2014-11-06
Added WINDOW system object to control the ansiwidget
Added sound support to SDL port
2014-10-28
Update INKEY to return ALT, CTRL, ALT+CTRL key information
2014-10-20
Refactor FORM handling to use system object
2014-09-28
Refactor image handling to use system object
2014-09-22
Implemented ARRAY command to read JSON into a map variable
2014-09-19
Fix STR(v) support for map variables
2014-09-12
Add support for unary operators on array elements
Fix printing UDS vars
2014-09-08
Fix call FUNC with (arg1), (arg2)
Fix INKEY Backspace in FLTK
Fix FOR/NEXT using float increments
2014-09-06
RTE command renamed THROW
2014-09-01
Added try/catch
2014-08-30
Added reference variable type
Fixed HASH var handling with parenthesis
2014-08-22
Fix HASH var crash
Fix HASH var handling of mixed types
Fix illegal UDS field variable names
Unitfy HASH and UDS
2014-08-15
Improved runtime performance
Fixed memory leak with UDS variables
Fixed FUNC call with parenthesis
2014-08-14
Added SHOWPAGE. code cleanup
2014-08-11
Cleanup system var handling, removed os_ver
2014-08-09
Renamed command "#UNIT-PATH:" to "UNITPATH"
Renamed command "#INC:" to "INCLUDE"
Fixed/implemented INCLUDE command
Refactored comp_pass_1 function is scan.c breaking into
smaller helper functions
2014-07-07
Update SDL to use SDL2 and common widget
2014-06-14
Fix crash evaluating "a \\ b"
Fix INPUT command in FLTK for scrolled display
2014-06-11
Android changes:
- Run by URL/QrCode.
- Implemented BEEP/SOUND
- Screen layout adjusts when virtual keypad displayed
2014-04-20
Released Windows version 0.11.5
2013-12-30
Fix android display clip handling
Fix android import from IDE
Console is now a graphics screen
Replace battery drain error with console warning
2013-12-18
Android version 0.11.4
Built with android NDK for huge performance increase
Web service for remote file edit/run
Can now launch .bas files from Android file browser
Added program restart command
2013-02-09
Added support for empty parentheses in sub/func calls
2012-12-18
AT and PEN now work with WINDOW based coordinates. This will allow programs written
for PalmOS to appear correctly on modern mobile screen resolutions.
2012-12-09
Released 0.11.2 android version to google play
Added the ability to change the font size
2012-12-01
Released 0.11.1 android version to google play
2012-09-25
MoSync port nearing completion
2012-07-29
Fixed a bug with nested case statements
2011-04-14
Removed POKE and BCOPY. These never really worked correcly
and would be fairly insecure in the web model if they did.
2011-03-19
QT port started
2011-01-22
Fix compilation errors (fltk build) for 64bit ubuntu
2010-12-15
Fix for floating point display (tracker 3136093) issue
found with printing 1/1000
2010-07-31
Fix for PAUSE cmd (tracker 1651503) to pause correct length of
time - Case was mostly already fixed in 0.10.7.
2010-06-19
Fix form TEXT command to use correct integer datatype
Fix misc issues with const char* uncovered with new gcc
Fix duplicate prompt whe INPUT command used in text mode
2010-05-15
Version 0.10.7 was released
2010-05-07
updated window title display
2010-05-01
inkey now returns shifted keys
added DOFORM option return on a key event
updated calc to use the keyboard
2010-04-28
fix for windows socket handling
cleanup code for display of break message
2010-04-19
Added new sample programs, tetris and sokoban
Fix to make plugins work with files containing dos file line endings
Added select-all command.
Run-selection now works with logprint mode.
Fixed run startup mode on linux
Added ctrl+f1 help mode
Fix for executor cleanup crash when breaking from invalid call to sub
Included missing tdestroy function for MingW build (fix for memory leak under windows)
Programs now run with cwd set to the .bas filename
Updated help for doform and button commands
Fix for display of list and label form button types after their variable contents have changed
Fixed a problem with SELECT/CASE with complex program usage (tracker id 1683450)
Fix for -v command line arg when passed w/out another arg
Fix for PolyLine crash when invalid args passed
Pass focus to MainWindow when closing the form to ensure inkey gets updated
Prevent default window key processing when keys passed into basic program
Esc key returns focus to editor when command or browser widget has focus
Added simple stack trace as part of runtime error message
New hot-key - ctrl+e to focus the editor
New editor keystrokes - ctrl+b toggle break-to-line, ctrl+t toggle log-print, ctrl+w toggle hide-ide
Cls command does nothing in non-interactive mode
Fix for regression with returning and passing UDS values
DIRWALK now just logs an error (instead of terminating the program) when it encounters a folder that it cannot open
Added search examples option for keyword help
Fix for find and goto commands to work with readonly files
Show font selection menu using the target font.
Fix to allow help page link to a system file
Can now pass a url to the html command which opens in a real browser
Imlemented new code publish tool
Editor plugins now invoked in non-interactive mode
INPUT command now issues a prompt dialog when in non-interactive mode
Restore main window focus after closing color selection window
Updated getHomeDir() to use APPDATA env-var for windows
BAS_HOME var no longer contains trailing slash-char.
2010-03-08
UDS and HASH types now work with FOR-IN and also return sensible
values when used with the LEN command. Fixed crash when converting
between UDS and HASH types.
2010-03-07
Fixed a bug where hitting break from inside a SUB that had the
result being assigned to another variable would cause a crash
2010-02-18
Updated saving and restoring many properties from config.txt
File open uses current buffer file path
Creates backup files
Fixed minor display issues with the File Open Widget
2010-02-05
Updated the editor code browser
2010-01-29
Added the DEFINEKEY command
Updated internal event handling to allow INKEY to function correctly without
excessive CPU usage
2009-12-14
Version 0.10.6 released
2009-11-27
Implemented TTY widget
2009-11-06
final fix for matrix inverse bug
2009-09-04
0.10.5 for windows released
2009-08-23
Fix for desktop icon display (ALT+Tab) under X11 (ubuntu)
2009-08-14
Fix for sub/func navigation tool to internally use line numbers in lieu of
label searching.
2009-08-08
Reworked editor toobar so there is now a command selection and only one text
input field.
2009-08-02
Updated calc.bas to work with the new DOFORM api
Fixes for the FLTK DOFORM API to allow the updated calc.bas to work reliably
2009-07-28
Implemented editor colour selection in FLTK build.
2009-07-26
Implemented editor font selection in FLTK build. Fixed memoryTest.bas sample
2009-07-22
Implemented "ELSE IF" syntax
2009-07-11
fltk - file widget displays sorted items
2009-06-29
update variables to use 64 bits
fix for matrix inverse bug
2009-06-13
updated form API in fltk version
2009-04-13
incorporate agg into fltk version (reverted for now)
2009-01-14
in osd_getpixel() for X11, offset x/y as getPixel is relative to the outer window
FileWidget allow input of a custom path
2009-01-07
Updated FileWidget to allow relative paths for saveas. Updated to handle
readonly edit buffers. Fixed a few compiler warnings
2008-11-26
FLTK 0.10.2 was released
2008-11-23
FLTK: Fix for possible crash with html command used in plain window mode. Fix for
file widget for directory names with space characters.
2008-11-16
FLTK: Fix for invalid values returned by PEN command.
2008-10-26
FLTK: Fixed a few problems with find and replace. Implemented Rename Word command.
2008-08-16
* released windows version 0.10.1
2008-08-01
* passing length < 0 to MID no longer causes stackdump
2008-07-17
* refactor FLTK to allow opening of multiple editors
2008-07-05
* cleanup ansi codes from output in dev_null driver. fixed logprint command
* fixed "open for append"
* added FLTK -n non-interactive flag (prevents the gui from being displayed)
2008-07-01
* Implemented program restart option in FLTK
2008-06-28
* Updated to build FLTK version using MingW under Cygwin (see below).
2008-06-26
* Added build support for MingW under Cygwin. This is simpler than installing
Msys, simply install MingW to say c:\MinwG, then change your .bash_profile with:
export PATH=/c/MinGW/bin:$PATH
Then re-run configure (under cygwin bash) and a non-cygwin console version will
be produced which can run under cmd.exe, explorer.exe etc.
2008-06-20
* Can now supply program arguments on FLTK version command line:
sbasici -r t5.bas foo -or- sbasici t5.bas foo -or- ls | sbasic t5.bas --
also: echo foo | sbasic foo.bas --
2008-06-06
* Implemented the ability to declare a local variable and assign a
value to it on the same line, eg local foo = "foo"
2008-06-04
* Fixed problem with trailing backslash in strings
2008-06-01
* Add support for hash arrays (rainy day)
2008-05-26
* Updated module building to use autotools
* Fix regression with console build
* Fix for expression if (foo.x)
* UDS copy operations now always as by reference
* Can now refer to UDS field within parenthesis
* Updated FLTK online help
* Fix support for composite expressions such as "ar.ch(0).foo"
2008-05-24
* Updated SDL forms to work with guichan 0.8.1
* Fixed problem with FLTK HelpWidget displaying large pages
2008-05-15
* Update FLTK forms implementation to be like the SDL implementation
* FLTK now correctly implements DELAY
* Updated help.bas help plugin to include an index
2008-05-07
* FLTK: allow applications to set the window geometry using:
option predef grmode WxH
2008-04-26
* Source code release for version 0.10.0
2008-03-31
* Various fixes for FLTK build
* Implemented outside file change check in FLTK build
* Implemented file drop support in FLTK build
* Not being able to save an sbx file is no longer a fatal error
* runtime .bas files can now be read-only files.
* break command updates global last error string
2008-03-15
* re-migrated code from cvs - this time with full history
2007-12-31
* Fixed a problem in the SDL version with pressing ctrl+c
while the "press any key to close" message was being displayed
2007-12-02 version 0.9.9.0
* moved code to subversion
* see src/fltk/README.TXT for updated project indent settings
2007-11-03 version 0.9.8.3
* refactored console_main
* added the ability to include a path component in a unit name, eg:
import other.something.foo
? foo.my_var
Then in the foo.bas file:
Unit other.something.Foo
export my_var
The unit file should be saved in $UNITPATH/other/something.
If not defined, $UNITPATH is inferred as the host program
file directory.
2007-10-10
* A runtime error is now created in lieu of crashing when you
pass a value less than 0 to the LEFT and RIGHT string commands.
* The runtime error for LEFT,RIGHT,REPLACE,MID,INSTR,RINSTR now
includes the invalid index in the message
2007-08-31
* Fixed a problem referring to UDS fields from an array
eg x = foo(0).x
2007-08-18
* Fixed a problem with the short-circuit eval code causing
incorrect true/false return IP's being calculated
2007-08-02
* The IN operator when applied to arrays now returns
the 1 based index position, eg:
a << "cat"
a << "dog"
? "dog" in a 'prints 2
2007-07-21
* Implemented experimental logical expression short-circuit evaluation
2007-07-12
* (re) Implemented user defined structures
* AnsiWidget added to FLTK core package
2007-06-23
* TSAVE now correctly closes the opened file
2007-04-27
* Added GUI support to SDL version using guichan
2007-04-19
* Implemented user defined structures
* Commited Attila Haraszti's SDL code and changes for configure.in
* Added syntax support for '=='
2006-11-14
* Updated DATE and TIME error messages to provide extra information
2006-10-23
* Added more info the index out of range runtime error message
* Fixed configure.in for cygwin build
2006-08-19
* added "multiline" option to the TEXT command to support
the multiline edit control (GTK)
* fixed RINSTR command to work as advertised.
* TSAVE can now take a file number arg like TLOAD
2006-08-16
* Fixed error message with unterminated strings in a sub or func.
complained about missing END instead of the missing " char
* Quoted strings no longer required the end quote char. A new line is
taken as the end of string.
2006-08-12
* added support for func/sub pointer variables used with the
call statement:
func foo(s)
foo="foo!"+s
end
sub bar
? "in bar"
end
p = @foo
? call(@foo, "#")
? call(p, "%")
pb = @bar
call pb
call @bar
* USRCALL has been removed since it never worked and the above
is a better replacement (IMHO)
2006-07-28
* updated chain command to take string or array of string arguments in
lieu of a file name. After calling this command, the calling program
now successfully resumes.
* added HAVE_C_MALLOC to replace complicated
memory routines with simple malloc/free calls
* added GRID+TAB button support to GTK build
2006-05-27
* added form support to GTK build
2006-05-27
* bc_store_string() now handles escaped double quotes
2006-04-12
* updated sockcl_open() to handle server listen sockets
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.9.0
--------------------------------------------------------------------------------------------------------------------------------
2004-05-01: ndc
Human language depented files for messages and keywords.
The messages and the keywords can be easily translated to another language.
This is not suggested because that means incompatible source-code but it is very usefull for education purposes;
I believe that, the kids will work better if they are using their natural language
(and we are very sensitive on that matter).
I suggest to the "translators" to be very carefull, there is no mean on a word-to-word translation.
2003-03-10: ndc
new c-modules: mod_gdbm, mod_mysql
2003-03-09: ndc
fix: ptdistln, ptdistseg
new: POLYCENT (centroid of polygon)
2003-02-24: ndc
END IF: keyword with space is supported now
2003-01-24: ndc
FOR-IN: if the IN parameter is not an array (probably an empty variable) the FOR jumps to
--- the next command after 'NEXT'
2002-10-12: ndc
Sort: fixed
Search/Sort: does not generate RTE anymore
2002-10-10: ndc
units: SB libraries
new keywords: UNIT, IMPORT, EXPORT
2002-10-06: ndc
doc: .texi and groff output added
--- ref.txt structure changed
update: str()
--- str(string) now allowed
new: BSS() - converts C-style strings to BASIC-style strings
new: CSS() - converts BASIC-style strings to C-style strings
--- some more compiler error-checking
2002-10-01: ndc
several internal changes for easy development.
--- cxx_sb.hpp provides a new iterface to whole SB.
--- SB can compiled as a C or C++ library. That would
--- help a lot the IDEs developers. Main Makefile
--- splitted, it is working like main-menu now.
FLTK IDE added but not finished yet.
--- Actually that shows the power of the libsbasic.
--- It is very easy now to build IDE. Unfortunately
--- I am no friend of GUI, I've never tried Qt or GTK.
--- Anyway, soon, I'll rewrite the Win32 GUI version.
2002-09-16: ndc
update: compiler speedup for PalmOS 3.5+
--- VMTs not used on 3.5+ (no actually needed)
new code: lopen_bridge.h
--- I rewrote the VMTs. The code was a mess. Several parts of SB
--- uses #def blocks just to do simple tasks with open/close command-set
--- So, I wrote a "driver" which cleans a lot of those parts by using
--- real std-c emu of functions open/close for PalmOS and VTOS.
update: new VMT
--- VMTs are now basic part of the system. Because of lopen_bridge.h is
--- easy portable too. In VMTs is stored a fake environment-variable table,
--- VMTs are used for memory swaping, and will be used as basic-level database.
update: PalmOS, On PalmOS 3.5+ the opt_safedraw (SDK3.5 draw functions) is
--- used by default on 3.5+.
2002-09-11: ndc
update: PLAY "Q" clears sound queue
new: NOSOUND stops background sound and clears sound-queue
update: SOUND can plays on background
new: PLOT (graph of F(x))
2002-09-01: ndc
fix: ON GOTO/GOSUB, values out of index
2002-06-22: ndc
new: SEC/CSC/COT family functions
2002-06-21: ndc
update: extra check for build-in functions without parameters
2002-06-18: ndc
bug: RIGHTOFLAST() fixed
bug: palmos, 'keep-bytecode' code rewriten
--- CHAIN does not compile if it is not needed
2002-06-07: ndc
bug: palmos, memo fs, open for APPEND now moves the pointer to the end
--- of the file's data.
bug: palmos, pdoc fs, open for APPEND now works, still does not
--- support read-only open.
new: palmos, battery-info support in FRE()
2002-06-02: cws
new: ebm, added flush image escape to ansi driver \033[F.
--- This causes imgUpdate() to be called.
new: ebm, Sorted file names in File Dialog
2002-05-25: cws
update: ebm, improved "Run" dialog
update: ebm, further improved ANSI text out performance
2002-05-xx: ndc
documentation/doxygen format
2002-05-12: ndc
update: default values for window/view cmds
2002-05-12: cws
new: ebm, implemented FILES command - dev_create_file_list()
new: ebm, implemented COPY command - dev_fcopy()
new: ebm, implemented ENVIRONMENT command.
new: ebm, implemented FRE command - returns ebm memory and battery info (see help)
update: TLOAD speed optimize
update/new: ???, provided mechanism for sbasic programmers to provide an about box.
update: ebm, selecting the menu while running an application now pauses program
--- execution.
update: ebm, corrected behaviour with open file errors; now results in a
--- runtime error.
new: ebm, absolutely way cool on-line help!
new: ebm, removed the 2 pixel window border.
new: ebm, partial MMC file support; reading and listing files from sb code only.
--- MMC write is not yet implemented in the operating system.
new: ebm, updated command line editor. Entered commands are now sent directly
--- to the interpreter. You can tap and run simple one line programs
--- using the keyboard. Use : to separate program statements.
new: ebm, optional SmallBASIC.ini settings control creation of .sbx files
--- and enabling verbose compilation. settings are:
--- genexe=0
--- quiet=0
update: ebm, minor enhancements to ebjlib library
update: optimised ansi text out and window scrolling performance
2002-05-05: ndc
new: bitmap-lib (basic internals), it needs more work
2002-05-04: ndc
new: BLOAD,BSAVE,USRCALL
update: PalmOS power on/off button support
update: SDL default mode (see: README.UNIX)
2002-04-19: ndc
new: low-level commands
MALLOC,PEEK(8,16,32),POKE(8,16,32),BCOPY,VADR
new: palmos, keyboard buffer dialog (press kb)
not good yet, but it works
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.8.2
--------------------------------------------------------------------------------------------------------------------------------
2002-04-14: ndc
?bug?: crash; wierd memodb records (size >32KB!!), thanks to Meino
bug: PalmOS, MOD's result was wrong
2002-04-07: ndc
bug: memory overrun on scan.c:bc_get_var_id(), thanks to Meino
new: BGETC()/BPUTC (binary get/put bytes on a stream)
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.8.1
--------------------------------------------------------------------------------------------------------------------------------
2002-03-31: ndc
finish: OPTION-styles, new PREDEF QUITE,COMMAND
modify: system string-variables are now accepted with both names
(with or without $ suffix)
new option: -h[page][-command]
2002-03-25: ndc
new operator: LIKE
new proc: DIRWALK
new func: CHOP()
2002-02-27: ndc
bug fix: memo (palmos) open/write
2002-02-22: ndc
bug fix: pdoc's garbages are now dead (for desktop)
update: setting backup-bit in user files and pdocs
update: IN operator priority changed to 'compare'
new: MDL operator (a%b+b*(sgn(a)<>sgn(b)))
2002-02-??: Earle's port
2002-02-??: Chris's port
2002-01-28: ndc
2002-01-28: ndc
bug fix: cat() on 16bit, thanks to Frantesik
very fast and small memory handles emulation (for 'limited' systems)
2002-01-13: ndc
changes for porting: dev_getenv()/dev_putenv() at device.c
bug fix: env() function fixed, env command also fixed
2002-01-04: ndc
bug fix: operators && and || was on different op-category...
bug fix: small memory leak on string->number convertion inside
--eval.c module. That causes PalmOS fatal error!!!
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.8.0
--------------------------------------------------------------------------------------------------------------------------------
2001-12-27: ndc
bug fix: memo vfs driver: deleted files, no null-char on read
2001-12-??: ndc
new: split with pairs
2001-12-11: ndc
new: IN operator (not the FOR-IN)
new: ISNUMER(), ISSTRING()
new: ENCLOSE(), DISCLOSE() (also, its part of SPLIT)
bug fix: memory leak (GOTO)
new: terminal driver (old code for command-line is removed)
2001-12-10: ndc
new: DEF FN compatible command (single-line functions)
-- to support this, I made the DEF; an alias of FUNC
-- so, FUNC f(x) = sin(x)
-- and DEF f(x) = sin(x)
-- is now acceptable
new: bitwise operators NAND,NOR,XNOR,EQV,IMP
-- it needs checks
new: parameter parser (RT)
update: FORMAT, console-codes (\e[nG)
new: RINSTR, SPRINT
2001-12-08: ndc
linux: modules support (external C/C++ libraries)
new: true color is supported for modes >8bit
new: RGB() RGBF()
change: KILL does not create RTE if there is no file
-- It is very annoying on Linux
update: svga & sdl (colors, some minor bugs)
change: LOADLN/SAVELN changed to TLOAD,TSAVE
-- I don't want to use LOAD/SAVE, also,
-- I want common names, like BLOAD/BSAVE
change: &&, || = logical ops (like C)
new: &, |, ~ = binary ops (like C)
new: & = join code lines (like the \ on C)
change: SB limits are changed
2001-12-07: ndc
default name on Unices changed to sbasic instead of sbrun
update: everything is working on 32bits now
-- 16b version can be produced by using OS_ADDR16
-- For PalmOS users the 32b means less memory...
change: xmax, ymax returns now the width-1,height-1
-- its more logical
2001-12-05: ndc
update: +/-INF and +/-0 for real-to-string (PRINT included)
2001-12-03: ndc
update: PalmOS IDE: several changes, include auto-goto error-line
new: APPEND, DELETE, INSERT
new: PalmOS scripts (thanks to Frantisek Dufka)
change: ANSI console code for 'reset' does not
-- changes the font.
2001-12-02: ndc
new: dev_gets() (INPUT)
-- On Palms: schedule=delete, phone=left, todo=right
-- possible problems with multibyte charsets,
-- var-font: minor problems with multiple lines
update: PSET,LINE,RECT,VIEW,WINDOW... graphics commands
changed: LOCATE coordinates starting from 1
2001-12-01: ndc
new: SEARCH
new: CHMOD
update: compiler: PASS2 errors, more info
2001-11-30: ndc
new: SQUEEZE()
some more compiler/RTL checks
new: ISARRAY()
new: ++ and -- pseudo-operators
bug fix: file size on Unix
new: COMMAND$ system variable
update: STOP/END parameter added
2001-11-29: ndc
new: FORMAT, PRINT USING and new FTA function (print numbers)
alias: LINE INPUT (with space) is now acceptable
INTEGRAL keyword removed
2001-11-28: ndc & bob
bug fix: EXIT inside function
new: ISDIR, ISFILE, ISLINK, ACCESS
new: IF function: IF(condition,true-value,false-value)
new: operator << (append to array)
new: REDIM (resizes an existing array. its works only for 1-dim arrays)
2001-11-27: ndc & bob
changes: ROUND(-1.5) returns -2
changes: MOD (changed to fmod())
bug fix: INT, FIX - negative values
new: FRAC, CEIL, FLOOR
changes: scientific notation E supports xE{+|-}{praxis=+-*/\^}{y}
---valid: 1E1 (1*10^1), 1E-1 (1*10^-1), 1E--1 (1-1), 1E-/2 (1/2)
---invalid (nested E, complex expressions, variables): 1E-+2E--4, 1E-+int(2.2)
---if I write an eval() then it will do more things :)
new: LINEINPUT (new alias: LINP) works on console, too
bug fix: PAUSE n (after an key-interrupt; now clears keyboad-buffer)
bug fix: WEEKDAY
bug fix: STATs I was made some stupids things here, now it is working again
---(QB: DEF FNxxx - END, later will be added the inline DEF FN)
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.7.1
--------------------------------------------------------------------------------------------------------------------------------
2001-11-24: ndc
changes: LINEQGJ (Gauss-Jordan) renamed to LINEQN
new: DIFFEQN
2001-11-23: ndc
new: JULIAN(dmy_string | d, m, y)
new: DATEFMT(format, dmy_str | d, m, y | julian)
new: WEEKDAY(dmy_str | d, m, y | julian)
new: DATEMDY dmy_str | julian, byref d, byref m, byref y
new: ROOT
new: SORT (quick sort)
2001-11-22: ndc
bug fix: Palm's ftostr(), round bug (59.9999999/60 was 0.1 instead of 1) (Thanks Bob :)
bug fix: Palm IDE: Goto line 1
bug fix: spaces on parameters (i.e. BYREF bug)
changes on SPLIT (spaces now counts as delimiters)
SPLIT supports the USE keyword
new: TRIM()
new: INTEGRAL
2001-11-19: ndc
changes: COM ports 0-9 (COM1:,COM5:,etc)
PalmOS IDE: categories (edit, delete, rename)
PalmOS IDE: it does not delete the bytecode (Menu->Pref->Options)
PalmOS IDE: line numbers on editor
bug fix: VM (CALL_UDF) (4 bytes instead of 2)
new: DERIV
2001-11-18: ndc
changes: DIM A(10):A=1 is valid now... (convertion from array to integer)
changes on LEN(), INPUT
bug fix: EMPTY()
bug fix: '_' its works again in the sub-routines names
new: DETERM(A[,tol])
new: LOADLN file, array
new: SAVELN file, array
bug fix: binary READ/WRITE commands
new: FOR var IN array - NEXT
command-line: quite flag (-q); No "* DONE *", no compiler messages
bug fix: Unix OS Name
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.7.0a
--------------------------------------------------------------------------------------------------------------------------------
2001-11-07: ndc
PalmOS: crash with MemoDB deleted/locked records
--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.6.1-0.7.0
--------------------------------------------------------------------------------------------------------------------------------
2001-11-06: ndc
SB web-site: recovery...
2001-11-05: ndc
2001-11-04:
after hard-disk failure... recover and check
bug fix: WinXP: sound driver, SBPad forms background color
2001-??-??: ndc
2bit DOS (DJGPP)
--That means there needed one DPMI driver (under windows DPMI is supported).
--For clean DOS you can use one of delorie's DPMI (free) programs or other (read DJGPP's FAQ)
--CPU 80386 or newer is needed
--Long-filenames are supported only under windows (read also DJGPP's FAQ, especially for NT)
--NO TCP/IP
Statistical/generic functions are added: (thanks to Yannis Dondos (dondos@otenet.gr))
ABSMIN, ABSMAX, SUMSQ, SUM, STATMEANDEV, STATMEAN, STATSPREADS, STATSPREADP
2001-08-09: ndc
RUN() function added (returns the stdout of the command)
HOME system variable added (user's directory)
CWD system variable added (current working directory)
CHDIR/MKDIR/RMDIR: only for non-palmos
SOCL FS: socket client (virtual file system) added
--This driver its not tested on PalmOS...
--Only OPEN,CLOSE,READ,WRITE,EOF() are implemented
2001-08-08: ndc
READ/WRITE command set: binary read/write to a file (for variables)
bug fix: INSTR (caseless compare changed to case sensitive)
POINT(): 0,1 functions added (returns the current graphics X/Y position)
PalmOS IDE: import/export to/from PDOC
PalmOS IDE: import/export to/from Memo
PDOC FS:
--filesystem emulation for PDOC files. (use OPEN "PDOC:filename")
--Under non-palmos OSes, files PDoc_* are created in the current directory for emulation.
--These files are real compressed PDB/PDOC files (you can hotsync them)