Archives for Amiga

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

CRT with correct colors

Posted by ALB42 on 3. Januar 2020No Comments

Working on the CRT colors. The problem is that the setting of Front and Background color in Amiga Console is very limited. You can only set the colors 0-7 of the Workbench palette as colors using the ANSI api. which are usually not very useful. Even on RTG that is very limiting. I found that you can set the color directly via the ConUnit, which is available for the standard console window (but not with ViNCed for example). But on AROS it works nicely and on plain shell in OS3.1 also, so at least there is a way to use it.

On MorphOS the ConUnit is never available, but thanks to some hints in the morph.zone forum I learned that one can use one of the 256 ANSI colors directly in the console. so I searched for closest possible colors of the standard VGA colors, sadly that only works on MorphOS.

Next days I will also try OS4… I hope that results not in an other case.

Status CRT unit (feat. DeadCold)

Posted by ALB42 on 1. Januar 2020One Comment

Someone might ask how the crt is going, and how useful this is already. I want to answer it with a little screenshot:

DeadCold on AROS

That is a nice little rouge-like game called DeadCold, written in FreePascal for the console. As you can see it runs and the picture looks right. (it’s not perfectly right, but somehow usable). And because a little video tells much more about how this game runs here is also a little video about it:

There are some drawing problems, especially on the messages and sometimes some of the map disappear but not bad I would say. There are also some messages about removing critter failed… but that seems some error in the game code.

The colors is badly hacked for now, and only works for AROS, I’m not sure if I can upload that this status to the official repository, I will work on it a bit more.

CRT Unit

Posted by ALB42 on 29. Dezember 2019No Comments

Most Tutorials about Pascal use the CRT unit in a very early Lesson. They use it only for ReadKey() to wait for a key at end of Program. It would be of course the same to just use a ReadLn and wait for an Enter.

I tried already to implement CRT before using an old implementation, but exactly this ReadKey implementation does not work at all when KingCON or other console replacements is used.

Now I got a hint in MorphOS Forum (always a very good Source for Implementation hints) to set the console in RAW: mode (using SetMode()) and then just read from the console the pressed keys. If console in raw mode, one can read cursor keys and F keys from the console.

I tried that and on MorphOS and AmigaOS3 it works well, Read blocks until a Button is pressed. But AROS of course is different again 😉 it always returns a Value sometimes 185, sometimes 184, not really know what that means. I thought about some kind of timer event but this should look different.

But finally it works, mapped some keys like F-keys and cursor. Also worked on the output gotoxy and colors, the colors are a little bit tricky, because the Amiga console only supports the first 8 pens (as far as I see it) so I cannot just ObtainBestPen, and the first 8 Pens are usually fixed and not the colors I need. I try to change them with ObtainPen but when they are already taken I just try to find one which has a close color, which does not work very well. Solution unknown.

I compile the example of ReadKey as example3.pas and compiled a little RPG-Game I found which is console based, which is a good testcase for colors and GotoXY. Of course looks not the same as in the DOS console but it is usable.

Not Release

Posted by ALB42 on 18. Dezember 2019No Comments

I guess there was some confusion about the installers I presented the last days… these are not official Releases of FreePascal 3.2. In fact FreePascal 3.2 is not released yet and also no fixed date for it yet.

My work on the installers just show my work preparing the next release that we have a real Amiga style installers with all needed Readme and copyright text that they can serve as official packages and even published on the official FreePascal site.

You can download these packages and test the installer, and that was the purpose of showing them, but please do not distribute them as FreePascal 3.2 releases. (I added also a beta marker at the page and in the ReadMe to make it clear) And do not post news messages about FreePascal 3.2 Release until there is an official announcement.

Thanks!

Installer Amiga 68k

Posted by ALB42 on 15. Dezember 20192 Comments

As mentioned yesterday the 68k Amiga Installer needed a little bit more work, but now it is working nicely the same way as the other two.

In the video the customized Option selection is shown.

Next I will test the MorphOS installer again and try to make an own Installer for AROS. Thats a little bit tricky because of the Package system they use, which is nice but no support for it in the Installer as far as I can see. Path and assigns are not added to user-startup but should be made via a Package-Startup file, in the folder and a text file in the Envarc: pointing to this Package-Startup File. I did this already for the AROS install process but not with the Install tool.

Installer OS4

Posted by ALB42 on 14. Dezember 20194 Comments

The release of FreePascal 3.2 gets closer (at least I hope) and with it the first full Release of FPC with complete Support of all Amiga Systems. I created already an Amiga-Style Installer for Amiga OS3 and MorphOS.

Today I added a Installer for Amiga OS 4 which should work on all Amiga OS 4 systems (except the X5000, yes that problem still exists because we have no way to debug it, without such a system available)

I made a little video about the general installation of FreePascal on Amiga OS 4.1 Final Edition Update 1. It needs a reboot at the end, maybe one could add that to the Installer, but I don’t like that when Installers force reboots.

If you want to try out check the url in the Video: http://build.alb42.de