Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
8 user(s) are online (4 user(s) are browsing Forums)

Members: 2
Guests: 6

afxgroup, Maijestro, more...

Support us!

Headlines

Forum Index


Board index » All Posts (RNS-AMiGA-Club)




Re: UAE JIT - blog update
Just popping in
Just popping in


I like M68k assembler so it was interesting read

Go to top


Re: Approach of HTML5 on AmigaOne
Just popping in
Just popping in


Thanks for reply. My another question: Why OS4 dev are porting FireFox (one of latest version) instead of speeding up the existing browser: OWB or port some older browser like Netscape Navigator? OWB is working rather slow on my loaned Sam440ep.

Latest FireFox is very big and computer resource consuming application. Why are they porting such application instead of speeding up existing or port older version, which was designed for lesser systems?

Go to top


Re: ChangeScreenBuffer() - can't reliably close program without OS locking-up
Just popping in
Just popping in


I know why it crashes, because it happened to me too on Amiga OS 4.0, it relies on order of closing Window and freeing Screen Buffer. It's different in AmigaOS 3.x and 4.x.

Screen Buffers have also another bug, when you push the screen to back your program sometimes freezes in the infinite loop. I suggest using ChangeVPBitMap.

Go to top


Approach of HTML5 on AmigaOne
Just popping in
Just popping in


I start this topic, because approach of HTML5 on AmigaOne computers and clones is very close. Thus before all actions of adapting HTML5 to AmigaOne browsers I'd like to know how it is planned to port appropriate procedures. Are choke points to be PPC assembly parts? All this asking because if we won't plan the porting the code can be too slow. I think this can be avoided fairly easily by proper port planning.

Go to top


Re: Where to find a good MED/MOD player?
Just popping in
Just popping in


@SpotUP

The speed of those plugin's routines is important. Before I read TuneNet's plugin file format I'd like to ask whether they use low-level AHI routines? Or maybe those plugins depend on main player's replaying procedure?

Go to top


Re: Xamos
Just popping in
Just popping in


Don't know whether all the games/programs written in AMOS will work unless there's integrated Amiga chipset emulator. In AMOS there are functions like Peek and Poke to interfere with Amiga hardware and memory, also it uses Amiga specific things like copper rainbows, double-playfields and playfield scrolling.

I'm writing a library for some time similiar to AMOS in simplicity of executing various tasks, like opening display, opening external files in various formats, drawing pictures and shapes, run animations, draw animated objects, play music and more... All this portable to other systems. I think that's better solution.

Go to top


Re: Pinball game on OS4
Just popping in
Just popping in


Pinball Fantasies: Speed Devils my favourite.

Go to top


Re: Where to find a good MED/MOD player?
Just popping in
Just popping in


Quote:
ProRunner was used heavily in the demoscene days. It wasn't a standalone composer program (like Protracker) but, rather, a PT module packer and replayer. It was popular among demo coders because it was very fast, unlike the official Protracker replayer routine.

I was thinking some about introducing ProRunner 2.0 handling in Diamond Player, because it's similiar to ProTracker and there is documentation available. :)

To Phantom: What is missing in Diamond Player that you want it to have? Or did you encounter bugs? Is it missing any important feature? It already has pattern scrolling etc. and works fine even on A1200 PPC with AmigaOS 4.x (at least some of the earlier versions, because most recent v1.6 is focused on AmigaOS4.1 on my loaned Sam440ep). :)

Go to top


Re: How to initialize a struct in a class?
Just popping in
Just popping in


If you've got structure A inside class B and want to initialize the structure A while constructing object of class B just call desired constructor of structure A within constructor's initialisation list.
Example:
struct A
{
   
// a set of members
   
int m_xm_ym_z;
   
// a set of constructors
   
A() : m_x(1), m_y(2), m_y(3) {}
   
A(int xint yint z) : m_x(x), m_y(y), m_z(z) {}
};

class 
B
{
   
A m_a;
   
// here we call constructor of class A in initialisation list
   
B() : A(456) {}
};

This should answer your question.

Go to top


Re: Spotify for the Amiga is a go
Just popping in
Just popping in


Excuse me, but what's Spotify?

Go to top


Re: Amigans.net being reworked?
Just popping in
Just popping in


@orgin

