TweetFollow Us on Twitter

Jun 88 Letters
Volume Number:4
Issue Number:6
Column Tag:Letters

TML Pascal Returns to the Mac

By David E. Smith, Editor & Publisher, MacTutor

[TML has returned to the Mac market with a new version of TML Pascal that runs under MPW and supports objects and MacApp. This is the first non-APDA product to be available from a third party that supports MacApp. This is important because it means more widespread availability of MacApp compatible MPW tools than just through APDA, which enjoys an Apple supported monopoly on distribution. Here is an advance look at TML Pascal version 3.0, being announced this month at Mac Hack in Ann Arbor, Michigan. -Ed]

TML Pascal v3.0

Tom Leonard, TML

Jacksonville, Fl.

Version 3.0 of the TML Pascal compiler will be a completely new implementation of TML Pascal. The most significant change for this product is that it will be converted to operate with the Macintosh Programmer’s Workshop (MPW) as an MPW Tool.

The following is a list of the major features provided by TML Pascal v3.0:

• Operates within the Macintosh Programmer’s Workshop

• Complete support for Object Pascal

• Compiles MacApp

• Native 68020 and 68881 code generation

• Conditional compilation

• Assembly source code output as well as object code output

• Constant expression evaluation in declarations

• Performance analyzer

• Complete integration with other MPW languages including MPW C and Assembler.

In addition to the Pascal compiler, the product will also ship with a Pascal pretty printer (TMLPasMat) and Pascal cross reference tool (TMLPasRef).

TML Pascal will support the development of any type Macintosh program. These include:

• Desktop applications

• “Textbook” applications

• MPW Tool applications

• Desk accessories

• Definition procedures (WDEF, MDEF, CDEF, LDEF, etc.)

• FKEY resources

• INIT resources

• HyperCard XCMDs and XFCNs

and more...

Examples of how to create all of these various types of programs are provided with either the TML Pascal product or the TML Source Code Library.

In addition, TML Pascal will provide several MPW “scripts” which will implement custom menus and other user interface elements to make using the MPW shell easy for the beginning programmer. Compiling and executing a program will be as simple as selecting the “Compile & Run” command from the “TML Pascal” menu. In fact, many users may never find it necessary to use other MPW commands to compile and create programs.

External Tool Specification

Syntax TMLPascal [ option ] [ file ]

Description Pascal language compiler.

Input: One or more Pascal program or unit source code text files. By convention, Pascal source file names end with the suffix “.p”

Output: The compiler can create two types of output: MPW object code (the default) or MPW assembly source code. The output is written to a file whose name is the input source file name with the “.o” or “.a” suffix respectively.

There is no output to standard output.

Diagnostics: Compile time errors are written to diagnostic output. Progress and summary information is also written to diagnostic output if requested.

Status: The following status values are returned to the Shell:

0 Successful completion

1 Error in parameters

2 Compilation halted

Options:

-align Align all data items on longword boundaries.

-asm Compile the source file to assembly source output rather than object code.

-d name= TRUE | FALSE

Set the compile time variable name to TRUE or FALSE

-i pathname [,pathname]...

Search for include or USES files in the specified directories. Multiple -i options may be specified. At most 15 directories will be searched.

-mc68020 Generate code to take advantage of the 68020 processor.

-mc68881 Generate code to take advantage of the 68881 co-processor.

-o outName

Specify the pathname for the generated output file (object or assembly). If outName ends with a colon (:), it indicates a directory for the output file, whose name is then formed by the normal rules. If outName does not end with a colon, the output file is written to the file named outName.

-ov Turn on overflow checking.

-p Output compiler version and progress information to diagnostic output.

-r Suppress range checking.

-t Report compilation time to diagnostic output.

-u Initialize local and global data to the value $7267. Used for debugging.

-z Turn off the output of embedded procedure names in the object code. This option is equivalent to the {$D-} compiler directive. By default, the compiler creates the embedded procedure names for use by TMON, MacsBug, and other debuggers.

Language

TML Pascal v3.0 will be a compatible ANS Pascal and MPW Pascal compiler. In addition, a significant amount of time will also be spent further improving the code quality of generated code. Because the current version of TML Pascal is already very much compatible with MPW Pascal, no major changes are required. The following is a list of the more significant changes to be made for TML Pascal v3.0. See the TML Pascal v3.0 Language Reference Manual for a complete definition of the language.

• Conditional compilation

• Short circuit boolean operators ( &, | )

• Exponentiation operator ( ** )

• Identifiers may begin with an underscore

• Implement the “C” subprogram directive

• Fully implement Object types

• Type REAL changed to be equivalent to SINGLE

