Giter VIP home page Giter VIP logo

gbs-control's Introduction

gbs-control

Documentation: https://ramapcsx2.github.io/gbs-control/

Gbscontrol is an alternative firmware for Tvia Trueview5725 based upscalers / video converter boards.
Its growing list of features includes:

  • very low lag
  • sharp and defined upscaling, comparing well to other -expensive- units
  • no synchronization loss switching 240p/480i (output runs independent from input, sync to display never drops)
  • on demand motion adaptive deinterlacer that engages automatically and only when needed
  • works with almost anything: 8 bit consoles, 16/32 bit consoles, 2000s consoles, home computers, etc
  • little compromise, eventhough the hardware is very affordable (less than $30 typically)
  • lots of useful features and image enhancements
  • optional control interface via web browser, utilizing the ESP8266 WiFi capabilities
  • good color reproduction with auto gain and auto offset for the tripple 8 bit @ 160MHz ADC
  • optional bypass capability to, for example, transcode Component to RGB/HV in high quality

Supported standards are NTSC / PAL, the EDTV and HD formats, as well as VGA from 192p to 1600x1200 (earliest DOS, home computers, PC). Sources can be connected via RGB/HV (VGA), RGBS (game consoles, SCART) or Component Video (YUV). Various variations are supported, such as the PlayStation 2's VGA modes that run over Component cables.

Gbscontrol is a continuation of previous work by dooklink, mybook4, Ian Stedman and others.

Bob from RetroRGB did an overview video on the project. This is a highly recommended watch!
https://www.youtube.com/watch?v=fmfR0XI5czI

Development threads:
https://shmups.system11.org/viewtopic.php?f=6&t=52172
https://circuit-board.de/forum/index.php/Thread/15601-GBS-8220-Custom-Firmware-in-Arbeit/

gbs-control's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gbs-control's Issues

NTSC 720p Scanline glitch.

code committed Jun 29, 2019 - a82f245

The screen in NTSC 720p mode distorts every 30 secs when actives scanline mode. The default setting has no issue.

Additional Note:
@ line 2982, code instruction below these lines won't reach
else {
return;
}

Compile errors

trying to compile the code with all the required libraries and the correct selected board. I get quite a few 'warning unused parameter' errors. it does finishing compiling. Will this be an issue or is this expected?

the below are just a few:

In file included from C:\Users\cvsch\Documents\Arduino\libraries\ESPAsyncWebServer\src\ESPAsyncWebServer.h:457:0,

             from C:\Users\cvsch\Documents\Arduino\libraries\ESPAsyncWebServer\src\WebResponses.cpp:21:

C:\Users\cvsch\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.h:86:10: warning: unused parameter 'i' [-Wunused-parameter]

 void operator ++(int i) { _count++; }

      ^

C:\Users\cvsch\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.h:87:10: warning: unused parameter 'i' [-Wunused-parameter]

 void operator --(int i) {  if (_count > 0) { _count--; } ;  }

      ^

Custom preset not loading as defauly on reset

I've flashed the gbs-control code onto an Adafruit HUZZAH ESP8266 board and connected it to my v.4 GBS-8200 board (black buttons).

I'm using it to convert an RGBs signal from an Acorn BBC Micro, output to VGA for display on a 60Hz Dell LCD monitor.

I can adjust the gbs-control configuration using the web interface over WiFi to get a good picture. However, even if I save the configuration to custom preset slot, and leave that slot selected, the system defaults to the built-in 1280x960 preset on reset. I can then select the custom preset and it loads fine.

Am I correct that the selected custom slot should load by default on reset? This is the output from the board when resetting:

starting
(WiFi): IP: 192.168.1.110 Hostname: gbscontrol.local
userprefs open ok
preset preference = 2
frame time lock = 0
preset slot = 1
frame lock method = 0
auto gain = 0
scanlines = 0
component output = 0
deinterlacer mode = 0
line filter = 1
peaking = 1
pal force 60 = 1
i2c: E6
<reset>
Activity detected, input: RGBS/HV

