Archives for Release

Track Tracker

Posted by ALB42 on 25. August 2014No Comments

My new tracker connection via UDP and HTTP works very nicely. So now all network actions are non blocking. I’m rather satisfied with the whole thing.. it does work without additional Threads. So all the GUI, Network, statistics, sha1 calculation and File writing in a single Thread (the main thread) and it still can reach 3 MB/s and more. Not bad I would say.

Besides this I played little bit the FPGUI Styles and created a very simple (from the Demo style) to make the buttons and so on a little bit modern ๐Ÿ˜‰ looks much better I would say.

So today I made a new Release of ArTorr Version 0.02 new features in short:

  • UDP Tracker
  • HTTP tracker error handling (working redirect, thanks magorium for this file/report)
  • Tracker communication non blocking ๐Ÿ™‚
  • a little bit nicer interface, but still the same debugging GUI ๐Ÿ˜‰

Download:
ArTorr 0.02

Syscalls and UDP

Posted by ALB42 on 21. August 2014No Comments

The two words in the headline seems to have no connection… hmm yes its right, I’m just to lazy to write two seperate messages ๐Ÿ˜›

So the first: Syscall… or better SYSCALL ๐Ÿ˜‰

I backported the SYSCALLs for AROS from the freepascal trunk to my branch. Karoly was so kind to implement (see here) but the rtl there is far from usable. And with the backported we can already begin to transfer the systemlibraries to the new schema, then later not so much work ๐Ÿ˜›
The porting was more difficult as i guessed, the changes in the code are not so many as you see in the commit, BUT some of this codeparts even does not exists in my branch… introduced in between. Seems also in this part much things happend. But after try to understand the code and compare with PowerPC-MorphOS I found the way to do it.
I tested it with some simple functions from exec.library and it works nicely.
for example:


function RawDoFmtLocal(const formatString: PChar;
  const dataStream: Pointer; PutChProc: Pointer;
  PutChData: Pointer): Pointer; syscall AOS_ExecBase 87;

I backed a release out of it, just to have it released, my primary target stays the torrent client.

The second point… UDP

I released the ArTorr yesterday and already some bug reports arrived at my desk. On of them was rather simple to understand … in the torrent file was no HTTP tracker, only UDP trackers. I didn’t know such things exist, my files always had at least one HTTP tracker included. The problem is, I have no idea how UDP or the Bittorrent Tracker UDP work. Very helpful is the official text: UDP Tracker Protocol for BitTorrent. But stays the problem how to do a UDP connection. I searched a lot for example codes but the most working with synapse or lNet, both I have not available. But i found this page: Programming with UDP sockets which explains, in C, how UDP connections are working. Its rather easy I would say, even simpler than a TCP connection, and much better for non blocking calls.
So I tried to implement the protocol, its rather straight forward. so tomorrow I will see how it will fit into ArTorr, if this is working I will see how to write myself the HTTP Protocol for the tracker and then make the whole thing non-blocking. ๐Ÿ˜‰ Seems thats my major topic… make things non blocking.

Mouse Move Release

Posted by ALB42 on 9. August 2014No Comments

I worked a little bit more on this mouse movement problem and I think now I got it and voila also the displacement bug of Menu disappeared. so now menu and combobox looks ok to me.
The maximus editor didn’t start at my machine anymore.. a little threading bug was the reason.. I didn’t know they use threading… in a EDITOR! how useless.. seems its meant to check for filesystem changes. But… to be honest.. a Timer would do it in this case.
I wanted to try maximus because I remember there was a strange font bug inside: The position of cursor does not fit to the char position. I tried a little bit, but in the end I have to say.. the maximus ist just poorly written. It just takes a width of a char to calculate the cursor position. By default a fixed width font is set, of course with fixes font it works. But this font seems not available by default in AROS so it uses the default font which is NOT fixed width. If no ini file is there for maximus it uses „#Edit2“ as the default font which is „Courier New“.. I changed the default to „ttcourier“ which is available by default in AROS. The #Edit1 I changed to „fixed“ which looks nicer for me. but also other fonts like sans mono or so work nicely.

Bildschirmfoto vom 2014-08-09 13:56:12

The uidesigner is working.. but the movement of items is hard.. because it always jumps around. I noticed a hack in the GDI (Windows) implementation of FPGUI which captures the mouse when the editor is there. I also implemented this behaviour and now it moves smoothly.. In fact I did implement before already.. but the initial call to activate this function was missing.
As last I tried every single example in fpgui (/example/gui) and the most of them work really nice now. There I found a strange bug for TimerTest or animation examples.. seems the timer fire very seldom.
Initially I thought the reason is that there comes so seldom messages from aros.. but then I measured the time between messages and it is really short.. 0 to 20 ms, so no or one task switch. so thats not the reason it fires so seldom. In the timertest there is a Timer should fire every 50 ms but it looks more like 500ms-1s. Finally I found the reason, the time when the Timer should fire is determined by a Now() call. My Millisecond count in the result was just wrong, alawys an order to small. Type mismatch in the converter routine.
So now the animtest also works rather fast.. hmm I always thought my image drawing routine is so slow that I should improve it, seems it is not THAT slow ๐Ÿ˜‰ OK in the colorwheel example you can see that it is VERY slow ;).

I think this changing are very important, it really improves the fpgui functionality a lot. So I created a release today for public again.

Available at the FPC DownloadPage

Fresh on Sock(et)s

Posted by ALB42 on 12. Juli 2014No Comments

New Version of Freepascal is available:

