Homebrew Can hacking open up the other 400 pixels?

MyJoyConRunsHot

Well-Known Member
OP
Member
Joined
Nov 28, 2011
Messages
408
Trophies
1
XP
1,421
Country
Canada
I hear quite frequently that the 3DS horizontal screen pixels are 800 rectangular pixels, doubled together by standard software for the 400x240 resolution in 2D mode. But it seems to be under debate weather it might be possible to address the these individual sub-pixels 1:1 to up the resolution. Do you guys think that's possible with hacking or homebrew? what would 800 rectangular pixels even look like on a screen?
 
  • Like
Reactions: Margen67

frogboy

lacking both style and grace
Member
Joined
Dec 6, 2011
Messages
2,434
Trophies
1
Age
28
XP
1,736
Country
United States
I'm pretty sure the purpose of the other 400 pixels is only to make 3D possible, and they don't truly increase the "resolution" in any way.
 

DinohScene

Gay twink catboy
Global Moderator
Joined
Oct 11, 2011
Messages
22,530
Trophies
4
Location
Восторг
XP
22,724
Country
Antarctica
Sub pixels are the pixels which make up one actual pixel.
And the actual pixels is what make up an image.
subpixels are just 3 or 4 basic colours.
 

MyJoyConRunsHot

Well-Known Member
OP
Member
Joined
Nov 28, 2011
Messages
408
Trophies
1
XP
1,421
Country
Canada
I'm pretty sure the purpose of the other 400 pixels is only to make 3D possible, and they don't truly increase the "resolution" in any way.

But if an image was specifically designed so that each colour only cover each sub pixel instead of two, wouldn't it make images clearer even in the slightest?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
I'm pretty sure you can increase the image resolution by addressing all 800 pixels in 2D mode.
Street fighter game hasn't an option do disable 3D to increase resolution?

It must be programmed in the game so the game can provide more data to the screen, you can't just disable the 3D using the slider or a hack.
The game must output 800 pixels wide, or else you'll see each vertical lined doubled. You can't display more details on a screen if the game doesn't even have the details.

It's like playing a NES game on WiiU, it's still pixelized, it doesn't create a 1080p game, only the display is 1080 not the streamed image from the game.


Edit:
I was wrong.
Street fighter option is to disable 3D to increase frame rate, but still render in 400*240 (a single screen buffer of 400*240 is used, the second screen use the same pixels)
 

MyJoyConRunsHot

Well-Known Member
OP
Member
Joined
Nov 28, 2011
Messages
408
Trophies
1
XP
1,421
Country
Canada
I'm pretty sure you can increase the image resolution by addressing all 800 pixels in 2D mode.
Street fighter game hasn't an option do disable 3D to increase resolution?

It must be programmed in the game so the game can provide more data to the screen, you can't just disable the 3D using the slider or a hack.
The game must output 800 pixels wide, or else you'll see each vertical lined doubled. You can't display more details on a screen if the game doesn't even have the details.

It's like playing a NES game on WiiU, it's still pixelized, it doesn't create a 1080p game, only the display is 1080 not the streamed image from the game.

Hmmm, but the key thing is that it IS possible. I mostly meant homebrew and videos from a flashcart or CFW.
 

Arras

Well-Known Member
Member
Joined
Sep 14, 2010
Messages
6,318
Trophies
2
XP
5,402
Country
Netherlands
Hmmm, but the key thing is that it IS possible. I mostly meant homebrew and videos from a flashcart or CFW.
Why would 800x240 videos be useful though? The resolution is probably too weird to be actually useful for something. That said I'm guessing it would be possible, but how hard it is is another matter entirely.
 

MyJoyConRunsHot

Well-Known Member
OP
Member
Joined
Nov 28, 2011
Messages
408
Trophies
1
XP
1,421
Country
Canada
Why would 800x240 videos be useful though? The resolution is probably too weird to be actually useful for something. That said I'm guessing it would be possible, but how hard it is is another matter entirely.

800x240 may make the screen more crisp. 800 horizontal pixels seems like a pretty big jump when consider the screen size; would result in higher pixel density. Also the bold is another reason I asked. Would the resolution be lopsided or something since it's usually 800x480 for most screens? it can't be that bad.
 

techboy

Well-Known Member
Member
Joined
Mar 15, 2009
Messages
1,720
Trophies
0
Age
31
Location
Pennsylvania
Website
Visit site
XP
306
Country
United States
since it's usually 800x480 for most screens?
800x480 has an odd/non-standard 5:3 aspect ratio (is there a monitor that actually supports this without black bars?).

Do you mean 800x600 (4:3 ratio), which used to be a common PC monitor resolution?

As for usefulness, I can't imagine 800x240 being good for many applications.
 

IMRAN_PETER

Well-Known Member
Member
Joined
Jul 17, 2013
Messages
146
Trophies
0
Age
34
Location
Meadow
XP
202
Country
Bulgaria
I think, 3DS display is layered LCD. Upper display contains 400x240 & lower contains 400x240. this is a tech which used in creating glassless 3D. So, its may not be like what you people thinking.
 

