Homebrew [RELEASE] ctrQuake - Quake 1 port

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
Looks great!

One suggestion: When pushing the toggle button the lower screen will switch between different types of layouts. For example:
1. Keyboard on the lower screen. (Just like on your picture)
2. Lower screen filled with black pixels (just like @elhobbs stuff) besides the toggle button (I prefer this mode)
3. Keep the color scheme of the lower screen intact, but remove the keyboard
4. The last one is probably very difficult. But it is the one I want most. Move/clone/mirror/duplicate/or any other method to make the two menu bars visable at the lower screen. But at the same time have the gameplay window at 400x240 :)
1 and 3 are what I have now, I don't really like the 2 idea but I guess its just blanking the bottom screen. 4 at the moment would really hurt the performance
 
  • Like
Reactions: SLiV3R

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
1 and 3 are what I have now, I don't really like the 2 idea but I guess its just blanking the bottom screen. 4 at the moment would really hurt the performance

Yup. 2 is doing black pixels/blanking. If it is much trouble with coding that, you could perhaps copy elhobbs or Rinnegatamante blanking? But it is your project, so the decision is yours! :)


I know number 4 would hurt performance. But I believe that the N3DS could handle it! (Even though it would result in slightly lower fps, I think I would prefer this mode)
 

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
Yup. 2 is doing black pixels/blanking. If it is much trouble with coding that, you could perhaps copy elhobbs or Rinnegatamante blanking? But it is your project, so the decision is yours! :)


I know number 4 would hurt performance. But I believe that the N3DS could handle it! (Even though it would result in slightly lower fps, I think I would prefer this mode)
Blanking is easy. I will only try to move the hud to the bottom if I'm successful with the performance tweak I'm trying to implement
 
  • Like
Reactions: SLiV3R

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,035
Country
United States
Yup. 2 is doing black pixels/blanking. If it is much trouble with coding that, you could perhaps copy elhobbs or Rinnegatamante blanking? But it is your project, so the decision is yours! :)


I know number 4 would hurt performance. But I believe that the N3DS could handle it! (Even though it would result in slightly lower fps, I think I would prefer this mode)
I only did that so that I could still have some stdout stuff print on the bottom screen. It worked out well for heretic3ds because it has the perfect amount of space for the automap on the bottom screen. Heretic3ds uses 3D hardware rendering so it was a little easier to move.
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
I only did that so that I could still have some stdout stuff print on the bottom screen. It worked out well for heretic3ds because it has the perfect amount of space for the automap on the bottom screen. Heretic3ds uses 3D hardware rendering so it was a little easier to move.

Ok! My first choice (if I may dream) in all these wonderful ports is moving the hud to the lower screen. Then I actually prefer the Heretic3ds alternative, to make the lower screen black, besides the little square :)

Edit: It is always good with alternatives, we all prefer different settings :)
 
Last edited by SLiV3R,

Arseface_TM

Board Game Dev
Member
Joined
Sep 16, 2015
Messages
331
Trophies
0
Age
32
XP
306
Country
United States
I don't think showing the "shift" symbols full size is necessary, if they were smaller it'd be easier to read.

I'm not a huge fan of touchscreen keyboards in the first place, but this looks pretty good. I especially like the generic buttons for binds.
 

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
I don't think showing the "shift" symbols full size is necessary, if they were smaller it'd be easier to read.

I'm not a huge fan of touchscreen keyboards in the first place, but this looks pretty good. I especially like the generic buttons for binds.
Shift symbols? The keyboard isn't used all the time, so the touch keyboard is the best way to go
 

Arseface_TM

Board Game Dev
Member
Joined
Sep 16, 2015
Messages
331
Trophies
0
Age
32
XP
306
Country
United States
Shift symbols? The keyboard isn't used all the time, so the touch keyboard is the best way to go
1 to !
2 to @
, to <
. to >

I have no idea what they're actually called.

Touchscreen keyboards are a personal preference thing. I like buttons more than touchscreens because of the physical feedback.
 

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
1 to !
2 to @
, to <
. to >

I have no idea what they're actually called.

Touchscreen keyboards are a personal preference thing. I like buttons more than touchscreens because of the physical feedback.
I have to render than the same size because of the low resolution
 

TarableCode

Well-Known Member
Member
Joined
Mar 2, 2016
Messages
184
Trophies
0
Age
37
XP
319
Country
Canada
1 and 3 are what I have now, I don't really like the 2 idea but I guess its just blanking the bottom screen. 4 at the moment would really hurt the performance

There's a rather easy/hacky way of doing that that I've done before on other projects. (non 3ds)
Have a buffer just big enough to hold the status bar and set the drawing buffer to it before the status bar is drawn, making modifications so that draws at 0,0 and not 0,whatever.

After that just copy it to a texture and render it on the bottom screen.
Shouldn't take tooooo much processing power to do, but haven't looked if you were using Citro3D or writing directly to the framebuffer.
 

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
There's a rather easy/hacky way of doing that that I've done before on other projects. (non 3ds)
Have a buffer just big enough to hold the status bar and set the drawing buffer to it before the status bar is drawn, making modifications so that draws at 0,0 and not 0,whatever.

