Showing posts with label ds. Show all posts
Showing posts with label ds. Show all posts

Monday, March 9, 2009

GUI Poll

I've gotten a number of reports that the comment system for blogspot is a bit buggy sometimes. This isn't something I have direct control over, so if you have an account at gbadev.org or gbatemp.net, go ahead and shoot me messages there; my nick on both sites is 'albinofrenchy'. Sorry for anyone who has had a hard time because of the website.

But the real reason I'm posting is because I'm putting polls up for user interface stuff. The first one is going to be for the d-pad, which alot of people want to be utilized but noone agrees on what it should do. Those three options aren't the only three I'll consider, if you have a better idea post it in the comments and I'll amend the poll. If you have good ideas about other buttons, give them to me too and if we have different opinions, I'll make another poll! 

Thursday, March 5, 2009

Release v1.3


A new release! This one is mostly a bug fix and a clean up of all the old functionality. This includes: 
  • Made the zoom functionality more intuitive based on feedback I got from alot of you. Now you draw a box around what you want to see on the DS. It will use the current orientation and come up with a zoom that fits that box to the DS screen. Try it out, if you don't get it or plain don't like it, leave me some feedback.
  • Made the screen dim whenever you go to open a new file or you open the mini document view.
  • Changed the old god-awful icon to the new god-awful icon for the mini document view. Its now a magnifying glass.
  • Made the current location on the page reset when you go forward or backward a page. 
  • The page number now appears in the little bar on the bottom/left.
Thats all the big stuff, and covers alot of ground in terms of the feedback I've been getting. 

The controls are largely unchanged, but I'll post them here for completeness sake:
  1. 'X' changes the orientation of the page. Starts off in 'book' style orientation.
  2. Right and Left shoulder go to the next or previous page.
  3. Start brings up the dialog to open  a new file.
  4. Select toggles whether or not to show debug messages. Most users won't want this.
  5. 'B' resets the zoom to the default value of 100%. 
One of the peices of feedback I've gotten has to do with this control layout. I want to get a good feel for what people think would be the best way to go on this before I just start changing stuff. What do you think the controls should be? What other controls would you want to see added? 

The next major feature, and major release, is going to involve a reader mode. As it is, this pdf reader is great for viewing and looking at PDF's, and perhaps even grabbing some key facts from it, but noone is going to read a 100 page e-book in it. You'd get arthritis from so much scrolling and the rendering is so slow as to make it really annoying. 

Instead, the plan is to allow you to be able to choose a viewing mode where you can display the textual blocks of a PDF document on its own screen. You'll lose the formatting from the PDF document, but then you'll be able to fit the text in the DS nicely. And if you want to see the formating, just pop back into the normal viewing mode and you'll have the experience that exists now! 

Would this be something you'd want? Leave a comment if you have ideas on how to make this feature work like you'd want or if you just think its a good idea. 

Friday, February 6, 2009

Todo List

A feature list for the next pseudo release:
  • Next/Prev page (mapped to the shoulder keys) (done)
  • Open File command (mapped to 'Start') (done)
  • Determine rendering slowdowns and fix them. Might be able to do it with doing two small render's instead of one big one and use previous frame. 
  • Some kind of toolbar at the bottom; preferably to show page / page total and have a accessable file thing. 
  • Use color pallete so we can retain true color. I thought the color pallete mapped to 24 bit color. Oops. 
The first two items are actually done now as of an hour ago; I hope to be able to implement the next three by next week. 

Thursday, February 5, 2009

Source Code

Source code is now available:
  • Here is the source code for the NDS stuff proper - so far named ands-pdf.
  • Here is the modified source code for the fitz/mupdf package. This source is for embedded devices; go to the mupdf site for general use. 
  • Here are third party precompiled libraries and include files you'll need to link everything. Properly stated, these are the following libraries compiled for the arm-eabi target: libjpeg, libiberty, libxml2, libz, libfontconfig, libfreetype and libpdf (the mupdf library). Everything except the pdf library has been compiled without modification to source, and is provided more or less for convience. 
I'm looking into the different project hosting sites, but I've got other priorities right now so unless it becomes pressing, don't expect much movement on this front. If other people come on board, it will become a priority though, so anyone who wants to help please pitch in :)

PDF Viewer Prototype!

This morning I posted a prototype for the NDS PDF viewer to
here.

The shout out to gbadev is well earned; they've got a great community over there and if you are doing homebrew for the DS or GBA and not going there, you are making things unnecessarily difficult for yourself.

Here is the prototype version for release. It has a simple file chooser and some artifacting issues. Its more a proof of concept than anything.

And here is the debug version of that same version. All this means is that rendering to the sub display is disabled, so you get a console. If you encounter any problems with a pdf, run them through that to see the exact error.

These user interfaces by the way, only work with the stylus. You double tap a pdf file to open it; same with a directory.

I'll be releasing the source code later tonight once I get all that stuff in order. I should note that I didn't write the PDF render engine for it; I cross compiled this and tweaked with it to avoid memory issues.

I would like, if at all possible, for as many people to test it out as possible and tell me how they like it. I'm also trying to dream up a way to make this easy to use for actual reading, and so any ideas in that regard would be greatly appreciated!