-
Notifications
You must be signed in to change notification settings - Fork 0
Data East / Sega support #3
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
Conversation
src/dmd_reader.c
Outdated
|
|
||
| lcd_width = 128; | ||
| lcd_height = 32; | ||
| lcd_bitsperpixel = 4; // data east sega is 2bpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
must be 2
src/dmd_reader.c
Outdated
| dmd_pio = pio0; | ||
| offset = pio_add_program(dmd_pio, &dmd_reader_desega_program); | ||
| dmd_sm = pio_claim_unused_sm(dmd_pio, true); | ||
| dmd_reader_whitestar_program_init(dmd_pio, dmd_sm, offset); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dmd_reader_desega_program_init
src/dmd_interface_whitestar.pio
Outdated
| wait 0 gpio DOTCLK ; falling edge | ||
| wait 1 gpio DOTCLK ; raising edge | ||
| in null 2 ; padding | ||
| ;in null 2 ; padding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this line
src/dmd_interface_whitestar.pio
Outdated
| in null 2 ; padding | ||
| ;in null 2 ; padding | ||
| in pins 1 ; read pin data | ||
| in null 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comment "right padding"
src/dmd_interface_whitestar.pio
Outdated
| wait 0 gpio DOTCLK ; falling edge | ||
| wait 1 gpio DOTCLK ; raising edge | ||
| in null 3 ; padding | ||
| in null 1 ; padding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comment "left padding"
| dotloop1: | ||
| wait 0 gpio DOTCLK ; falling edge | ||
| wait 1 gpio DOTCLK ; raising edge | ||
| in null 2 ; padding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this line
| wait 1 gpio DOTCLK ; raising edge | ||
| in null 2 ; padding | ||
| in pins 1 ; read pin data | ||
| in null 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comment "right padding"
| dotloop2: | ||
| wait 0 gpio DOTCLK ; falling edge | ||
| wait 1 gpio DOTCLK ; raising edge | ||
| in null 3 ; padding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in null 1. ; left padding
| lcd_planesperframe = 2; // in Whitestar, there's a MSB and a LSB plane | ||
| lcd_lineoversampling = LINEOVERSAMPLING_WHITESTAR; // in Whitestar each line is sent twice | ||
| lcd_mergeplanes = MERGEPLANES_ADDSHIFT; // required for correct 2bpp merge | ||
| //lcd_mergeplanes = MERGEPLANES_ADDSHIFT; // required for correct 2bpp merge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is that removed?
Logic is nearly identical to whitestar, except the beginning of a frame detection is different. Looking at the signals there was no clear way to identify the start of a frame. It seems that they fixed this for Whitestar, where ROWDATA clearly shows the beginning of a frame. Unfortunately not the case with DE/Sega.
Display Enable is now used to detect the beginning of a frame instead, but that is measured through checking the length of the GPIO being low.