The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘Pascal’ Category

Playing around with semantic typing in Oxygene: https://github.com/carlokok/…

Posted by jpluimers on 2019/12/05

Interesting: [WayBack] Playing around with semantic typing in Oxygene: https://github.com/carlokok/semantictyping adding operators and methods to type aliases to store distin… – Carlo Kok – Google+

Playing around with semantic typing in Oxygene: https://github.com/carlokok/semantictyping adding operators and methods to type aliases to store distinct types like distance, speed, acceleration while storing them as floats.

Check the repository linked; It essentially has types like Kelvin, Celsius ( https://github.com/carlokok/semantictyping/blob/master/SemanticTyping/Temperature.pas ), and Speed, Velocity, Acceleration ( https://github.com/carlokok/semantictyping/blob/master/SemanticTyping/Physics.pas ) using standard Oxygene features.

–jeroen

Posted in .NET, Development, Oxygene, Pascal, Software Development | Leave a Comment »

IBM 1980 Pascal manuals

Posted by jpluimers on 2019/10/15

Just found back an old note with Pascal manuals for the IBM 370 machines: the Reference Manual and Programmers Guide.

–jeroen

Posted in Development, Pascal, Software Development | Leave a Comment »

Turbo Pascal 7 compatible compiler for 8051 microcontrollers…

Posted by jpluimers on 2019/08/21

I had seen this before, but was glad about the reminder to put it in my blog: [WayBack] OMG, there is Turbo Pascal 7 compatible compiler for 8051 microcontrollers! http://turbo51.com – Primož Gabrijelčič – Google+:

[WayBack] turbo51.com: Full-featured free Pascal compiler for 8051 microcontrollers, Borland Turbo Pascal 7 syntax, multi-pass optimizer, generates bin, hex, OMF-51 and asm source.

Program Turbo51;
 
Uses FastCompiler, AdvancedOptimizations, SmartLinker, AseemblerFileGenerator;
 
//  Turbo51 is released as freeware. You can download it and use it for FREE.
//  However, if you like Turbo51 you can donate some small amount via PayPal.
//  Donations are a great way to show your appreciation for my software.
 
begin
  InstallAndConfigure;
  Repeat
    CreateProject;
    CompileProject;
    TestProject;
    While ThereIsAProblem do
    begin
      CheckCode;
      CheckDocumentation;
      TryAgain;
      Case ProblemSolved of
        True: Break;
        else  AskForHelp;
      end;
    end;
    If InstalledVersion < '0.1.3.17' then Update;
    If Satisfied then Donate ($20);
  until NoMoreProjects;
end.
a

–jeroen

Posted in Development, History, Pascal, Software Development, Turbo Pascal | Leave a Comment »

It’s a blong, blong, blong road…: ‘What if?’ scenario analysis in the CPU window

Posted by jpluimers on 2019/07/31

Patching code at debug-time: [WayBackIt’s a blong, blong, blong road…: ‘What if?’ scenario analysis in the CPU window.

Remember:

  • There are dragons
  • Patching too many bytes will kill a kitten and likely your application.
  • Bytes in memory might not be what they seem, especially when having breakpoints (and the debugger frantically trying to set/remove $CC bytes for the INT 3 instruction)

I’ve done this for 20+ years and usually use the $90 byte (NOP instruction) though your experience may be different.

–jeroen

 

Posted in Debugging, Delphi, Development, Pascal, Software Development, Turbo Pascal | Leave a Comment »

Delphi function result assignments before the function returns…

Posted by jpluimers on 2019/05/01

Eric Grange:

Actually it is not that assignments of function return values can happen “when the function raises an exception” but rather than they can happen before the function returns.

Note that this is not limited to large return types, it can also happen on reference counted types (string, dynamic array, variant and interface), though this is contextual as well…

Got bit by the interface thing a few months ago, an interface release was triggering an exception when the result was assigned, the call stack looked way out of synch with the code, so various compilation and and map file mismatch issues got investigated, before I dropped in asm view in the debugger, which made it all obvious.

I’ve quoted it in full as I’ve been bitten by this a few times as well, but never got to making a proper blog post on it.

Thanks Eric for phrasing this and David for bringing it up.

It actually has been the case since somewhere toward the end of the Turbo Pascal era.

Source: [WayBackThis program: {$APPTYPE CONSOLE} uses System.SysUtils; type TRec1 = r…

–jeroen

Posted in Delphi, Development, History, Pascal, Software Development, Turbo Pascal | Leave a Comment »

Blast from the past: “Advanced Pascal Programming Techniques” – Google Search

Posted by jpluimers on 2019/04/05

Back in my school days, this was the best Pascal book you could get: “Advanced Pascal Programming Techniques” – Google Search.

This is Apple Pasca, USD Pascal, first Turbo Pascal era.

Sadly, getting English books in The Netherlands was hard. So I had to do with books from Academic Press which not as good.

Via:

–jeroen

Posted in Apple Pascal, Borland Pascal, Development, History, Pascal, Software Development, Turbo Pascal, UCSD Pascal | 1 Comment »

To celebrate his 85th birthday, some links to interviews with Niklaus Wirth interviews

Posted by jpluimers on 2019/02/15

Today, Niklaus Wirth, “father” of The Pascal Programming Language turned 85.

Happy birthday!

Almost 50 years ago, Niklaus Wirth submitted his famous paper “The Programming Language Pascal” which was published early 1971

Luckily it is archived on both the WayBack machine and Archive.is as the only PDF copy I could find on-line isn’t always on-line: http://oberoncore.ru/_media/library/wirth_the_programming_language_pascal.pdf

Originally it was published by Niklaus Wirth  in Acta Informatica, Vol. 1, Fasc. 1, 1971 pp. 35-63

He has been very active, just browse through the [WayBack] List of computer science publications by Niklaus Wirth

To celebrate his birthday, here are some interviews with him:

If you like the ones above as much as I do, then search for more: there are plenty!

–jeroen

via: Happy 80th birthday Niklaus Wirth! « The Wiert Corner – irregular stream of stuff

Read the rest of this entry »

Posted in Delphi, Development, History, Pascal, Software Development | Leave a Comment »

Modern Object Pascal Introduction for Programmers

Posted by jpluimers on 2018/09/25

[WayBackModern Object Pascal Introduction for Programmers

via:

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Object Pascal, Pascal, Software Development | 4 Comments »

The Delphi VCL comes to Oxygene

Posted by jpluimers on 2018/09/03

Interesting approach, which makes one more “cross platform VCL” from outside the Embarcadero pipeline [WayBack] The Delphi VCL comes to Oxygene:

Developers switching from Delphi to Oxygene are loving our “Delphi RTL” compatibility library, as it helps them move their code over to new platforms without having to embrace all the new APIs at once. With the new Elements 10 builds we shipped in the past couple of weeks,

CrossVCL (by KSDev, the former FMX architects) already brings VCL to Linux through the Embarcadero compilers; VCL for Oxygene brings it – through the Oxygene compilers – to WebAssembly first and later to Cocoa and WPF.

I wonder how Windows VCL compatible both approaches are.

Via [WayBackhttps://blogs.remobjects.com/2018/08/30/the-delphi-vcl-comes-to-oxygene/ – Ondrej Kelle – Google+

–jeroen

Posted in Delphi, Development, Oxygene, Pascal, Software Development | 2 Comments »

History: Pascal compiler for 68000 firmware development

Posted by jpluimers on 2018/04/03

From the 1980s: GCS Pascal compiler for 68000 firmware development [WayBack] http://www.wirfs-brock.com/allen/files/tek/gcsPascal.pdf article by Allen Wirfs-Brock and Paul L. McCuiiough both working for Tektronix back then (note the company still exists after all these years).

via: [WayBack] A PASCAL COMPILER FOR MOTOROLA 68000 FIRMWARE DEVELOPMENT – Pascal is a computer programming language known for itsunique combination of simplicity, pow… – Kyle Miller – Google+

–jeroen

Posted in 68k, Development, History, Pascal, Software Development | Leave a Comment »