Comet 32 Is this the Future of Comet

  • Slides: 17
Download presentation
Comet 32 Is this the Future of Comet?

Comet 32 Is this the Future of Comet?

Then • File System • Text based CRT • Closed System And Now •

Then • File System • Text based CRT • Closed System And Now • CFAM • Windows Program • Works as part of large collection of Windows Software What Is Missing?

We Have been re-writing Comet For the last Nine Years. We have re-written the

We Have been re-writing Comet For the last Nine Years. We have re-written the File System, Drivers, Utilities, and User interface. Now it is time to expand the IB/MTB Language itself.

What is Missing in the MTB Language? • • • Larger Programs Longer Strings

What is Missing in the MTB Language? • • • Larger Programs Longer Strings Longer Numbers User Defined Procedures & Functions Support for 64 bit Windows ? Discussion?

Can’t we just add these to the Curent Comet? • The Current System is

Can’t we just add these to the Curent Comet? • The Current System is too *“Crufty”. • The Compiler is too difficult to work on. • The Base is still 16 bit * In computer programming, code is cruft if it is duplicating code elsewhere in the system, is unnecessarily complicated, is a poor solution to the problem it solves, is left over from a previous change, etc. -- Wikipedia

Goals for New Runtime & Compiler • Intermix current programs with new programs –

Goals for New Runtime & Compiler • Intermix current programs with new programs – Pass common – Pass DABs – Pass open files • New runtime 32 bit not 16 bit – This means Windows 32 only (no win 98) • Unlimited Program size (4. 2 GB)

Long Strings • Declared String length up to 64 K in size • Dynamic

Long Strings • Declared String length up to 64 K in size • Dynamic Strings – Length DYNAMIC & local a$ – Length Unlimited (up to 4. 2 GB ) – Watch out – you could overflow memory Read a whole file into a string, manipulate its contents and write it out again.

Large Numbers • Numeric variables – Declare up to 32 digits – Precision up

Large Numbers • Numeric variables – Declare up to 32 digits – Precision up to 32. 32 • Built on large numeric processor – Can deal with numbers as great as 256 digits – Function Results are 64. 32

Large Arrays • Any Array can be up to 4. 2 GB in size

Large Arrays • Any Array can be up to 4. 2 GB in size – Watch out

Numeric Functions • Many more math functions – Sin() – COS() – Tan() –

Numeric Functions • Many more math functions – Sin() – COS() – Tan() – Atan() – Log 10() – Cbrt() • More …

Functions and Procs • • User declared Local labels Local variables Arguments Passed by

Functions and Procs • • User declared Local labels Local variables Arguments Passed by value or by reference • Dynamic Creation of local Storage • Recursive Functions ARE Accommodated

Operating System • No fixed partitions • Each program lives in its own windows

Operating System • No fixed partitions • Each program lives in its own windows space

What you Won’t get • Image files • Qantel Emulation – Emulated code runs

What you Won’t get • Image files • Qantel Emulation – Emulated code runs in 16 bit Comet Only • Background (Activate/Terminate) These are available in Comet 16 only.

There is much left to do • • • XAP Winsock Gateway Sort Interrupt

There is much left to do • • • XAP Winsock Gateway Sort Interrupt Escapesub / Errorsub / Excpsub

What Must be changed? • Comet 32 runtime is implemented as a DLL COSW

What Must be changed? • Comet 32 runtime is implemented as a DLL COSW is its host. This should change so that Comet. Anywhere can work. • More/closer integration is needed to make Comet 32 and Comet 16 programs interact.

Should we continue this Development? • Our Top Priority is to help our Developers

Should we continue this Development? • Our Top Priority is to help our Developers and Subscribers • What should really happen is to write all of Comet 16 into 32 bit assembly language or C++. – Large task – Jim must do this (Cringe!) • Research/Analysis done. • Lazyness

Discussion • How important is this? • 64 Bit computers/Operating Systems • Hey! What

Discussion • How important is this? • 64 Bit computers/Operating Systems • Hey! What about – Apple? – Linux? – PDAs