Format change: <stable>
60Hz 
(custom)
userprefs.txt opened
loading from preset slot 1: no preset file for this source
pal forced 60hz: apply vshift
post preset done (preset id: 1)
shift down, vlines: 34
SOG Lvl: 7

Manually selecting the relevant custom preset then gives this:

userprefs.txt opened
loading from preset slot 1: /preset_pal.1
post preset done (preset id: 1) (custom)
.shift down, vlines: 34
SOG Lvl: 7

Any help would be gratefully received. Thanks.

tv5725.h definition

Not sure how to use GIT yet, so I'm filling this file with register descriptions according to register map file, I'll upload it section by section starting from S3

Sync passthrough gives wierd results on a particular monitor

On a JVC DT-V, on cold boot, passthrough with MVS works but exihibits a smearing glitch on the right border, but after a while it starts getting more and more wavy, until it cannot sync anymore.
The other monitor still manages to sync, however the smearing is still present.

p_20180927_165444
p_20180927_165553
p_20180927_165832

The DT-V monitor will only work cold for some reason. Note that it syncs reliably to MVS direct (but displays upper skew).
MD has the same behavior.

Can this chip support mirroring?

Want to use this on a Starblade but the game uses a mirror to display to the user. My LCD has a diagnostic mode Mirror but it is the wrong axis. Any chance there is something in this units chipset that might help?

Possibility of outputting interlaced modes?

I am having a hard time getting my AVR to accept a signal from the GBS over component video. It seems to only support 480i or 576i. Is there any change of converting a 240p signal to 480i?

But in any case: what a great project! :)

White balance regression

Commit caad7d1 causes white balance problems on my Genesis. Changes in the dominant color on screen seem to cause the entire screen to become tinted. This is particularly easy to notice in the title screen of Sonic 2. When the background fades in from black, the white portions of the foreground dramatically change color. I soldered capacitors into my video cable before discovering it was a software problem.

Questio on CAP, HELP

This is a question about a CAP. For some reason am missing a cap here on C14 on the picture. This cap if between the controller and the buttons. I have another board here but I do not have a multi tester that measures CAPs to find out the value to install a new on the missing space. Can some with the proper tester help me on discovering the value of this cap??? I looked all over the place for the scheme of the board but I could not find it.
image

I know this has nothing to do with this project but this is the best place I found to ask. Or indicate a proper multimeter that I could use to test this, cause the smart tweezers that I found that could test this in $149 and up.

Thanks very much for ur help.

Thanks

T

More options for the scanlines

I am really happy with this custom firmware so far and the picture is really much better then the stock FW :)
I was actually kind of surprised to see the scanlines option, since i actually planed to do some kind of hardware mod with a scanline generator. Unfortunately are there no options to change size and/or position of the scanlines, so that they always look kind of "off".

The background is filled with green from version 28.01.2019; image is cut horizontally

Hello rama!

I use GBS-8220 (RGBS2VGA) with your firmware. I connect the adapter to two different Soviet computers:

  1. Computer "Soyuz-Neon PK-11/16", which uses 300 visible lines in a video frame (50Hz, 15.6259kHz) and this does not fit well with television standards. As a consequence, the GBS-8220 with factory firmware shows an image, but it twitches. GBS-8220 with your firmware does not detect the synchronization signal at all, what is reported in the logs.
    Is it possible to fix something in the firmware to capture synchronization from this computer? The framemeister does this without problems.

  2. Computer UKNC (MS0511), the resolution of the video frame 640 * 288. There are two problems. First: horizontally, the entire frame can fit into the screen only in adapter mode 640 * 480. In other modes, no settings help, the frame goes left or right. 640 * 480 is also a good result, but in this mode the image is blurred in some places. Is there any way to fix this for all modes? The second problem is that since the firmware version 28.01.2019, the background of the image of my UKSC has become permanently green. I managed to fix it by replacing in the latest firmware version in the line 4818 in file gbs-control.ino:
    4818: updateClampPosition (1);
    I replace unit to zero, and then the background turned black again. Can this be taken into account in further development?