• Support 96 bit extended reals for 68881

• Support constant expressions where constant literals are normally expected

• Support sets in the range 0..2039

• Untyped files

• Type casting between ordinal types of different sizes

LS C and Resources

Bill Rausch

Kennewick, WA

I think you missed the point in the May 88 letters column regarding the LightSpeed C development system (as did Peter Korn whose letter you were responding to). You do not need any “code hacks” in LSC to handle the resource fork of the application being developed. All you have to do is use the following naming convention:

the project file name: xxx

the resource file name: xxx.rsrc

and keep the resource file in the same folder as the project.

The resource file is automatically opened by LSC when you “run” the application during development and is automatically linked when you build the stand-alone application. My own convention is to name my project files “x.proj” and the resource files “x.proj.rsrc”, where the stand-alone application will have the name “x”.

Also, re: a MouseHole post by David Kosiur about fractional font widths. Both Microsoft Word 3 and Word Perfect have options for using the fractional font widths with the LaserWriter. In Word 3, the option is controlled via a check box in the print dialog box. In Word Perfect, choose Screen from the Special menu to find it. In both programs (and I assume all other programs) setting this option disables the “font substitution” option.

Hard Disk: Hit Here!

Mike Cohen

Burbank, CA

In response to the messages about Hard Disk problems in the Mousehole Report, here’s my two cents worth. My Mac II’s 40 Meg internal drive (made by Quantum) often refuses to boot when I turn it on. One morning it went on for several hours, and in desperation I called Developer Support. Dave Ramsey told me, “Oh yes, that’s a common problem with Quantum Drives. The head sometimes freezes to the surface & prevents it from spinning. Try giving it a whack on the side”. The drive worked just fine after I whacked it. [Ouch! -Ed]

Modula-2?

Davis R Bell

Fort Collins, CO

What has happened to Modula 2? In the old anorexic Mac days you carried articles on the subject and lots of good code, especially by Tom Taylor (now with Apple). The old M-code compiler was slow but now there is the Wirth 68000 compiler worked on by TML and SemperSoft. Is it a back-handed compliment (not ‘complemint’ as some of your authors seem to assume) to Modula which assumes that source translation from C or Pascal is a snap? I’ve just moved (deep breath) from the ETH (fount of all wirthwhile(sic) wisdom) MacMeth system to the TML MPW (Modula-2) setup. Strongly recommemded with lots of nice things like : a very versatile variant of the event record; generic ADDRESS types for Handles, etc.; source macros for the editor; full (I repeat ‘full’) access to IM Vol 5 calls; and lots of low-level primitives, which virtually allow the writing of primitive assembler routines as Modula code. Beefs: documentation could be better and, of course the slow but reasonably intelligent MPW linker. One thing TML/SemperSoft might think of doing is implementing the source level debugger from ETH which came with MacMet. This was a real benison for those lazy days when one can’t face TMON (which, in version 2.81 works fine with TML Modula). How about it? [Modula-2 is a language that seems to always end up being still-born on the Mac. TML has just released their MPW Pascal with object support, so once again, one has to ask how serious they will be about their Modula-2 product? They never bothered to send MacTutor a copy for Editorial support, so as far as we are concerned, there doesn’t seem to be much interest in Modula on the Mac out there. -Ed]

DataBase Challenge

Dr. H. M. Aus

Wurzburg, Germany

For what it is worth, I would like to add my comments to your database debate.

We currently run a medium size database for the diagnostic labs here at our Institute. The database is homegrown and written in VAX-DIBOL. Our labs receive approximately 300 specimens a week on which up to 100 different tests, including AIDS, can be requested. Another collaborating lab processes 1000 specimens per week. My long term goal is to improve the reliability and user friendliness of the database. That is why we are looking at Macintosh and appreciate the recent comments and opinions in MacTutor.

Of all the databases that we have looked at, Double Helix II seems to be the most reasonable choice because you don’t have to program it. However, as you also point out there are too many icons involved. Odesta needs to allow the user to present the icons in a compact form. In our application, we need 100 icon data fields for the laboratory results, 100 icon flags to indicate which tests have been requested, 100 icon flags to indicate that the results have been sent to the physician or clinic, 100 icon flags to show that the cost of the tests have been invoiced, etc. Plus, all the patient, clinic and physician information need to be “iconized”. This is simply too many icons.

Lastly, based on our DIBOL experience, we do not want to program another database. Also, we do not want to either pre-process or post-process our data.

We’d enjoy hearing from other users about similar applications and their solutions.

