English Amiga Board Amiga Lore


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 16 April 2013, 13:52   #1
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Arrow Arcade Game Selector 2

Hello folks.

I noticed a few weeks ago that my old AGS project was still very much alive and has seen a number of forks and fixes, most recently from tomcat666. I started looking at the source again, saw that it was old and messy, and decided to rewrite the whole thing from scratch. It took a little while to get the development environment set up with FS-UAE (I don't have any properly working Amigas these days :/ ), and I seem to have forgotten most of what I ever knew about Amiga coding in general and AmigaE coding in particular. It was fun getting back into it though, and I've managed to get it to a state where I'd like some input from the fine people here at EAB.

First off, the project is hosted on GitHub, so you can check out the source code there: https://github.com/MagerValp/ArcadeGameSelector

The main changes since version 1 are:
  • AGA and OCS support.
  • Subdirectory support, up to two levels deep.
  • Configurable screen layout.
  • Better control over colors.
  • Screenshots are loaded in a background task, keeping the interface responsive.
  • Games end in .run so names can be 2 characters longer.
For testing I have a fresh snapshot compiled today that shows you the state of things: https://www.dropbox.com/s/sa6e8deyw8...2-20161130.lha

I'd like to warn you that it's a debug build that prints out statistics and opens console windows, so it isn't ready for active use. (FIXED) I'd love to get some feedback though, especially on its performance since I don't have any real hardware to test on (Anyone have a cheap A600HD for sale?). A few notes on the code:
  • Text rendering is still done with SetDrMode()/Move()/Text(), which is painfully slow. (FIXED) I'm going to replace this with rendered 1-bpp bitmaps which should speed up scrolling significantly on slower machines.
  • The ILBM loader is written in pure AmigaE since I don't know 68k assembler. It's also unpacking and blitting one line at a time instead of decoding the whole image to keep memory requirements down. I'm going to study a bit and see if I can come up with a faster method but any pointers here are most welcome.
  • Info text isn't implemented. (DONE)
  • It's currently configured for 640x256x16. You'll have to draw a 640x256x256 background to test it in AGA mode.(FIXED)
Now to the point where I'm hoping I can get some help:

» Is the AmigaDOS 3.x manual available somewhere? I need a good command reference and a guide to writing scripts. In particular I need to figure out why Lap/Skip doesn't work.

» As you can tell if you've run the program I'm not a graphics artist. I'm hoping that someone here would be willing to develop a 4-color theme for OCS and a 16 or 32-color theme for AGA. Any takers?

» Does anyone have a good WHDLoad archive, preferably sorted in categories and with screenshots still in full 8 or 24-bit color? AGS2 comes with an image converter (imgtoiff.py) and I need to find the best way to run it. NB: I don't need the actual games, just the .start/.png/.txt files.

» Are there any decent development tools for tracking down memory leaks, buffer overruns, double frees, etc? I've tried running with Enforcer and MungWall, but since AmigaE frees all resources at exit I don't get any hits when the code is actually executing. I also don't know how to translate the memory addresses that they report into AmigaE function and variable names. It doesn't help me one bit to know that I overwrote a buffer by one byte at $078c9482 after the program quit...

And of course if anyone has any questions or requests, please just ask.

Last edited by MagerValp; 30 November 2016 at 22:01. Reason: Updated with new snapshot
MagerValp is offline  
AdSense AdSense  
Old 16 April 2013, 15:02   #2
Whitesnake
Martin Shaw

Whitesnake's Avatar
 
Join Date: Nov 2005
Location: United Kingdom
Posts: 390
Hi MagerValp.

I've been a long time user of AGS, I never expected the original author to pick it up again.

Improvements I'd say

Lower memory usage overall.

Support for auto switching image, Switch between boxart/screenshot.

Different image file type support something that can create smaller sized (kb) images than .IFF Although I'm guess supporting JPG and PNG would end up in more wasted memory?

Ability to scroll down past the list limit without it breaking up the listing selection, I think someone may have fixed that in another release.

.mod and .sid support.

Although if adding support for other formats requires more .library usage then I wouldn't bother myself. I noticed that AGS still requires iffparse.library it would be nice if it could run without any library dependencies.

Anyway good to see you are working on it again.

Here is a video of old AGS in action
[ Show youtube player ]
Whitesnake is offline  
Old 16 April 2013, 18:03   #3
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Quote:
Originally Posted by Whitesnake View Post
Hi MagerValp.

I've been a long time user of AGS, I never expected the original author to pick it up again. :)
Neither did I!

Quote:
Improvements I'd say
Lower memory usage overall.
In what way? Since AGS quits when you run a game it shouldn't use any memory except a few kB for RAM:AGS.run. Are there any games that don't work due to a lack of ram?

Quote:
Support for auto switching image, Switch between boxart/screenshot.
That would be nice. Maybe Game.iff support for two screenshots, and Game.box?

Quote:
Different image file type support something that can create smaller sized (kb) images than .IFF Although I'm guess supporting JPG and PNG would end up in more wasted memory?
Yes, and significantly slower than loading IFF. I could possibly add support for a custom format, such as PowerPacked ACBM files which would load fast and be pretty small (e.g. PNG: 15 kB, ACBM+PP: 19 kB, ILBM: 28 kB, uncompressed: 41 kB). Would people be willing to convert all their images to a custom format though for a 35% gain in file size?

Quote:
Ability to scroll down past the list limit without it breaking up the listing selection, I think someone may have fixed that in another release.
This should be fixed - please test and let me know if it works.

Quote:
.mod and .sid support.
SID is probably out of the question but MOD playing would be easy to add with AmigaE's tools/pt module. This would increase the memory footprint significantly though.

Quote:
Although if adding support for other formats requires more .library usage then I wouldn't bother myself. I noticed that AGS still requires iffparse.library it would be nice if it could run without any library dependencies.
I could parse IFFs manually, but iffparse.library makes the program more robust. It'd suck if AGS crashed due to a corrupt screenshot.

Quote:
Here is a video of old AGS in action
[ Show youtube player ]
That's a nice setup! Any chance you could share the screenshots and start files?

Last edited by MagerValp; 16 April 2013 at 18:15. Reason: Grammar
MagerValp is offline  
Old 16 April 2013, 18:10   #4
Turran
Registered User

Turran's Avatar
 
Join Date: May 2012
Location: Stockholm / Sweden
Age: 43
Posts: 804
No images and only sorted into A-Z folders (AGA and non AGA seperated), this is a good start for a few thousand games and demos though.

http://eab.abime.net/showthread.php?t=68704
Turran is offline  
Old 16 April 2013, 18:14   #5
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Nice!
MagerValp is offline  
Old 18 April 2013, 16:02   #6
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Quick update:
  • I've squashed a ton of bugs and worked a bit on the polish - screenshots now fade in and out instead of visibly being drawn.
  • The shell script has been replaced by a small launcher program. Now you just have to add AGS:AGS2 to your Startup-Sequence.
  • Two quick screenshots to show off a bit of the new configurability:

First up AGA, 256 colors:



Then OCS in 16 colors:



(Yes, I warned you that I'm not a graphician.)
Attached Thumbnails
Click image for larger version

Name:	AB2.png
Views:	1737
Size:	107.1 KB
ID:	35119   Click image for larger version

Name:	SC2.png
Views:	1707
Size:	20.6 KB
ID:	35120  

Last edited by MagerValp; 18 April 2013 at 16:03. Reason: Clarification
MagerValp is offline  
Old 18 April 2013, 16:20   #7
Retro1234
5150

Retro1234's Avatar
 
Join Date: Jun 2006
Location: Sycophantazia
Posts: 3,702
Cool I use AGS all the time for AGeS - sorry

Also thanks to tomcat666 if he reads for all the .iff and .txt

Last edited by Retro1234; 18 April 2013 at 16:36.
Retro1234 is offline  
Old 22 April 2013, 15:04   #8
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
I made a small movie clip today demonstrating the new configurable UI:

[ Show youtube player ]

I implemented the new fast drawing routines so the menu is responsive even on an unaccelerated A600 while loading screenshots in the background. All that's really left is a few nice looking themes...
MagerValp is offline  
Old 22 April 2013, 16:50   #9
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Alright, here's a new build that's feature complete and should be considered a beta - I'm not aware of any major bugs. I'd love to get some feedback, especially on how it performs on slower machines.

AGS2-20130422.lzx
MagerValp is offline  
Old 01 May 2013, 14:10   #10
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
This is looking great, I like the big screen shots.
twenty90seven is offline  
Old 01 May 2013, 14:27   #11
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
This is probably a beginner's question, but what do you type in the .run script for a game to make it run?
twenty90seven is offline  
Old 01 May 2013, 20:17   #12
Retro1234
5150

Retro1234's Avatar
 
Join Date: Jun 2006
Location: Sycophantazia
Posts: 3,702
Would it be possible to have a copy of AGS 2 that uses .start so I dont have to change all my files - I might install both AGS 1 and AGS 2 AGA so I can have both big and small screen shots, I will try and give you some feedback when I can

Quote:
Originally Posted by twenty90seven View Post
This is probably a beginner's question, but what do you type in the .run script for a game to make it run?
something like
CD DH0:Games/GameTitle
jst GameHD
Retro1234 is offline  
Old 02 May 2013, 10:20   #13
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Quote:
Originally Posted by Boo Boo View Post
Would it be possible to have a copy of AGS 2 that uses .start so I dont have to change all my files - I might install both AGS 1 and AGS 2 AGA so I can have both big and small screen shots
AGS2 is completely configurable, so you can still use 320x128 screenshots from AGS1 - in fact it defaults to a similar layout.

I might be able to create a script that converts AGS1 menus into AGS2, but I still haven't found a good shell scripting reference.
MagerValp is offline  
Old 17 May 2013, 14:11   #14
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
Thanks, but I'm still struggling with the Run script.
I have a partition called Games (which is obviously separate from the System partition). In the root of the Games partition I have a drawer called 'AlienBreedStory', and then within that, the WHDLoad files for the game (AlienBreedStory, AlienBreedStory.slave, etc)
I have tried many scripts to get it to work, for example
Run Games: AlienBreedStory/AlienBreedStory

I have also tried as BooBoo suggested
CD DH1: AlienBreedStory/AlienBreedStory

I am fairly new to AmigaDOS scripts, can someone please help? Cheers
twenty90seven is offline  
Old 17 May 2013, 14:54   #15
TCD
Global Moderator

TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 39
Posts: 24,032
Try:
Code:
cd DH1:AlienBreedStory
WHDLoad AlienBreedStory.slave PRELOAD
You need both cd (change directory) and to start the WHDLoad 'slave' with WHDLoad
TCD is offline  
Old 17 May 2013, 14:58   #16
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
Thanks for your quick reply, I'll give that a go!

Quote:
Originally Posted by TheCyberDruid View Post
Try:
Code:
cd DH1:AlienBreedStory
WHDLoad AlienBreedStory.slave PRELOAD
You need both cd (change directory) and to start the WHDLoad 'slave' with WHDLoad
twenty90seven is offline  
Old 17 May 2013, 15:01   #17
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
That worked! Thanks so much.

I'm making some TIFF images for the menu using screenshots and this Windows program which converts PNG to TIFF: www.ultimatepaint.com

Last edited by twenty90seven; 18 May 2013 at 06:02. Reason: Wanted to discuss TIFF files
twenty90seven is offline  
Old 19 May 2013, 09:22   #18
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
The screenshots need to be IFF (aka ILBM), not TIFF.
MagerValp is offline  
Old 19 May 2013, 15:29   #19
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
Cheers, yes IFF.

I've got AGS2 set up now and working well, and I'm looking to customise it a bit more. Quick question - when you cycle through the games, there is a background colour which changes (around the edges of the screen - it is yellow for one game, then blue for another, etc). Can this be configured? For some reason, your video of your AGS2 menu on Youtube doesn't have this issue.

Quote:
Originally Posted by MagerValp View Post
The screenshots need to be IFF (aka ILBM), not TIFF.
twenty90seven is offline  
Old 19 May 2013, 19:08   #20
MagerValp
Registered User
 
Join Date: Aug 2008
Location: Göteborg / Sweden
Posts: 233
Sure, you have two options: either ensure that color 0 on your screenshots is always the same color (e.g. black), or use a utility that forces the border to be blank: https://www.google.se/search?q=site%...t+border+blank
MagerValp is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Updated versions of Arcade Game Selector tomcat666 Amiga scene 6 16 April 2013 13:53
Name the arcade game Parsec Retrogaming General Discussion 9 20 January 2011 21:54
An old arcade game Basquemactee1 Retrogaming General Discussion 8 05 October 2007 19:27
Looking for Game-Selector (CDTV) astuermer support.Games 8 27 September 2006 15:41
Arcade Game Selector BadMojo support.Apps 1 13 June 2005 23:16

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 03:06.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.35911 seconds with 13 queries