GBS-8220 with HD Retrovision YPbPr Component Cable

Hi, I have used my GBS-8220 with HD Retrovision cable in YPbPr input. The image looks great.
I added the board Wemos D1 mini with gbs-control according to the setup guide.
However, the image is "shaky" horizontally.
Any suggestions for this?

OSD Support

This would be nice to have. I tried the sequence of register writes suggested by the programming guide, but I haven't been able to get anything to show up. If you have any tips for getting it to work I can finish up the implementation I started.

Add user controls for output LPF / interpolation filters

I compare commit 523ca42 (Date: Mon Aug 20 16:16:42 2018) with latest versioin. I use 240p test patterns in picodrive (megadrive) emulator in PS2. When I test by test patterns -> color bleed check, the old version color is sharp but latest version is blur. I found white background and blue object has a little yellow breeding. Is it possible to look into to picture processing in the old version?

No sharpness

Would be great to have the sharpness line in the original firmware.

GBS-82xx PAL/NTSC Tidbit/Observation

This isn't so much an issue, as an attempt to share a finding. (Hopefully it helps you, ramapcsx2.)

I have a GBS-8220 that I used for a NTSC Amiga 2000, it works flawlessly with a sharp picture. When I purchased a PAL Amiga 600 I was hoping to use it for that as well. It didn't work, the picture was garbled, initially I thought that was because something was wrong with the Amiga 600 but Composite worked perfectly.

I then read about people having issues, and found this repository. I also had a couple GBS-8200's on order. When I tried one of them with the Amiga 600 it worked! (Picture is a little dark, bust that may be an adjustment).

So, I tried hooking the new GBS-8200 up to the Amiga 2000 and it DOES NOT WORK with NTSC Inputs.

From this observation, I suspect the GBS-82xx MAY set itself to PAL or NTSC at first power on or when it receives the first signal and store that in Flash.

Impossible to compile

Hello
I've got a problem to compile your work with arduino IDE 1.8.5 and 1.9beta.
I Tried it with linux, and windows too.
I'm a newbie with WEMOS D1, and i got this problem .

Arduino: 1.9.0-beta (Windows 10), Board: "LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

sketch\PersWiFiManager.cpp.o: In function `PersWiFiManager::attemptConnection(String const&, String const&)':

sketch/PersWiFiManager.cpp:35: undefined reference to `WPS_is_unavailable_in_this_configuration__Please_check_FAQ_or_board_generator_tool'