The new appearance looks quite OK! Nice work.

And the OS4Depot links work now!

Go to top


Re: Assigned project: 32Bit icon editor
Just popping in
Just popping in


@Kas1e

I'll look into it.

Go to top


Re: how to use AHI, basics
Just popping in
Just popping in


It is possible to use low-level interface without interrupting other processes. The device.audio driver comes for that purpose.

However the low-level interface is meant to play music. The sounds can be played with high-level interface without problems so use Kas1e's example in that matter.

These steps will allow you to use low-level AHI functions:
- Create message port and AHIRequest with appropriate functions from exec.library.
- Open the device with OpenDevice() giving AHI_NO_UNIT as a unit.
- Get interface to the library with GetInterface() giving as the first parameter io_Device field of IORequest.

struct AHIIFace *IAHI;
struct Library *AHIBase;
struct AHIRequest *ahi_request;
struct MsgPort *mp;

if (
mp IExec->CreateMsgPort())
{
   if (
ahi_request = (struct AHIRequest *)IExec->CreateIORequest(mpsizeof(struct AHIRequest)))
   {
      
ahi_request->ahir_Version 4;
      if (
IExec->OpenDevice("ahi.device"AHI_NO_UNIT, (struct IORequest *)ahi_request0) == 0)
      {
         
AHIBase = (struct Library *)ahi_request->ahir_Std.io_Device;
         if (
IAHI = (struct AHIIFace *)IExec->GetInterface(AHIBase"main"1NULL))
         {
            
// Interface got, we can now use AHI functions
            // ...
            // Once we are done we have to drop interface and free resources
            
IExec->DropInterface((struct Interface *)IAHI);
         }
         
IExec->CloseDevice((struct IORequest *)ahi_request);
      }
      
IExec->DeleteIORequest((struct IORequest *)ahi_request);
   }
   
IExec->DeleteMsgPort(mp);
}

Once you get the AHI interface you can use its functions. To start playing sounds you need to allocate audio (optionally you can ask user for Audio mode and frequency). Then you need to Load samples to use with AHI. You do it with AHI_AllocAudio(), AHI_ControlAudio() and AHI_LoadSound().

struct AHIAudioCtrl *ahi_ctrl;

if (
ahi_ctrl IAHI->AHI_AllocAudio(
   
AHIA_AudioIDAHI_DEFAULT_ID,
   
AHIA_MixFreqAHI_DEFAULT_FREQ,
   
AHIA_ChannelsNUMBER_OF_CHANNELS// the desired number of channels
   
AHIA_SoundsNUMBER_OF_SOUNDS// maximum number of sounds used
TAG_DONE))
{
   
IAHI->AHI_ControlAudio(ahi_ctrlAHIC_PlayTRUETAG_DONE);
   
int i;
   for (
0NUMBER_OF_SOUNDSi++)
   {
      
// These variables need to be initialized
      
uint32 type;
      
APTR samplearray;
      
uint32 length;
      
struct AHISampleInfo sample;

      
sample.ahisi_Type type
      
// where type is the type of sample, for example AHIST_M8S for 8-bit mono sound
      
sample.ahisi_Address samplearray
      
// where samplearray must point to sample data
      
sample.ahisi_Length length IAHI->AHI_SampleFrameSize(type);
      if (
IAHI->AHI_LoadSound(1AHIST_SAMPLE, &sampleahi_ctrl)) != 0)
      {
         
// error while loading sound, cleanup
      
}
   }
   
// everything OK, play the sounds
   // ...
   // then unload sounds and free the audio
   
for (0NUMBER_OF_SOUNDSi++)
      
IAHI->AHI_UnloadSound(1ahi_ctrl);
   
IAHI->AHI_ControlAudio(ahi_ctrlAHIC_PlayFALSETAG_DONE);
   
IAHI->AHI_FreeAudio(ahi_ctrl);
}


When everything is set up you can use the functions AHI_SetVol() to set volume, AHI_SetFreq() to set frequency, AHI_SetSound() to play the sounds.

As for M68k you don't need to convert these functions to M68k as there are working assembler examples in AHI developer's archive.

I'm writing the source code by hand so sorry for mistakes ;)


Edited by RNS-AMiGA-Club on 2011/8/20 20:32:57
Go to top