P.S. Your recent articles on Mac II color have been very useful to us in our image processing project. Please, forward your author’s kit and we’ll tell you about it in the fall. Absoft’s FORTRAN 020 V2.3 compiler has been a big disappointment! [Guy Kawasaki thinks his 4th Dimension is the best way to go and has sent us an article on how to do it. Watch for it next month. -Ed]

TOPS is TOPS

Rick Cumings

TOPS Senior Technical Support

Alameda, CA

This letter is in response to comments made by Richard Clark on the MouseHole BBS, as printed in MacTutor’s April 1988 issue. He had complaints regarding duplicate serial numbers of TOPS products, and delays in the shipment of upgrades. We’re sorry that he had problems receiving a TOPS PC upgrade in a timely manner. Just before we released TOPS II, we found a snag in the AppleTalk Transaction Protocol (ATP) lookup in AppleTalk over zones. It manifested itself in very slow response times, leading to unacceptable transfer delays. We developed a workaround which took some time to test and release.

Mr. Clark also alluded to Sun MicroSystems bearing the ultimate responsibility for the problems. To be fair, the problems were many and varied, but TOPS bears the responsibility for any delays. We experienced the delays and bad product shipments due to our inexperience at providing a new upgrade to customers. We learned much during this time about how to increase our efficiency and responsibility to our customer base. As a result, our upgrade department has turned-around the situation. If you call for an upgrade today, you won’t experience shipment delays or other probloms.

If developers or customers have any technical problems with TOPS products, they can reach TOPS Technical Support at 415-769-8711; the TOPS Talk BBS at 415-769-8774; AppleLink address D0098; CompuServe (subtopic TOPS within the Apple Vendor Forum); or BIX (TOPS Vendor Support Conference).

The Trouble With FONDs

Cliff Joyce

Northridge, CA

By the way, I noticed the discussion in a recent MacTutor issue regarding the problems with bitmapped fonts behaving strangely in applications that use fractional character widths.

The problem goes back to older versions of the Font/DA Mover Which improperly set bit 14 of the ffFlags word when building FOND resources from scratch. This flipped bit tells the application that the FOND contains a fractional width table. The application then uses ffWTabOff to find the address of the width table. But since ffWTabOff is zero in this case, the application points to the beginning of the FOND--usually causing characters to overwrite themselves when being drawn.

We have removed all FONDs from our World Class Fonts collections, and included Font/DA Mover v3.6, which properly sets bit 14 of the ffFlags word.

However, a safer solution might be for programmers to make two tests to determine if a FOND contains a fractional width table. First test the bitflag, then test ffWTabOff. If ffWTabOff=0, assume there is no fractional character width table.

By the way, Font/DA Mover v3.6 now improperly sets bit 15 of the ffFlags word when creating generic FOND resources (unless my Inside Macintosh volume IV is not accurate in describing the setting of bit 15). This may be a moot point as I am unaware of any applications that use this bit for anything (yet).

Oh, yes--enclosed is my check for another year’s subscription. That’s it for now. Keep up the good work...

Display Postscript

Michael Nelson

Sunnyvale, CA

Basically, some Mousehole Report posting listed in the April issue of MacTutor related to a developer’s poor perception of Display PostScript’s performance. I recently had the opportunity to see a demonstration of Display PostScript, and receive an overview of its architecture from Charles M. Geschke, an Executive V.P. for Adobe. While I didn’t take copius notes on this presentation I do have a good feel for Display PostScript, and would like to set the record straight.

The writer’s claim that Display PostScript is slow is just not accurate.

The architecture of Display PostScript is “OPEN.” That is the product comes with a full software implementation of its graphics core, with hooks for vendors to add value through. Vendor value added can be implemented via a windowing system interface which they have full control over, and/or through LINKS TO HARDWARE ASSIST FOR ACCELERATING GRAPHICS PERFORMANCE.

While a quick and dirty (i.e. dumb) port of Display PostScript to a given platform is likely to be less than blazingly fast (although the video tape I saw of Display PostScript running on a MAC II, IBM PC RT, IBM PS/2 80, SUN s/60, and VAXStation 2000 all looked pretty darned impressive!), an intelligent port utilizing available hardware assists will realize the available performance in the box (note: the VAXStation and IBM PC RT in the aformentioned video tape both had hardware vector drawing implemented).

From what I saw I was impressed. Clearly Adobe did their homework and put together a very tidy package (and DEC agrees, no SMALL OEM to land first). If there is a negative that I can think of, it is in Adobe’s attitude. They have a nice product, know it, but are not being particularly aggressive in pushing it, especially on the Mac II platform. For instance, they had no comment on when, if ever, they would release a Mac product. [This might be because they don’t want to offend Apple? -Ed]