sketch\PersWiFiManager.cpp.o:(.text._ZNSt17_Function_handlerIFvvEZN15PersWiFiManager17setupWiFiHandlersEvEUlvE1_E9_M_invokeERKSt9_Any_data+0x3e): undefined reference to `WPS_is_unavailable_in_this_configuration__Please_check_FAQ_or_board_generator_tool'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board LOLIN(WEMOS) D1 R2 & mini.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Thank you for your help

Sacing slots no working on new update

Hi there...
Just did an update and try to save the settings but when I do select the slot it gives me:

saveUserPrefs: open file failure

and if I try to save it says that I need to select a slot first.

thanks once again

Thompson

Possible to connect Arcade/JAMMA PCB to GBS? (re: RGB @ TTL voltage)

I've read the Arcade Board wiki article and also the related issue but I am still a little confused.

Is it safe to connect an arcade PCB (i.e. JAMMA) that outputs RGB @ TLL (as high as 5v p-p) to the GBS-8200? If so, what is the output voltage with the potentiometer set to the far left (as described in the wiki article) ?

My goal is to reduce the TTL voltage to CGA/VGA level (0.7v p-p) and passthrough the RGB exactly as it is. (i.e. no scaling, 15 kHz, etc) I'm going to connect a VGA (RGBHV) to Component video transcoder after the GBS-8200.

Blurry image with NTSC feedback clock preset (PS2)

Hi, I'm still tinkering with GBS and my PS2 console. What bother's me is that I can't get clean pixel perfect with NTSC preset but can do so with PAL by adjusting PLL divier and phase. It kinda looks like there's 2'nd level moire on top of the image as if it samples not 640 pixels but perhaps 512, although I can't see that in preset itself.

Development and Master Branches.

I really like this project but I'm always worried to update my esp8266 because there are always a lot of changes and sometime things get broken.

Perhaps the project need a Development branch were new changes can be tested and experimented and when the code is in a good shape can be deployed to Master.

Investigate more frame lock options

I want to enable frame time lock because I want to get rid of screen tearing. I must disable sync watcher to enable frame time lock that the screen won't show black screen but it does not convinent to disable sync watcher every time I restart system. Could this problem be fix?

no screen output

i found this project last week and it interested me to be able to try and clean my video up for my Geneve 9640 (outputs 15kHz)that is connected via RGB to the GBS8200 then out to VGA.

I have built the board based with a NodeMcu ESP8266 D1 Mini and followed the Wiki for hardware setup and uploading of the code.

I am using the standard Sync Stripper circuit with the LM1881

[i found this project last week and it interested me to be able to try and clean my video up for my Geneve 9640 (outputs 15kHz)that is connected via RGB to the GBS8200 then out to VGA.

I have built the board based with a NodeMcu ESP8266 D1 Mini and followed the Wiki for hardware setup and uploading of the code.

I am using the standard Sync Stripper circuit with the LM1881

[i found this project last week and it interested me to be able to try and clean my video up for my Geneve 9640 (outputs 15kHz)that is connected via RGB to the GBS8200 then out to VGA.

I have built the board based with a NodeMcu ESP8266 D1 Mini and followed the Wiki for hardware setup and uploading of the code.

I am using the standard Sync Stripper circuit with the LM1881 as followed below:

http://etim.net.au/temp/forum/scart_cables/lm1881_datasheet_circuit.png

I am powering it with a USB cable for testing purposes.

However I get a complete blank screen. I switched the SDA and SCL lines just in case but no difference. Disable the GBSControl and it all works when it uses the internal GBS8200 firmware.

My serial monitor shows:

starting
(WiFi): still connecting..

Chip ID: 1A 1
G: 3B
R: 3B R: 3C R: 3D R: 3E R: 3F
B: 3B B: 3C B: 3D B: 3E B: 3F B: 40 B: 41


Scanning inputs for sources ...
(WiFi): STA mode connected; IP: 10.0.0.54
(WiFi): Access 'http://gbscontrol:80' or 'http://gbscontrol.local' (or device IP) in your browser
Activity detected, input: RGB
VSync: present
HSync: present
RGB/HV bypass
ADC offset: R:3F G:3B B:41
RGB/HV bypass on



Any clues?

LG 1530s support

Hello!
First of all I wanted to thank you for your work.
I use your code to connect to the GBS-8200 Soviet retro computer BK0010-01 via RGBS
Everything works well. But the monitor of the LG 1530s does not support the output frequency, it reports the output from the range.
The parameters of this monitor are: lines: 31-63 kHz; frames: 56-75 Hz
Is it possible to correct the code, what would this monitor have earned?
Thank you in advance for your answer.

preset requests: 1600x900, 1024x768

tomrev over at shmups:
Hi, rama. May I ask for support 1600x900 monitor?

It's probably not going to be nice for NTSC (next even scale is x960), but maybe okay for PAL (x864).

Arduino nano 168 or 328P

Hi there and first of all I would like to say that this project is awesome it has been a blast to use this board with great image and no issues so far, but I have 2 8200 board and I don't yet have the superpowers to code like u guys did on this, I've overlooked the code and with a small or little notion of program, could not reduce it to fit on an Arduino nano 168 nor 328. This is not an issue but a question. I tried to reduce the *.h files and lines that call for the ESP8266, but some of the errors that I get on variables I can not decipher what it is or how to work around it. I don't want to give any trouble with this as I have a normal Arduino and it is working great, but I have a second 8200 board and 2 Arduino nano's laying around and thought that I could use it. I really wish I could contribute to projects like this, but have no idea on how to learn to code on stuff like this. Really Great work u guys... keep it up
Thompson.

MDA v-sync not working

Good evening,
I'm trying to use a gbs8200 to create an adapter from mda/hercules to vga. This mode is not supported by the official adapter because h-frequency is 18.4 kHz and therefore out of range according to the manual. But with this firmware I kind of got it working, but the picture is scrolling vertically through the screen from top to bottom, so vsync is not working. The signal is there electrically, I checked with an oscilloscope so it's probably not caused by that.

I used an esp-01 as an adapter (the black one with 1Mbyte flash). I can access the website and change settings, but can't access the serial monitor over uart because all pins of the board are used for i2c, debug and led. (It only has 4 broken out gpio pins, but I might be able to connect some more but that would require some smd soldering)

Get Video Timings returns:

htotal: 1802
HS ST/SP : 8 108
HB ST/SP(dis): 1696 352
HB ST/SP : 1696 256

vtotal 1000
VS ST/SP : 1 5
VB ST/SP(dis): 990 28
VB ST/SP : 4 10
IF_VB_ST/SP: 18 20

The stange thing is that it doesn't matter if I have the v-sync signal connected or not.
All options are zero except:
frame time lock, auto gain, scanlines,line_filter, peaking
are all =1

Is mda/hercules even possible with this chip and does someone have a recommendation on what to try to get sync working?
Even though the original signal has 50Hz I don't need high framerates for this project even 1fps would be sufficient, its a measurement device and does update it's display very slowly.
Greetings
Benjamin

Sega 32x doesn't sync.

I've at this point tried several SEGA 32x systems (model MK-84000) and all of them don't sync. I can get an image for a split second right at the start. However the original firmware does find 32x sync and scales. Possibly different with the MK-84000A but don't have a model to test with currently.

640x480@60hz resolution?

I'm using this on a CRT Monitor, at 640x480 60Hz generates scan lines but I cant enable that.

The motion adaptive deinterlace is blur and dull color while scorlling

I notice in motion adaptive deinterlace while scrolling , the background is blur and darker, compare to bob deinterlace the background is not change in color or sharpness while scrolling. They're compared by playing dragon warrior 3 in NES emulator of PS2.

Is it normally effect of motion adaptive?

Output Format: VGA / Component Video

hi there... is this feature "Output Format: VGA / Component Video" working, if so what would it be the pin out to build a VGA to a component cable. I found this, but now sure if it will work:

1080p-vga-to-3-male-rca-component-video-breakout-cable-no-computers-7

Thanks once again

Syncing regression on NTSC SNES

Recent master versions have a lot of difficulty syncing with my NTSC SNES. There's a lot of stuttering as frames are missed. Eventually it stops updating the screen entirely.

This was introduced by b962fd9

gbs-control:3109:35: error: 'HTML' was not declared in this scope

Arduino: 1.8.7 (Windows 10), Board: "WeMos D1(Retired), 80 MHz, 115200, 4M (3M SPIFFS)"

C:\Users\RX\Downloads\gbs-control\gbs-control-master\gbs-control\gbs-control.ino: In function 'void handleRoot()':

gbs-control:3109:35: error: 'HTML' was not declared in this scope

server.send_P(200, "text/html", HTML); // send_P removes the need for FPSTR(HTML)

                               ^

Multiple libraries were found for "PersWiFiManager.h"
Used: C:\Users\RX\Documents\Arduino\libraries\PersWiFiManager
Not used: C:\Users\RX\Documents\Arduino\libraries\gbs-control-master
Not used: D:\arduino-1.8.7\libraries\gbs-control
Multiple libraries were found for "ArduinoOTA.h"
Used: C:\Users\RX\Documents\Arduino\libraries\ArduinoOTA
Not used: C:\Users\RX\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ArduinoOTA
Not used: D:\arduino-1.8.7\libraries\gbs-control
exit status 1
'HTML' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

De-interlacing on amiga

Hi not really an issue, but just tried this today with my v4 gbs, a wemos d1 mini and Amiga 1200. And wow the image is a lot better!
However I usually run workbench in the "Pal high res interlaced" and the stock gbs does an ok job of removing the flicker, except for a little flicker near the mouse pointer and a bit blurry text. But with gbs-control the image is super clear but flickering (interlaced), is there any way to get the crispness of gbs-control and the deinterlacing of the original?

Sync Locking via DEBUG_PIN seems malfunctioning.

Hello, there.

This is my first time writing a GitHub issue and I'm non-native English speaker also not a good programmer, please excuse me if I did something ignorance stuff and let me know so I can fix it.

A few days ago, a friend of mine introduce this stuff to me and it seems interesting so I built the hardware and try it out.

When I hook DEBUG_PIN of HCKJ 8200 (A clone of GBS-8200) to D11 of Arduino, the screen isn't looking so great.

Here is setup picture of it :
HCKJ 8200
Arduino

and Screenshots and Logs (with DEBUG_PIN and without DEBUG_PIN) :
------ [With DEBUG_PIN] ------
Picture with DEBUG_PIN

starting
resetDigital
using RGBS inputs

MCU: 16000000
..
try HD
try SD
New Input
NTSC timing 
SD mode
resetDigital
Base htotal: 1794
Candidate htotal: 1819
Candidate htotal: 1819
Candidate htotal: 1819
Candidate htotal: 1819
Best htotal: 1819
HB_SP preset: 1640 adjusted: 44
post preset done
----
htotal: 1819
VDS_HSCALE: 638
HS ST: 1398
HS SP: 1518
HB ST (display): 1304
HB SP (display): 0
HB ST (memory): 1328
HB SP (memory): 44
----
vtotal: 1000
VDS_VSCALE: 512
VS ST: 987
VS SP: 990
VB ST (display): 950
VB SP (display): 55
VB ST (memory): 19
VB SP (memory): 20

------ [Without DEBUG_PIN] ------
Picture without DEBUG_PIN

starting
resetDigital
using RGBS inputs

MCU: 16000000
..
try HD
try SD
New Input
NTSC timing 
SD mode
resetDigital
Base htotal: 1794
post preset done
Base htotal: 1794
Base htotal: 1794
Base htotal: 1794
sync lock failed, check debug + vsync wires!
----
htotal: 1794
VDS_HSCALE: 638
HS ST: 1398
HS SP: 1518
HB ST (display): 1304
HB SP (display): 0
HB ST (memory): 1328
HB SP (memory): 1640
----
vtotal: 1000
VDS_VSCALE: 512
VS ST: 987
VS SP: 990
VB ST (display): 950
VB SP (display): 55
VB ST (memory): 19
VB SP (memory): 20

Double Buffering Option

It would be great to have a double buffering mode to eliminate screen tearing (at the cost of occasional duplicate/dropped frames). I've attempted to enable it by poking the appropriate registers, but all setting combinations I've tried result in garbled output. The 5725 docs aren't very helpful.

No picture

Hi,
connected and reconnected few times, changed esp8266 and still same problem.

Using amiga via composite pal and cant get any picture, at all. Without amiga, with composite, with rgb, without, no picture.

This is the output when composite is connected:
found: 138 getVideoMode: 0 input: 1 VS active HS active RGBHV bypass RGBHV: HS active low post preset done (preset id: EC) (custom) !!!!!!!!!!<reset>

Physical Config Slot Switch

Will it be possible to implent a switch to swap between two config sets.

I use two different config slots, it would be nice to change beteeen them without using another device and the gui over wlan.

NTSC Genesis alignment regression

Just recently noticed this after coming back to my Genesis after a while. The screen is now shifted down substantially by default such that the blue border in Sonic is showing, and shifting it back upward with the OSD actually causes vblank-stop to wrap past 0, which then causes active sync locking to jiggle the screen. I tracked it down to e300282, specifically this change:

-    writeOneByte(0x37, 0x62);
+    // 0x37 has to be below the current average (real) hpw
+    // this also changes with different pll dividers (presets)
+    writeOneByte(0x37, 0x58);

Going back to 0x62 fixes it for me. I'll experiment with other values.

Regarding GBS8200 mods

Hello!

In the ""Build the hardware page''

Sync

''Every GBS board requires an additional 100 Ohm resistor on Sync-in to ground if you want to use the RGBS input.
Together with the factory resistor of 1000 Ohm, this brings the total resistance down to TV levels of 75 Ohm.''

Wouldn't it be better to use a 82 ohms resistor? A 100ohms in parallel with a 1k makes a value of 91 ohms, which is 21% higher than the expected value of 75 ohms. By using a 82 ohms resistor, which is a regular value easily purchasable, it would bring the value at around 76 ohms.

SCART RGB to VGA adapter

''If you want to build an adapter, here is some good inspiration: https://shmups.system11.org/viewtopic.php?f=6&t=35423''

That setup uses the same LM1881N chip as the Sync stripper section but, there is no R1!:

  • _''For best results however, I recommend using a sync stripper to extract the various forms of RGBS sync.
    Please ensure your circuit has a 75 Ohm to ground (termination) resistor on the LM1881 video input, as well as a 470 Ohm series (attenuation) resistor on the sync output.

User viletim shows a good LM1881 circuit here:
https://shmups.system11.org/viewtopic.php?f=6&t=55948&p=1153713#p1153713 ''_

Active sync locking moves effective vblank start and stop

I noticed this when experimenting with changing display vblank start/stop in order to crop the rather noisy overscan areas produced by the Genesis/Mega Drive VDP. Since the "different frame sizes" feature of the TV5725 only changes the effective htotal without changing the display or memory vbst/vbsp positions, the active region of the display effectively shifts down by two scanlines (although the contents do not). Depending on what the console puts in the vblank region, the effect is visible.

Possibility of creation 2560x480/2560x512 super resolutions for PSX/PS2

Hello again, I've been wondering if it is possible for GBS boards to clock pixels at such resolution so we can get seamless switch between 512/640px sources as these seem to get switched a lot while in game. @ramapcsx2 if you can point me at what registers to tinker with in 640px presets I'd be more than happy to try that myself :^)

Can I use this cfw with the hdmi based model?

I was wondering if I could use this mod on the HDMI version to achieve a setup similar to a OSSC? Has anyone tried this? How does it look? What sort of interference is there? The product I'm talking about is this

frame time sync display dropouts with low vtotal presets

The new active sync lock doesn't play nice with my display when using the feedback clock presets.
More often than not, the display looses sync on a vtotal change.

It looks like the display doesn't like it changing when in vblank.
This code fixes the issue here, for example:

writeOneByte(0xF0, 0);
readFromRegister(0x0a, 1, &stat);
while ((stat & 0x10) == 0x10) { // bit 4 = "When =1, means in display vertical blanking"
readFromRegister(0x0a, 1, &stat);
}
delay(1);
GBS::VDS_VSYNC_RST::write(vtotal);

It's not a great solution because it blocks for a while, but it works well.
The delay(1) is required to fix the last, rare dropouts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.