Re: RecoDraw - the continuation of Icon Editor
Just popping in
Just popping in


The encoder works! The program with ability to save images can be downloaded from the original link. Its requirement is z.library which compresses data.

Go to top


Re: RecoDraw - the continuation of Icon Editor
Just popping in
Just popping in


I made own partial handling of PNG files (for now decoding, but encoding will be similiar). This includes:
- loading of PNG files (for now IHDR, IDAT, tEXt and IEND chunks are recognized),
- decompressing image data using z.library,
- unfiltering data.

I'm happy because it works very nicely (displays unpacked image in a window), however not all features of PNG are supported yet. Now it's time to make the encoder

Go to top


Re: RecoDraw - the continuation of Icon Editor
Just popping in
Just popping in


@Kas1e

This will greatly simplify the task, thanks for the tip.

However, I printed the PNG specification yesterday and I want to make some own handling of PNG anyway. If libpng doesn't support this I'd like to include writing for example text chunks which contain textual information about author and title of image. And there are many other interesting chunk types. Something like png.library would be also nice to have (and SDK gives an utility to create shared libraries easily). I just like this job, that's why I'm writing own painting program

Go to top


Re: RecoDraw - the continuation of Icon Editor
Just popping in
Just popping in


@Raziel
Quote:
I remember loving to try out all those little beasts from the Fish disks when i had my first HD set up on an Amiga 500 with AmigaOS1.3

Same here, I love the software on Fred Fish disks, still got the CDPD

@Antique
Quote:
Maybe a modern deluxe paint kinda painting thingie?

Yes, something like modern Deluxe Paint is in my wishes

@328gts
Quote:
can't comment now as I'm waiting for my OS4.x machine but keep it coming along friend as it looks useful

It's not yet that useful, because only few tools are available. What is missing the most is saving images, but...

...I downloaded PNG file format and I'm reading it, it seems that PNG contains chunks just like IFF format, so it's relatively easy to use. The compression is done with zlib, but fortunately this library is available for AmigaOS 4.

I'm thinking about creating shared library for AmigaOS 4 which stores PNG images. Other programs would also benefit.

Go to top


Re: RecoDraw - the continuation of Icon Editor
Just popping in
Just popping in


Quote:
Thats pretty interesting and cool, but no window mode as in case with iconeditor ?:)

An updated version uploaded to server. It gets the switch parameter "WB" in command line, if selected it opens the program on Workbench (or default public) screen.

But I wonder if I will use the palette.gadget in future which needs those pens allocated... Maybe some replacement to palette.gadget is needed.

Notice that the help bubbles are in the program - if you hover the mouse pointer over the button it displays help message. Also the information string is displaying current program status.

The purpose is to make simple but fast and flexible drawing tool which is needed on AmigaOS4.x. which saves in PNG format and also in icon format. Lots of work is to be done but I think I can make it

Go to top


RecoDraw - the continuation of Icon Editor
Just popping in
Just popping in


Hi, I've been working on new painting program for AmigaOS4.x for few days, it's called RecoDraw, it's a continuation of my Icon Editor, which I realised.

It's written from scratch, that's why it's missing many tools. But I think I won't reorganise program because I'm satisfied like it is! I try to write it in C with good organisation of functions and data structures. Learning on the university helps much

But it has few functions that are missing in Icon Editor - painting with soft brush - it's partially mixing with the image and an ability to Cut brush and paint with it!

The program asks for Screenmode but if you select "cancel" it opens the clone of Workbench. It also copies then the GUI settings from Workbench. It is designed to work on 32 bit because it utilises alpha mask, but it can work in 16 bit, however the custom brush painting will not work as expected then (because alpha mask is used).

http://minniatian.republika.pl/RecoDraw/recodraw.png
http://minniatian.republika.pl/RecoDraw/RecoDraw.lha

Note that the program is in very early stage! I hope I will finally implement the suggestions from temporary Amigans site ie. writing to Image.

Go to top


Re: Octopus Clone in window
Just popping in
Just popping in


You need the MEM-Handler from OS4Depot. It is required by medplayer.library.

The controls are: any key to start the game, ESC to quit, cursor keys (up-down) to control the diver.

Go to top



TopTop
« 1 (2) 3 4 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project