I’ve Got a Pen If You Have an Idea

Alastair Dallas

Glendale, CA

Congratulations on your recent MultiFinder application article. With all that’s been going on, it’s not surprising that my letter of February 11 got lost in the shuffle, but I am still interested in hearing from you. Like every other Macintosh software developer, I find MacTutor invaluable reading. Unlike every other reader, I am an experieced writer. I’d like to sell you an article.

Object-oriented drawing programs have received scant attention in your pages, except for Bob Gordon’s promise to cover that topic “next month” last May. I am in the process of creating an application that will expand on the concept of object drawing programs like MacDraw, and I would be interested in explaining what I know and more importantly, what I learn. For example, I protptyped my program in HyperCard. Since your readers are serious programmers, I expect that they would be interested in an article that explains how to do that without using up as many pages as Danny Goodman’s Book. [Look forward to whatever work you would like to send our way. I personally am still very interested in how to clone the MacDraw technology. We still need more Draw type tools and have not published much on the subject on how to create and manipulate small PICT type objects. -Ed]

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

1Password 6.6.4 - Powerful password mana...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
Cocktail 10.3.1 - General maintenance an...
Cocktail is a general purpose utility for macOS that lets you clean, repair and optimize your Mac. It is a powerful digital toolset that helps hundreds of thousands of Mac users around the world get... Read more
Safari Technology Preview 10.2 - The new...
Safari Technology Preview contains the most recent additions and improvements to WebKit and the latest advances in Safari web technologies. And once installed, you will receive notifications of... Read more
Together 3.8 - Store and organize all of...
Together helps you organize your Mac, giving you the ability to store, edit and preview your files in a single clean, uncluttered interface. Features Smart storage. With simple drag-and-drop... Read more
GraphicConverter 10.4 - $39.95
GraphicConverter is an all-purpose image-editing program that can import 200 different graphic-based formats, edit the image, and export it to any of 80 available file formats. The high-end editing... Read more
beaTunes 4.6.13 - Organize your music co...
beaTunes is a full-featured music player and organizational tool for music collections. How well organized is your music library? Are your artists always spelled the same way? Any R.E.M. vs REM?... Read more
Vienna 3.1.9 :e81515b: - RSS and Atom ne...
Vienna is a freeware and Open-Source RSS/Atom newsreader with article storage and management via a SQLite database, written in Objective-C and Cocoa, for the OS X operating system. It provides... Read more
iExplorer 4.0.12.0 - View and transfer f...
iExplorer is an iPhone browser for Mac lets you view the files on your iOS device. By using a drag and drop interface, you can quickly copy files and folders between your Mac and your iPhone or... Read more
OpenEmu 2.0.5 - Open Source game-emulati...
OpenEmu is about to change the world of video game emulation, one console at a time... For the first time, the 'It just works' philosophy now extends to open source video game emulation on the Mac.... Read more
TextSoap 8.3.3 - Automate tedious text d...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more

Leap to victory in Nexx Studios new plat...
You’re always a hop, skip, and a jump away from a fiery death in Temple Jump, a new platformer-cum-endless runner from Nexx Studio. It’s out now on both iOS and Android if you’re an adventurer seeking treasure in a crumbling, pixel-laden temple. | Read more »
Failbetter Games details changes coming...
Sunless Sea, Failbetter Games' dark and gloomy sea explorer, sets sail for the iPad tomorrow. Ahead of the game's launch, Failbetter took to Twitter to discuss what will be different in the mobile version of the game. Many of the changes make... | Read more »
Splish, splash! The Pokémon GO Water Fes...
Niantic is back with a new festival for dedicated Pokémon GO collectors. The Water Festival officially kicks off today at 1 P.M. PDT and runs through March 29. Magikarp, Squirtle, Totodile, and their assorted evolved forms will be appearing at... | Read more »
Death Road to Canada (Games)
Death Road to Canada 1.0 Device: iOS Universal Category: Games Price: $7.99, Version: 1.0 (iTunes) Description: Get it now at the low launch price! Price will go up a dollar every major update. Update news at the bottom of this... | Read more »
Bean's Quest Beginner's Guide:...
Bean's Quest is a new take on both the classic platformer and the endless runner, and it's free on the App Store for the time being. Instead of running constantly, you can't stop jumping. That adds a surprising new level of challenge to the game... | Read more »
How to rake in the cash in Bit City
Our last Bit City guide covered the basics. Now it's time to get into some of the more advanced techniques. In the later cities, cash flow becomes much more difficult, so you'll want to develop some strategies if you want to complete each level.... | Read more »
PixelTerra (Games)
PixelTerra 1.1.1 Device: iOS Universal Category: Games Price: $.99, Version: 1.1.1 (iTunes) Description: The world of PixelTerra is quite dangerous so you need to build a shelter, find some food supply and get ready to protect... | Read more »
Tokaido™ (Games)
Tokaido™ 1.0 Device: iOS Universal Category: Games Price: $6.99, Version: 1.0 (iTunes) Description: Discover the digital adaptation of Tokaido, the boardgame phenomenon that has already sold more than 250,000 copies worldwide, and... | Read more »
Card Thief (Games)
Card Thief 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Card Thief is a solitaire style stealth game played with a deck of cards. In Card Thief you move through a deck of cards as a... | Read more »
Smilegate’s crafting battler Super Tank...
Super Tank Rumbleputs you in the seat of your very own, handcrafted tank. You can choose from over 100 different parts to create your Super Tank before taking it out to wreak havoc on your opponents in glorious PVP combat. Now, Smilegate is upping... | Read more »