– Sockets, fcl-net (SSockets, resolve unit)
– IncludeTrailingPathDelimiter repaired to NOT c: -> C:\ (fpgui requester works better now)
– AllFilesmask changed to ‚#?‘ (its the normal Amiga-style mask) but PathConv/FindFirst support ‚*‘ and ‚#?‘ also.

if you want to try out sockets.. look into packages/fcl-base/examples/isocksrv.pp and isockcli.pp

maybe I will copy them to examples next time.

Intuition finished!

Posted by ALB42 on 20. November 2013No Comments

After very long time finally finished the Intuition unit including all macros, varargs Versions and documentation, this was really hard work, and I was very busy the last month.
So today there is a release of the newest FPC for AROS with completed Intuition.
As next I will clean the code a little bit and try to update the official SVN.

A source snapshot is included this time. Finished Intuition is a good state I think to make a source release.

Besides this I released the raw XMLs needed to created the HTML/CHM developer documentation for the included aros specific Units.

Releases can be found at FPC AROS Page.

New Release (rewritten basic units Part 1)

Posted by ALB42 on 16. September 2013No Comments

After a half month of hard work of rewrite the basic units of AROS and make the documentation, I think its time for a new Release to let the people play with it (and find errors, maybe)

So whats new:
Complete rewrite: Exec, AmigaDos, Workbench, Icon, AGraphics
Many new types and constants added. Addtional procedures/functions for variable number of tags as arguments (like known from C). One function in AGraphics is renamed from „GText“ to „GFXText“ comparable to the „DOSFlush“ in AmigaDOS Unit or „ExecInsert“ in Exec.
There are some function which are deprecated or not implemented atm, or only work on real Amigas i try to flag this functions with the right function flags (‚deprecated‘ e.g. „BltClear“, ‚platform‘ e.g. „SetChipRev“, ‚unimplemented‘ e.g. „WaitBlit“) do they should give a warning if a user use them in own code.

Documentation: Exec, AmigaDos, Icon, AGraphics
as HTML here on the Webpage or as CHM as part of the archive file pp/fp/docs/arosunits.chm. For view this files you can use the fp editor, Help->Files but it does not work very well. better is the HH.exe in Windows or the kchmviewer for linux both searchable with index and so on.

like always the download available on the FPC Page

BugFix Release

Posted by ALB42 on 2. September 2013No Comments

Again a release, not much changed.
Only a small bug in FP-IDE: Copy to/from AROS only copied 256 Chars. Now it should work also with longer texts. I also will from now on always post the MD5 of the archive file.
I didn’t find a md5 tool for Aros so I wrote one (GenerateMD5) and also set it for download.
it does not compare, just give out the Hash, so you have to compare by eye. Later I will a better one which also can compare from a *.md5 file.

New Release!

Posted by ALB42 on 1. September 2013No Comments

A new Release of Freepascal for AROS is out today:
News:

  • Added function ‚GetToolTypes(Filename)‘ to „Icon“-Unit. To get fast the Tooltype entries from the icon
    of a file. Filename (without .info) must be supplied, Result is an array of string (TToolTypeArray)
  • Complete rework Exec, AmigaDos(not completely finished), Icon, Workbench
  • corrected Date in SearchRecord (FindFirst/FindNext) for example FP-IDE Dialog
  • DebugLn/Debug calls to get DebugOutput to AROS Debug Output (for example Sashimi or with hosted AROS the console it was started from)

Like always the download is available at FPC Page

New Release (mainly bugfixes)

Posted by ALB42 on 16. August 2013No Comments

After a long time again a little bugfix release of fpc, and first release of clipboard support for aros (there is an example script in the src directory of fp)
The news:

  • lower case filenames for FP-ide
  • better handling of parameter with quotes and empty parameter
  • NewObjectA in intuition with right calling
  • fixed wrong pathes when started from WB and file is in root
  • Bugfixes for Copyfile-routine in fileutil (lcl) and some other fileutil routines
  • Copy to AROS Clipboard, paste from AROS Clipboard added to FP IDE
  • GetTextFromClip and PutTextToClip functions added (as easy function to use clipboard in aros)
  • Iffparse unit added

Download like always on the fpc aros page

New Release

Posted by ALB42 on 21. Januar 2013No Comments

Today I bring all together and release. A not complete lists of changes/bugfixes for this realease:

* some basic units moved from arosunits to rtl, also helpful if later joined with amiga and morphos
– amigados, agraphics, exec, inputevent, intuition, layers,
– longarray, pastoc, tagsarray, timer, utility
– IMPORTANT: DELETE UNITS BEFORE INSTALL NEW VERSION TO GET RID OF UNITS IN OLD DIRECTORY
* changed all library calls to cdecl
* Startup and finishing code improved
* FileGetDate/FileSetDate implemented
* GetEnvironmentVariableCount/GetEnvironmentString implemented (example code by magorium)
* Video unit with fullscreen support (color tag = False)
* Keyboard unit rewritten, better identification of keys for fp ide, mousewheel as pgup/pgdwn
* free vision GetDosTicks implemented (needed for double click)
* layers aros unit (thanks to anon and magorium)
* FPGUI:
– MOUSEENTER/MOUSELEAVE implemented
– MOUSEMOVE with mouse grabbing
– KEYRELEASE implemented
– Input focus implemented
– Modal windows, blocking of other windows
– save closing of window (removing of messages from message port)
– combobox closing when a entry is selected repaired (hopefully)

check out https://blog.alb42.de/fpc-aros/ for the last Version