DRR's Dimension
[DRR's Dimension Icon]
DD

Welcome to DRR's Dimension!


http://www.d-r-r.com

Am I on instant messenger right now?

[image of my current online status}]

AOL Instant Messenger: StrategosDRR

MSN Messenger: hotmail.com, DRRs_Dimension@

This site is mostly a place for me (Daniel Regner) to show off stuff I've made, all nicely organized and formatted. My programs, my rantings, and other miscellaneous things are here for your perusal. Oh yes, it's useful to me, but is it interesting to you? Probably not, but nevertheless, you are welcome to look around.

However, since I am a great procrastinator as well as inherently lazy, much of the stuff that I would like to have on this site is not here yet and so you will probably see a lot of empty sections as you look around. Feel free to complain to me, but don't expect me to change. :) I maintain this page in my spare time, and as such, it is updated on a non-continuous basis.

The only section which is actually complete is the DRR Software section. I'm working on the Knowledge Nexus, and the Miscellaneous Stuff section is mostly vacant. The School section is MIA as well. The "All About..." section is outdated, too. But I'm working on it. The main Chronicles page is huge, so you can always look through that if you are super-bored.


DRR's Dimension News:


Saturday, June 30, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:22
  • I got rid of the BFar class flag by making the memflagFar flag for DLoad/DStore/DParameter/etc. The other class flags have been adjusted to make more room for the future BArray flag.
  • I also changed how user-defined types are distinguished from built-in types, saving about 5KB of compile-time memory in QB.
Monday, June 25, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:21
  • I found a memory-corrupting bug in the new Poke_Far subroutine (wrong segment register) used by the new version of ReDim. After this fix, the standard regression test (compiling itself) works again, minus the known bug with hexadecimal literals.
Sunday, June 24, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:20
  • I rewrote the ReDim subroutine in BASIC. When I got to the string part, I instantly spotted a major bug where the routine would attempt to deallocate strings using the new dimension, not the existing dimension. This fixed the Array test program.
  • The array descriptor flag for string arrays was not properly being set; this is fixed now.
  • The following support procedures were added to the memory management code to facilitate the low-level memory access needed by the ReDim subroutine: New and Delete (wrappers for Mem_Alloc and Mem_Dealloc that use stack parameters instead of register parameters), DGroup (which just does a mov ax, ds instruction), Poke_Far (far memory version of Poke), and Poke_Word (sixteen-bit version of Poke).
Sunday, March 4, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:19
  • Build 18 broke the ability of SwiftBASIC to compile itself since it added a dynamic array of variable-length strings.
  • I made updates to the declare and store routines to handle dynamic string arrays. This includes forcing them to always be near (all other dynamic arrays are far).
  • I also updated the ReDim subroutine to handle near arrays and string allocation/deallocation.
  • Right now, it still doesn't work yet due to crashing bugs (bad memory deallocations) that I haven't found yet.
Sunday, February 4, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:18 synopsis written 2007-02-25
  • Type identifiers are now two bytes everywhere. Previously, they were two bytes in most places but only one byte when they were stored in a string, usually as part as a set of procedure parameters.
  • Symbols now have their parameters stored as strings in a separate array instead of as elements in the user-defined type. This allows them to be variable-length strings and occupy less space.
  • There are a few places where parameters still need to be a part of the user-defined type, and for this a separate user-defined type has been created. There also are three new procedures (SymbolGet, SymbolSet, and SwapSymbols) to do the translations.
Saturday, February 3, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:17 synopsis written 2007-02-25
  • I added support for inline assembly using the grave accent ("`") at the beginning of each line.
Sunday, January 28, 2007: DRR Software > TextLand
TextLand Version History v1.00:10
  • The program now background-highlights more text when idle. I switched from using LockWindowUpdate on the form to WM_SETREDRAW on the form (using it on the control has the same problem). There was constant noticeable flicker, however (the same as when you type). I suppressed this by calling ValidateRect on the control. But it still flickers when you type.
  • I also successfully subclassed the control to drop WM_PAINT messages when redrawing, but this turned out to be unnecessary and is now disabled.