Price Scanner via MacPrices.net

Apple’s iPhone 6s Tops Best-Selling Smartphon...
In terms of shipments, the iPhone 6s from Apple bested all competitors for sales in 2016, according to new analysis from IHS Markit, a world leader in critical information, analytics and solutions.... Read more
Logitech Rugged Combo Protective iPad Case an...
Logitech has announced its Logitech Rugged Combo, Logitech Rugged Case, and Logitech Add-on Keyboard for Rugged Case for Apple’s new, more affordable $329 9.7-inch iPad, a complete solution designed... Read more
T-Mobile To Offer iPhone 7 and iPhone 7 Plus...
T-Mobile has announced it will offer iPhone 7 and iPhone 7 Plus (PRODUCT)RED Special Edition in a vibrant red aluminum finish. The introduction of this special edition iPhone celebrates Apple’s 10... Read more
9-inch 128GB iPad Pros on sale for $50-$70 of...
B&H Photo has 9.7″ 128GB Apple WiFi iPad Pros on sale for up to $70 off MSRP, each including free shipping. B&H charges sales tax in NY only: - 9″ Space Gray 128GB WiFi iPad Pro: $649 $50... Read more
27-inch iMacs on sale for up to $200 off MSRP...
B&H Photo has 27″ Apple iMacs on sale for up to $200 off MSRP, each including free shipping plus NY sales tax only: - 27″ 3.3GHz iMac 5K: $2099 $200 off MSRP - 27″ 3.2GHz/1TB Fusion iMac 5K: $... Read more
Save up to $600 with Apple refurbished Mac Pr...
Apple has Certified Refurbished Mac Pros available for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The following... Read more
Save $230 with Apple Certified Refurbished 13...
Apple is now offering Certified Refurbished 2016 13″ 2.0GHz non-Touch Bar MacBook Pros for $230 off original MSRP. An Apple one-year warranty is included with each model, and shipping is free: - 13″... Read more
Apple price trackers, updated continuously
Scan our Apple Price Trackers for the latest information on sales, bundles, and availability on systems from Apple’s authorized internet/catalog resellers. We update the trackers continuously: - 15″... Read more
13-inch Touch Bar MacBook Pros on sale for up...
B&H Photo has the Apple 13″ Touch Bar MacBook Pros in stock today and on sale for up to $150 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.9GHz/512GB Touch Bar... Read more
Today only! 15-inch 2.7GHz Space Gray Touch B...
B&H Photo has the new 2016 15″ 2.7GHz Space Gray Apple Touch Bar MacBook Pro in stock today and on sale for $300 off MSRP for today only. Shipping is free, and B&H charges NY sales tax only... Read more

Jobs Board

Fulltime aan de slag als shopmanager in een h...
Ben jij helemaal gek van Apple -producten en vind je het helemaal super om fulltime shopmanager te zijn in een jonge en hippe elektronicazaak? Wil jij werken in Read more
Starte Dein Karriere-Abenteuer in den Hauptst...
…mehrsprachigen Teams betreust Du Kunden von bekannten globale Marken wie Apple , Mercedes, Facebook, Expedia, und vielen anderen! Funktion Du wolltest schon Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Fulltime aan de slag als shopmanager in een h...
Ben jij helemaal gek van Apple -producten en vind je het helemaal super om fulltime shopmanager te zijn in een jonge en hippe elektronicazaak? Wil jij werken in Read more
Starte Dein Karriere-Abenteuer in den Hauptst...
…mehrsprachigen Teams betreust Du Kunden von bekannten globale Marken wie Apple , Mercedes, Facebook, Expedia, und vielen anderen! Funktion Du wolltest schon Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.