Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#14157 - 16/08/2000 05:31 display locks up
anti
member

Registered: 10/07/2000
Posts: 117
Loc: BaWue, Germany, Europe
Hi,

just to give you the right setting.
Over the last years I tried very hard to push linux in the demo scene.

Last week I got my MK2.
So I spend 20minutes to write (cut'n'paste) an implementation of my displaylib for the empeg.
And it works, well, almost.

After I use it the display is locked up.
It shows the last data I put there.
Only power cycling helps.

The code looks mainly like this
fd = open( "/dev/display", O_RDWR );
buf = mmap( 0, 2048, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0 );
ioctl( fd, _IOW( 'd', 1, int ), x );
while( ){
memcpy( buf, data, 2048 );
ioctl( fd, _IO( 'd', 0 ) );

}
munmap( buf, 2048 );
close( fd );

Did I make an obvious mistake ?

thanks
anti
ps:
Sorry, but I can't post the full code for the lib.
At least not right now.
pps:
I should solve this fast, since there are only 10 days till evoke2000 ....


_________________________
-------------------- MKII 08000073 40GB BLUE

Top
#14158 - 16/08/2000 06:37 Re: display locks up [Re: anti]
kim
member

Registered: 21/07/1999
Posts: 140
Loc: Helsinki, Finland
Over the last years I tried very hard to push linux in the demo scene.

Are you in some group?

After I use it the display is locked up.
It shows the last data I put there.
Only power cycling helps.


Can you explain in further detail what exactly happens? Quickly looking at the code, it should work just fine. Can you write more than one frame before it locks up?

I should solve this fast, since there are only 10 days till evoke2000

Are you planning to participate in some competition with empeg?

Kim


Top
#14159 - 16/08/2000 06:47 Re: display locks up [Re: kim]
anti
member

Registered: 10/07/2000
Posts: 117
Loc: BaWue, Germany, Europe
In reply to:


Are you in some group?


yes'n'no.
By the looks of it I am the group right now.
Fake has only one active member at the moment ... me.
We were bigger, but ... well ... things went wrong.

In reply to:


Can you explain in further detail what exactly happens?


I can't test it right now (my dev-system is @home),
but it looks like the frame that is on the display when I unmap the buffer stays on it.
When I quit the shell, the player just runs fine, but the last frame is frozen.
Only a power cycle resets it.

In reply to:


Are you planning to participate in some competition with empeg?


It looks like I won't be at evoke :(
But I will have something for theparty.
Either it'll run in the wild compo or maybe I can slip it in as a linux entry ...
... but I think the rules say one entry per compo per person ...
... and I already have another demo for the linux compo.

We'll see ...

anti



_________________________
-------------------- MKII 08000073 40GB BLUE

Top
#14160 - 16/08/2000 07:34 Re: display locks up [Re: anti]
kim
member

Registered: 21/07/1999
Posts: 140
Loc: Helsinki, Finland
I can't test it right now (my dev-system is @home),
but it looks like the frame that is on the display when I unmap the buffer stays on it.


Oh, that's what you meant. That's how it should be. The kernel always holds a copy of the frame buffer which is the one than was last blitted. You need to blit an empty frame before you unmap or then you can turn off the display after unmap.

In theory you should be able to turn off the display with:
ioctl( m_fd, _IOW( 'd', 1, int ), 0 );

Either it'll run in the wild compo or maybe I can slip it in as a linux entry ...

Crossed my mine to put a wild compo entry to Asm'2k with a empeg demo but that would have required some time to put something together. It would be nice to see some demos and intros on empeg as well. The screen limits a bit but you can still do lot of nice effects with it. I wish the demoscene would evolve back again what it was some years ago; atleast the Asm'2k demo compo was a positive surprise and definitely showed that there are still talented people willing to do non-commercial stuff.

Kim


Top