Saturday, January 27, 2007: DRR Software > TextLand
TextLand Version History v1.00:09
  • I fixed the bug where the desktop would flicker when the text was updated. This was accomplished by calling LockWindowUpdate with the hWnd of the form instead of the hWnd of the RichTextBox.
  • The program is now called "TextLand" instead of the generic "Text Editor."
Sunday, January 7, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:16 synopsis written 2007-02-25
  • I added an overload of the Division32 function that discards the remainder.
  • The division operator now works for long integers (still does integer division only).
Saturday, January 6, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:15 synopsis written 2007-02-25, 2007-03-04
  • I fixed a bug in the array element loading logic where the element index was neglected.
  • SwiftBASIC can compile itself successfully again.
Monday, January 1, 2007: DRR Software > DRRbasic
SwiftBASIC v2.00:14 synopsis written 2007-02-25
  • Now all arrays (dynamic and static) have array descriptors. This allows arrays to be parameters to procedures.
  • The LBound and UBound functions are no longer hard-coded for special treatment in the Expression function.
  • The ArrayDescriptor type is now available to code.
Sunday, December 31, 2006: DRR Software > DRRbasic
SwiftBASIC v2.00:13 synopsis written 2007-02-25
  • The LBound and UBound functions now work on dynamic arrays. There are actual LBound and UBound functions added to the standard library to handle this.
  • The far memory allocator now has basic error-handling.
  • I fixed a bug where far memory allocations between 32,768 and 65,535 would always fail (due to a unsigned vs. signed integer problem). Allocations of 64KB or more are not supported yet.
Saturday, December 30, 2006: DRR Software > DRRbasic
SwiftBASIC v2.00:12 synopsis written 2007-02-25
  • Dynamic arrays can now include user-defined types.
  • Dynamic arrays are now kept in the far heap instead of DGROUP. This is implemented using the DOS interrupt 21 functions 48 and 49 to allocate and deallocate far memory.
Tuesday, December 26, 2006: DRR Software > DRRbasic
SwiftBASIC v2.00:11 synopsis written 2007-02-25
  • The code for loading from and storing to elements in dynamic arrays was cleaned up/fixed.
Monday, December 25, 2006: DRR Software > DRRbasic
SwiftBASIC v2.00:10 synopsis written 2007-02-25
  • Support for loading from and storing to elements in dynamic arrays was added.
Sunday, December 24, 2006: DRR Software > DRRbasic
SwiftBASIC v2.00:09 synopsis written 2007-02-25
  • I began to add support for dynamic arrays. This includes the maintenance of an array descriptor for each array.
  • ReDim now behaves differently than Dim in that it will make the array dynamic (instead of just putting it in far memory and keeping it static). There is an actual ReDim subroutine now to handle this.
Wednesday, November 29, 2006: The Daily Ramble
DD News : Upcoming Trip to Las Vegas
  • I will be on a work trip in Las Vegas for most of next week (Dec. 3rd--8th) attending the Web Builder 2.0 Conference. I like the selection of topics, especially the focus on AJAX, which, by allowing you to download new data to a web page without refreshing it, allows you to do all sorts of neat real-time/dynamic interfaces. In particular, I intend to use this in more places on the company Intranet.

DRR's Dimension Sections:


[DRR Software Icon]DRR Software programs that I write
[Knowledge Nexus Icon]Knowledge Nexus the reference library
[Miscellaneous Stuff Icon]Miscellaneous Stuff games, stories, etc.
[All About... Icon]All About... myself and my site
[Chronicles Icon]Chronicles the complete news archive
Copyright (c) 1996-2oo7 Daniel R. Regner ("DRR"). All rights reserved. Any and all information, software, and other products and services are provided "as is" without any kind of warranty. The opinions on these pages are my own and do not represent those of any other entity. All copyrights and trademarks are the property of their respective owners. Have a nice day. :)
[Background image: 3D wireframe plane] [Background image: black-to-blue gradient]