Author Topic: 9.3  (Read 5065 times)

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
9.3
« on: March 21, 2019, 06:49:13 AM »
I'll continue here where the 9.2.3 discussion has finished.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #1 on: March 21, 2019, 07:00:03 AM »
Everything has been merged to one folder. The programs are now sorted in categories.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #2 on: March 25, 2019, 04:30:21 AM »
I'm removing MSL, SIOUX, WASTE and PowerPlant from all my programs.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #3 on: April 09, 2019, 06:21:39 AM »
I'm removing C strings from all my programs.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #4 on: April 12, 2019, 08:31:34 AM »
My entire framework is now available in the OS 9.3 SDK as libraries with headers. Every Xxx library comes in 2 versions. XxxLib is meant for release versions while XxxDbg is meant for debug versions. XxxDbg shows filenames and line numbers in error messages.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #5 on: April 17, 2019, 12:57:24 AM »
I'm replacing all my console programs with a different type of console. CodeWarrior's console is a text processor where the cursor is always at the end, and when the program is finished you can save the text. My console program is a program that writes a text (which may be longer than 2 GB) and it displays the last lines in a window. This is much faster and uses little memory.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #6 on: April 19, 2019, 09:21:19 AM »
See in the attachment an example of a new, faster and smaller type of console program. (If you choose Quit before it's finished, then it will continue without updating the window and then it will quit.)

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #7 on: May 09, 2019, 07:02:14 AM »
I found the way to relink OS 9.2.3. I replaced the shared libraries with static libraries and I made a third target where the static libraries are replaced with the code in those libraries, but this target is usually not built because it takes too long. But if I wish, I can easily debug it.

These programs are now in the Utilities folder in OS 9.3.

There are a few changes:
  • The about box is replaced with the standard about box from PowerPlant.
  • Object calculator doesn't know that certain flags are for folders only, but I will change that.
  • The programs are 11 times larger because the code is linked in every program instead of shared libraries.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #8 on: May 15, 2019, 09:37:54 AM »
Code: [Select]
/* Finder flags (finderFlags, fdFlags and frFlags) */
/* Any flag reserved or not specified should be set to 0. */
/* If a flag applies to a file, but not to a folder, make sure to check */
/* that the item is not a folder by checking ((ParamBlockRec.ioFlAttrib & ioDirMask) == 0) */
enum {
    kIsOnDesk                   = 0x0001,                       /* Files and folders (System 6) */
    kColor                      = 0x000E,                       /* Files and folders */
                                                                /* bit 0x0020 was kRequireSwitchLaunch, but is now reserved for future use*/
    kIsShared                   = 0x0040,                       /* Files only (Applications only) */
                                                                /* If clear, the application needs to write to */
                                                                /* its resource fork, and therefore cannot be */
                                                                /* shared on a server */
    kHasNoINITs                 = 0x0080,                       /* Files only (Extensions/Control Panels only) */
                                                                /* This file contains no INIT resource */
    kHasBeenInited              = 0x0100,                       /* Files only */
                                                                /* Clear if the file contains desktop database */
                                                                /* resources ('BNDL', 'FREF', 'open', 'kind'...) */
                                                                /* that have not been added yet. Set only by the Finder */
                                                                /* Reserved for folders - make sure this bit is cleared for folders */
                                                                /* bit 0x0200 was the letter bit for AOCE, but is now reserved for future use */
    kHasCustomIcon              = 0x0400,                       /* Files and folders */
    kIsStationery               = 0x0800,                       /* Files only */
    kNameLocked                 = 0x1000,                       /* Files and folders */
    kHasBundle                  = 0x2000,                       /* Files only */
    kIsInvisible                = 0x4000,                       /* Files and folders */
    kIsAlias                    = 0x8000                        /* Files only */
};

I assume that this means that 0x0200 is reserved for folders. It should be 0, but when you check it, it's 1.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #9 on: May 29, 2019, 09:45:50 AM »
My own Unicode conversion is 13 times faster than Apple's UnicodeConverter.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #10 on: June 06, 2019, 02:29:38 AM »
I'm changing the AppleScript support of all my programs. For every event I define a class like QuitSupport or AppDiedSupport. Then I derive the program class from those classes. It's easier and safer and you can easily find which program supports which events.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #11 on: July 08, 2019, 06:57:39 AM »
The high level tools have been relinked. 47% of the low level tools have been relinked. Then I have one REALbasic program "Pseudo undelete" that has to be finished (no real delete and no report at this moment). Then I have the "Offline Wikipedia" program which does nothing yet except installing a handler and processing events.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #12 on: August 08, 2019, 05:48:32 AM »
This is the current progress. Some programs are unfinished. Do not use these programs.

https://tinyurl.com/20190808os93

This link will work 14 days. You need a bit more than 2 GB disk space.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #13 on: September 05, 2019, 04:59:58 AM »
I improved the "Pseudo delete" extension to make it return fLckdErr and fBsyErr.

I improved Belcut. You can now choose the bit depth of a merged picture.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #14 on: September 11, 2019, 06:56:09 AM »
I found a bug in BigFileTest and MergeWiki. "Build index" didn't work correctly because I was changing it to make it work with multiple languages.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #15 on: October 02, 2019, 03:41:50 AM »
I rewrote my REALbasic XML parser. The demo, the validation and the parsing are now separated. Then I'll do the same for HTML. Then I'll write the C++ version.

I need the C++ version of the HTML parser to check my documentation for unused style or undefined style.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #16 on: October 11, 2019, 08:35:40 AM »
I found a memory leak in "Lexer generator". Now all memory leaks are gone.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #17 on: October 11, 2019, 08:36:39 AM »
I found a bug in "Basic filter" and I improved it with drag and drop.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #18 on: October 11, 2019, 08:37:05 AM »
I finished the XML and HTML parsers in REALbasic.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #19 on: October 21, 2019, 08:46:17 AM »
I finished the XML and HTML parsers in C++.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #20 on: October 21, 2019, 08:46:55 AM »
This is the current progress. Some programs are unfinished. Do not use these programs.

https://tinyurl.com/20191021os93

This link will work 14 days. You need 2.59 GB disk space.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 512
Re: 9.3
« Reply #21 on: Today at 06:59:49 AM »
I improved the headers of the libraries and the use of profiler.
I included the HTML and XML parsers.
It parses HTML at 32.6 MB/s.
It parses XML at 29.2 MB/s.

https://tinyurl.com/20191023sdk

This link will work 14 days.