After that just copy it to a texture and render it on the bottom screen.
Shouldn't take tooooo much processing power to do, but haven't looked if you were using Citro3D or writing directly to the framebuffer.
The buffer has to be rotated and looked up on a pallete before it can be copied to the framebuffer
 

TarableCode

Well-Known Member
Member
Joined
Mar 2, 2016
Messages
184
Trophies
0
Age
37
XP
319
Country
Canada
It's probably faster to use Citro3D and copy it to a texture, no rotation needed plus you get "free" linear scaling.
I do hate the fact that there's no indexed colour modes though, that's pretty BS imho...
 

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
It's probably faster to use Citro3D and copy it to a texture, no rotation needed plus you get "free" linear scaling.
I do hate the fact that there's no indexed colour modes though, that's pretty BS imho...
I don't use citro3d, and citro3d would make it slower because of color palletes and tiling

Edit: If you are talking about hardware rendering, that is going to take some time to implement, and I probably won't use citro3d
 
Last edited by MasterFeizz,

TarableCode

Well-Known Member
Member
Joined
Mar 2, 2016
Messages
184
Trophies
0
Age
37
XP
319
Country
Canada
Not really that much slower, if at all.
GX_DisplayTransfer takes an insignificant amount of time and you can have the source tiled for you.

You still need to do Indexed->RGB8 which is going to be the most expensive operation but you'd have to do that anyway.
Btw... If you figure out a fast way to do that lemme know because it's goddamn expensive especially on the o3ds.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,035
Country
United States
Not really that much slower, if at all.
GX_DisplayTransfer takes an insignificant amount of time and you can have the source tiled for you.

You still need to do Indexed->RGB8 which is going to be the most expensive operation but you'd have to do that anyway.
Btw... If you figure out a fast way to do that lemme know because it's goddamn expensive especially on the o3ds.
I tried doing some tests to have the display transfer engine tile textures and it was really slow. The manual software copy/tile was considerably faster and the source didn't need to be in linear. Maybe I was doing something wrong...
 

TarableCode

Well-Known Member
Member
Joined
Mar 2, 2016
Messages
184
Trophies
0
Age
37
XP
319
Country
Canada
I just did a quick test and it seems the max time in milliseconds to convert and upload a 512x384 framebuffer to RGB565 is around 10ms. It looks as if the display transfer is taking < 1ms, most of the heavy lifting is done by a simple lookup table but it takes the longest time.

qVCaize.jpg


I'd be interested to see how fast the alternative of drawing right to the framebuffer is.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • realtimesave @ realtimesave:
    @SylverReZ that reminds me that my friend sells CRTs he gets cheap or free for hundreds of dollars. people are dumb
    +1
  • RedColoredStars @ RedColoredStars:
    And is incredibly annoying.
  • realtimesave @ realtimesave:
    man I just washed my shoes and they look exactly the same as before I washed them :|
  • realtimesave @ realtimesave:
    luckily they didn't fall apart
  • RedColoredStars @ RedColoredStars:
    Some CRTs are very much worth the price
  • RedColoredStars @ RedColoredStars:
    i used to go out to the recycling center every couple weeks and look at the crts and other electronics people would drop off. Usually screens were broken or severely scratched from being tossed around. Did find a good one here and there, but never anything like a 1080i widescreen crt.
  • RedColoredStars @ RedColoredStars:
    Or a good contition 40" Sony Trini that weighs 300 lbs. lol
  • RedColoredStars @ RedColoredStars:
    Literally 300 lbs. lolol
  • BigOnYa @ BigOnYa:
    I have a few of those boat anchors in my basement I tried giving away but no one wanted them, So anyone close to Columbus, Ohio area that wants them, (26", 2x 19") please come get, for free.
  • RedColoredStars @ RedColoredStars:
    Dont know anyone wants those smaller ones. Most are after larger sizes and the kinda top of the line models
  • RedColoredStars @ RedColoredStars:
    Motion handling and input lag on those things destroy plasmas, led, oled
  • realtimesave @ realtimesave:
    I had some really nice CRTs I should've kept
  • realtimesave @ realtimesave:
    now I have all lcd
  • realtimesave @ realtimesave:
    one in particular I regret getting rid of oh well :|
  • realtimesave @ realtimesave:
    the Sonys and stuff I don't care about
  • realtimesave @ realtimesave:
    and used LCD are hard to sell I can imagine.. not worth much
  • realtimesave @ realtimesave:
    @SylverReZ where do u lurk
  • a_username_that_isnt_cool @ a_username_that_isnt_cool:
    Is it piracy if it was released for free? Not in my opinion, but I also think it's not piracy if buying it isn't owning it, and it's not piracy if you can't buy it from the original creators anymore.
  • K3Nv2 @ K3Nv2:
    Free release can have loopholes where they still make money through ads
    +1
  • Xdqwerty @ Xdqwerty:
    sigh
  • Xdqwerty @ Xdqwerty:
    @a_username_that_isnt_cool, could you change your username?
  • Xdqwerty @ Xdqwerty:
    i guess not...
  • Xdqwerty @ Xdqwerty:
    yawn
  • Xdqwerty @ Xdqwerty:
    anybody here?
    Xdqwerty @ Xdqwerty: anybody here?