Archives for Freepascal

MCAmiga 0.2

Posted by ALB42 on 10. Mai 20204 Comments

MCAmiga work continues, move now completely works (also with the fast move when source and destination are on the same harddisk). I build in a little text viewer also with hex display which I use very often, and for editor you can define yourself which editor you want to use, ed, editpad or what else you like. Already works very nicely and I use it frequently now, and hopefully that motivates me to improve it further. 😉

MCAmiga 0.2

There where some little changes needed to make it compile for other Amiga Systems (AROS, MorphOS, AmigaOS4) but not serious changes, but I did not try them, so be careful when using it.

Download: for all Systems: MCAmiga (867K)

  • Amiga 68k: 3.x+, 68020 or AROS m68k
  • AROS: i386 ABIv0, ARM ABIv0, x86_64 Non-SMP
  • MorphOS: 3.x
  • AmigaOS4: 4.x (except X5000)

More playing with video unit

Posted by ALB42 on 8. Mai 20202 Comments

Continuing playing with the video unit, learn how to resize the window, something I did not implement in the vidcrt unit in freepascal. The commander style application already is kind of usable for basic stuff. Copy, Delete, Rename, basic movement, selecting such stuff (move is not implemented until now and a lot of error checking is missing, especially overwriting :-P)

I took a lot of work to get the resize stuff working, especially if an additional window like the help is open at this moment, but finally that is working well.

If you want to play with it (68konly atm) you can download the exe of MCAmiga, but be warned it’s just a playground for me, so bugs may occur a lot, and do some harm to your files.

Playing around with FreePascals Video unit

Posted by ALB42 on 2. Mai 2020No Comments

Playing around with the video unit, really easy to write a norton/midnight commander style application with it. Not really seriously plan to make such app, but to be fair, Amiga is lacking a good norton/midnight commander style app which is fully controllable via keyboard (typical amiga application are more mouse centered, like dopus 4/5, filemaster and so on)

Source under CC0: https://github.com/alb42/MCAmiga

Amiga 1.x Online Compiler

Posted by ALB42 on 10. April 2020No Comments

Charlie implemented a Amiga 1.x compatible version of the FreePascal compiler. It’s a little bit harder to write program for 1.x so many features are missing in Workbench 1.x. These machines are usually 7 Mhz and only very little RAM, so cross compiling is highly advised. Of course the Online compiler would be a good starting point for basic tests.

And that is exactly what I did, I created a separate Online Compiler for the Amiga 1.x Version, why separate, because most of the sources of the original Online Amiga FreePascal Compiler will not work with 1.x. I included a creation of a bootable ADF file directly from the executable created so you can directly try your work inside a UAE instance for example in the very nice Scripted Amiga Emulator.

See for yourself:

So if you are locked inside your home because of corona, why not do something new and start to learn to code FreePascal for Amiga. Have fun.

Online Compiler for all Amiga OS3.x, OS4, MorphOS, AROS: Link

Online Compiler for Amiga OS 1.x: Linḱ

Where is the Lion

Posted by ALB42 on 8. Februar 2020One Comment

Implemented basic sorting and search function including replace, very basic but working, also the sorting close to the LibreOffice sorting, multi key sorting (up to 3 but in principle could make more, but is more than 3 really useful?) Together with the Format options this should be enough for a new LEU Version release Leu 0.08.

Download: LEU Download Page

Leu 0.08 with sort and search requester

Formatted Leu

Posted by ALB42 on 31. Januar 2020No Comments

Fixed a little bug in Leu regarding number format. If no number format was selected the output format was one char too long, resulting in very ugly rounding errors. Already long time before I started to implement a solution to set the number format for a cell. But it was very crude and not ready to release, so I deactivated it for Leu 0.07. But this bug got me back to work. 😉 I started to implement a format settings window, a little bit inspired by the LibreOffice one. Finally its working, not perfect but already usable.

Also fixed some small problems with the color blending on selection for RTG systems (for <15bit screens it will just use a fixed color for the selection) and new now the fixed col/row will show where the selected cell is. much easier to find, especially if it is out of scroll area.

CRT Online

Posted by ALB42 on 8. Januar 2020No Comments

Updated Online Amiga FPC Compiler again with the latest CRT unit and also tried a bunch of console based games using CRT units, all work more or less (some need some adjustments in the code) some of them are even single file pascal source files, so can be used in the online compiler.

SourceNotice
DeadColdrouge-like unfinished game (no win)
Gruesomenice rouge like game
tetris-pascalinsert a TextBackground(DarkGray); at start
Top-snek-dotpas tetrisinsert a TextBackground(Black); CursorOff(); at start
BitTetris No exit from game
Snake Game in TPcomment the two port[] lines at start
Snake
Pascal Snake
Serpent Snake
Tic-Tac-Toe
Pascal Threes
Pascal Torchnice tech demo, replace line 257: i := xxx error with Break; or compile with fpc -Mtp
Pascal PETTamagothi
Symbol Game strange gfx, replace chars #xxx Values with some better chars
Gomoku5 in a row
Word guessing gameadjust pathes ‘\’ to ‘/’ wordlist only contains apple
Countdown game
My almost FPStech demo figure movement
Snail race insert a TextBackground(DarkGray); ClrScr; at start
Tank Game
Memory Game

DeadCold on a native A1200

Posted by ALB42 on 3. Januar 2020No Comments

I also tried DeadCold (and with it the new CRT implementation) on my Amiga 1200 (68030/50Mhz, no GFX card) but the colors did not show up. everything stayed black. But the ConUnit is there and the Pen allocation worked, so what went wrong. I looked again through the documentation and found a little hint. For speed reasons, CON: tries to use as little as possible bitplanes for the output to speed up any scrolls. That was a new information for me. That also means this colorful prompts slowed down the console speed. But when I just write the pens to the ConUnit structure, how he can know that he needs more bitplanes seems it does not detect that automatically. But there is a field in ConUnit named cu_mask, it is not described in the includes but it seems to be exactly controlling that, if I change that, it started to show more colors. And the result is that now the DeadCold also works on a native Amiga 1200, not actually very fast, but it’s ok.