8000 Adding screenshot feature · Issue #355 · 400plus/400plus · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Adding screenshot feature #355

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
tibounise opened this issue Mar 22, 2015 · 8 comments
Open

Adding screenshot feature #355

tibounise opened this issue Mar 22, 2015 · 8 comments

Comments

@tibounise
Copy link
Contributor

This would be really helpful for writing guides. I'm currently working on it, you can follow my progress on the branch screenshots.

So far, I can produce some malformed PPM files :
capture d ecran 2015-03-22 a 12 11 36

@tibounise tibounise changed the title Adding screenshot functionality Adding screenshot feature Mar 22, 2015
@tibounise
Copy link
Contributor Author

dd34855 : The dump is incomplete, but looks much better.

capture d ecran 2015-03-22 a 21 18 51

@tibounise
Copy link
Contributor Author

I've made a lot of progress in 6940b69. 400plus is now o 8000 utputting BMP files :

capture d ecran 2015-03-23 a 19 13 09
capture d ecran 2015-03-23 a 19 13 07
capture d ecran 2015-03-23 a 19 13 05

However, as you can see, there are some random glitches on those screenshots (which were taken with a 5 sec interval). I think I'll try to dump the whole VRAM to a buffer, and then save it as a BMP file.

Anyway, we're approaching our goal 😃

@tibounise
Copy link
Contributor Author

Dumping the whole buffer before copying it to the CF card didn't make a difference. Any ideas?

@eduperez
Copy link
Member

AFAIK, you are not dumping the VRAM, but a buffer that (eventually) gets written to the VRAM; there is no guarantee that such buffer is clean when you access it, and thus the glitches. I would try to copy the buffer at "display_overlay" to somewhere else in memory, and later dump to the CF.

@0xAF
Copy link
Member
0xAF commented Mar 24, 2015

The VRAM is double buffered.
I think there were 3 addresses.
Please take a look at: https://github.com/400plus/400plus/blob/master/bmp.h#L18
It seems I've found some of the other addresses.
Try using one of them.

There is one thing I do not remember.
Are these addresses just pointers to the very same VRAM address, or they point to other VRAM buffers.
If you cant find out, I will try looking at IDA dump, hopefully I can find something.

p.s.
I'm pretty sure Alex (from ML) would have more information on this, because we were talking about these VRAM buffers long time ago.
You can try looking at ML code, too. They surely have ScreenShot feature there. It could lead you to the right trick to get the real VRAM which is on the screen ATM.

@0xAF
Copy link
Member
0xAF commented Mar 24, 2015

I believe, you can get the pointer the the mirrored buffer by putting some debug in this function: hack_invert_olc_screen(char *dst, char *src, int size).
Checkout the src and dst.

@tibounise
Copy link
Contributor Author

Maybe we're missing the color palette, like the one you have on the 5DC ?

@eduperez eduperez mentioned this issue Jan 31, 2016
@nicorikken
Copy link
nicorikken commented Aug 21, 2016

Not to ruin this party (great work 👍, the Wiki could use some screenshots) with an out-of-the box idea:
How about writing some Inkscape templates, or HTML stylesheets to have both mock-up capabilities and enable manuals?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
0