profi200

Banned!
Banned
Joined
Sep 3, 2011
Messages
330
Trophies
0
XP
282
Country
Gambia, The
Have not got it to display 800x240 pixels in 2D mode so far. The 3DS displays some strange shit, but not my black and white pixel rows.

It seems, it doesn't work. Only got shit displayed:



Code:
.global _start
.section .boot
.arm
_start:
 
  ldr r0, =0xFFFD6A04
  ldr r1, =0x01000000
  str r1, [r0]
 
  ldr r0, =0xFFFCE45C
  ldr r1, =0xF0002003  @ width = 800, hight = 240
  str r1, [r0]
 
  ldr r0, =0xFFFCE470
  ldr r1, =0x00002042  @ 01000010001000000000000000000000
  str r1, [r0]
 
  ldr r0, =0xFFFCE478
  ldr r1, =0x00000000  @ display first framebuffer
  str r1, [r0]
 
  ldr r0, =0xFFFCE490
  ldr r1, =0x60090000  @ 2400
  str r1, [r0]
 
  ldr r3, =0xFFFCE468
  ldr r3, [r3]
  ldr r0, =0xD0000000
  add r3, r0          @ adress
 
  mov r0, #0
  mov r1, #0x00        @ black
  mov r2, #0xFF        @ white
  mov r4, #0x2D0      @ size of 1 pixel row
  mov r5, #0
 
 
loop1:
  strb r1, [r3, r0]
  add r0, #1
  cmp r0, r4
  bne loop1
  add r3, r4
  mov r0, #0
loop2:
  strb r2, [r3, r0]
  add r0, #1
  cmp r0, r4
  bne loop2
  add r3, r4
  mov r0, #0
  add r5, #1
  cmp r5, #400
  bne loop1
 
  b .
 

M[u]ddy

Well-Known Member
Member
Joined
Sep 4, 2009
Messages
511
Trophies
0
Age
35
Location
NRW
XP
409
Country
Germany
No. You can't view both sets with a single eye. This conversation is utter nonsense.
Yes you can in 2D mode.
azdh.jpg
 
  • Like
Reactions: SuzieJoeBob and mmn

MyJoyConRunsHot

Well-Known Member
OP
Member
Joined
Nov 28, 2011
Messages
408
Trophies
1
XP
1,421
Country
Canada
800x480 has an odd/non-standard 5:3 aspect ratio (is there a monitor that actually supports this without black bars?).

Do you mean 800x600 (4:3 ratio), which used to be a common PC monitor resolution?

As for usefulness, I can't imagine 800x240 being good for many applications.

Yeah, my bad, 800x600. Would the aspect ratio of 800x240 be too off, or would the sub pixels being twice as tall as they are wide fix this problem? Also in practicality (horizontally crisp, but vertically full of jaggies)?
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,820
Country
Poland
To my knowlege, there are three ways of setting up the screen available to developers:
  • 2x400x240 in 3D Mode (default)
  • 800x240 in 2D Mode (default)
  • 400x240 in 2D Mode with a faster framerate (optional) as seen in "Super Street Fighter IV 3D"
The 3D effect is not achieved using sub-pixels - the screen is physically 800x240, there's nothing there to "unlock" so to speak.
 
  • Like
Reactions: Margen67

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,820
Country
Poland
See my post above.
You can't display 800x240 in 3D mode - your 3D diode is lit up, so I'm assuming you forgot about that.

EDIT: Consider this - the 3DS creates 3D images using two interlaced 400x240 frames and displaying a paralax barrier on the black and white LCD which is stuck on-top. If you divide the image you want to display into two frames (Frame 1 being rows divisible by 2 and row 0, Frame 2 being rows not divisible by 2) and pass them into the two frame buffers without enabling the barrier, you will effectively display a 800x240 image using said two frames. It's "exploiting the system" a bit, but it does the job.
 
  • Like
Reactions: TerryG

profi200

Banned!
Banned
Joined
Sep 3, 2011
Messages
330
Trophies
0
XP
282
Country
Gambia, The
No, that's not a problem. The entire system is freezed and i can set all manually (i can disable the 3D diode, but for that i need to fight with I2C :D)

According to yellows8 there is currently no way to display 800x240 pixels in 2D mode.

€:
Have not tried to disable parallax (I2C again...), but on a running system the GSP module disables 3D mode, if i disable the parallax barrier.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,820
Country
Poland
No, that's not a problem. The entire system is freezed and i can set all manually (i can disable the 3D diode, but for that i need to fight with I2C :D)

According to yellows8 there is currently no way to display 800x240 pixels in 2D mode.
Look at your code. You set the frame buffer to 800x240 - that's not possible, a single frame is up to 400x240. Why not try setting up two frame buffers at 400x240 and then trying to display stuff? ;)

Just an idea. Mind you, I know f***-all about ASM or the 3DS's infrastructure, I'm just using common sense based on the 3DS's screen's built.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    ButterScott101 @ ButterScott101: +1