Jump to content
IGNORED

RGB2VGA: customizing a GBS-8200 for a cleaner low-lag image


mytek

Recommended Posts

24 minutes ago, Mr Robot said:

There is a wire from the OSC to the VBXE, I HAD to leave out the jumper. Now I know what it does!

Yep I left out one little detail, that being to connect the OSC wire from the VBXE to the motherboard OSC-IN.

 

It's pretty clearly shown on the schematics in the VIDEO section.

 

1088XEL

 

XEL_OSC.png.3a26c1fcbb2b9c92f6a0571dbe0432c6.png

 

1088XLD

XLD-OSC.thumb.png.3bc2ae88b6ecb38e85a8ccf07c360e04.png

 

  • Like 2
Link to comment
Share on other sites

4 minutes ago, mytek said:

Yep I left out one little detail, that being to connect the OSC wire from the VBXE to the motherboard OSC-IN.

 

It's pretty clearly shown on the schematics in the VIDEO section.

 

1088XEL

 

XEL_OSC.png.3a26c1fcbb2b9c92f6a0571dbe0432c6.png

 

1088XLD

XLD-OSC.thumb.png.3bc2ae88b6ecb38e85a8ccf07c360e04.png

 

It is in fact clearly shown in both schematics.  Guess what this goofball missed on BOTH his 1088XEL and XLD builds?

  • Haha 2
Link to comment
Share on other sites

Had to make a few updates on the GBS-PGM PCB as well as the firmware. Good news is that this made the board even smaller and eliminated one resistor, thus slightly reducing the manufacturing cost. BOM and PIC flashing file will be coming soon.

 

OshPark_GBS-PGM_pcb.png.41822939dfb0501f668ec13d49e0f6b0.pngNow available at OSH Park

  • Total Cost: $4.00
  • Quantity: 3
  • Shipping: FREE

 

Purchase LINK

 

Go HERE for a better look at the new board layout and the updated schematic.

 

Here is the updated Great Cow Basic Source Code listing now with 4 supported video modes (288p 50 Hz, 576i 50Hz, 240p 60Hz, 480i 60Hz)...

Spoiler

 


; 8 Mhz internal factory calibrated oscillator	10/15/2019

  #chip 12F1572, 8

; Enabling Weak Pull-Ups

  OPTION_REG.7 = 0        ;enabling Port A pull-ups in general.
  Set WPUA2 = 1           ;Port A input 2 (switch) pulled up
  Set WPUA3 = 1           ;Port A input 3 (switch) pulled up
  #option Volatile PORTA.2
  #option Volatile PORTA.3

; Define I2C settings

  #define I2C_MODE Master
  #define I2C_DATA PORTA.5       ;SDA Port
  #define I2C_CLOCK PORTA.4      ;SCL Port
  #define I2C_ADDRESS 0x2E       ;address of the GBS slave device

; Define Switch and LED ports

  #define GRN PORTA.0    ;Ready LED
  Dir GRN Out
  #define RED PORTA.1    ;Busy LED
  Dir RED Out
  #define SA PORTA.2     ;Dipswitch: Low/High resolution
  Dir SA In
  #define SB PORTA.3     ;Dipswitch: 50/60Hz
  Dir SB In

  RED=1                  ;LED Initially set to RED (BUSY)
  GRN=0

; I2C Sub Routine to Set which Bank (segment) will be active
;   Calling Parameters: 1
;   Bank: 0-5 (specifies 1 of 6 possible TV5725 segments)

  Sub SetBank (In Bank)
     Repeat 3
        I2CStart
        I2CSend I2C_ADDRESS
        I2CSend 0xF0
        I2CSend Bank
     End Repeat
     I2CStop
  End Sub

; I2C Sub Routine to 'Write One Byte' to specified register
;   Calling Parameters: 3
;   Bank: 0-5 (specifies 1 of 6 possible TV5725 segments)
;   Reg: 0-159 (specifies a specific register within the segment)
;   Value: 0-255 (specifies a byte value to write into the register)

  Sub WriteByte (In Bank, In Reg, In Value)
    GoSub SetBank (Bank)
      I2CStart
      I2CSend I2C_ADDRESS
      I2CSend Reg
      I2CSend Value
      I2CStop
  End Sub

  Sub GetSW
    Dig1 = SA
    Dig2 = SB
    DipSW = (Dig2*2) + Dig1
  End Sub

;====================================================
; Main Program Loop
;====================================================

  wait 500 ms       ;small pause to allow GBS to fully power-up

  GoSub GetSW       ;retrieve DipSwitch Setting
  SW_old = DipSW    ;store value for compare

; Set segment bank address, and then punch in the presets for that segment

  For segment = 0 to 5

   GoSub SetBank (segment)   ;Set Bank Address = Segment

    I2CStart
    I2CSend I2C_ADDRESS
    If segment=0 Then
      I2CSend 0x40          ;register start address for Segment 0
    Else
      I2CSend 0x00          ;register start address for Segment 1-5
    End If

    readtable Slen, segment+1, length   ;retrieve segment length

    ; Send the Presets
    For register = 1 to length
      Select Case segment
        Case 0    ;Segment 0
        readtable B0, register, data
        Case 1    ;Segment 1
          Select Case DipSW
            Case 0
            readtable NHR1, register, data    ; NTSC 480i
            Case 1
            readtable NLR1, register, data    ; NTSC 240p
            Case 2
            readtable PHR1, register, data    ; PAL 576i
            Case 3
            readtable PLR1, register, data    ; PAL 288p
          End Select
        Case 2    ;Segment 2
        readtable B2, register, data
        Case 3    ;Segment 3
          Select Case DipSW
            Case 0
            readtable NHR3, register, data    ; NTSC 480i
            Case 1
            readtable NLR3, register, data    ; NTSC 240p
            Case 2
            readtable PHR3, register, data    ; PAL 576i
            Case 3
            readtable PLR3, register, data    ; PAL 288p
          End Select
        Case 4    ;Segment 4
        readtable B4, register, data
        Case 5    ;Segment 5
        readtable B5, register, data
      End Select
    I2CSend data
    Next register
    I2CStop
  Next segment

; Activate !!!
  GoSub WriteByte (0, 0x46, 0x00)   ;Soft Reset
  GoSub WriteByte (0, 0x46, 0xFF)
  GoSub WriteByte (0, 0x47, 0x00)   ;Soft Reset
  GoSub WriteByte (0, 0x47, 0xFF)
  GoSub WriteByte (5, 0x11, 0x12)   ;Latching PLLAD for Pixel Clock
  GoSub WriteByte (5, 0x11, 0x92)

; All Done - Flash GRN LED for Ready
  RED=0

  Do Forever:
    GoSub GetSW                    ;retrieve DipSwitch Setting
    If DipSW <> SW_old Then RESET  ;if it's changed re-send Presets
    wait 500 ms
    GRN=1
    wait 500 ms
    GRN=0
  Loop

;====================================================
; Preset Tables
;====================================================

; Define Segment Lengths

Table Slen
32
144
64
128
96
112
End Table

;--------------------------------------------------------------------------------

; Base Preset Tables

; Misc
Table B0
124, 164, 0, 0, 37, 1, 95, 7, 63, 0, 0, 0, 0, 42, 0, 48
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

; De-Interlace
Table B2
255, 3, 204, 0, 0, 0, 5, 5, 7, 0, 76, 4, 204, 152, 255, 73
33, 136, 142, 0, 0, 0, 124, 35, 214, 208, 0, 16, 0, 0, 0, 16
81, 2, 4, 15, 0, 0, 76, 12, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 52, 0, 136, 71, 3, 11, 4, 100, 11, 4, 143, 0, 0, 0
End Table

; Memory, Capture/Playback, FIFO
Table B4
130, 48, 0, 0, 48, 17, 66, 48, 1, 148, 17, 127, 0, 116, 0, 6
0, 146, 1, 1, 150, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 43, 3, 31, 255, 255, 207, 255, 255, 31, 0, 164, 30, 0, 128, 0
0, 0, 0, 8, 0, 0, 16, 180, 204, 179, 0, 2, 0, 4, 3, 0
4, 0, 105, 0, 255, 255, 7, 255, 255, 7, 0, 68, 0, 224, 40, 62
192, 0, 0, 0, 104, 1, 192, 180, 204, 90, 204, 76, 0, 0, 0, 0
End Table

; ADC, Sync Processor
Table B5
216, 0, 87, 241, 0, 0, 63, 63, 63, 52, 52, 52, 0, 0, 0, 0
0, 144, 179, 198, 0, 0, 32, 206, 133, 130, 0, 0, 0, 0, 128, 4
208, 32, 15, 0, 64, 0, 5, 0, 0, 0, 15, 0, 0, 4, 0, 4
0, 47, 0, 40, 3, 21, 0, 4, 4, 15, 10, 0, 0, 0, 192, 3
11, 39, 6, 126, 6, 0, 192, 5, 192, 4, 192, 52, 192, 103, 192, 103
192, 0, 192, 5, 192, 192, 33, 192, 5, 192, 1, 200, 6, 0, 0, 0
0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

;--------------------------------------------------------------------------------

; 240p_60Hz_1280x1024 NTSC Preset Tables

; Input Formatter, HD-Bypass, Mode detect
Table NLR1
96, 224, 100, 255, 255, 255, 255, 255, 255, 255, 255, 79, 134, 5, 89, 203
18, 0, 71, 0, 44, 3, 92, 0, 87, 3, 135, 0, 0, 2, 4, 0
56, 0, 146, 3, 155, 6, 159, 6, 4, 0, 0, 0, 0, 0, 0, 0
202, 0, 128, 0, 63, 0, 128, 44, 204, 0, 0, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
208, 34, 32, 39, 65, 62, 178, 154, 78, 214, 177, 142, 124, 99, 139, 118
112, 98, 133, 105, 83, 72, 93, 148, 178, 70, 198, 238, 140, 98, 118, 156
0, 0, 53, 0, 0, 12, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

; Video Processor, PIP
Table NLR3
2, 244, 164, 194, 176, 164, 6, 22, 108, 194, 150, 0, 0, 6, 8, 128
226, 164, 15, 16, 172, 128, 152, 18, 30, 2, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 96, 3, 0, 207, 38, 32, 220, 17, 224, 47, 32, 240
64, 26, 0, 0, 0, 125, 31, 44, 0, 0, 0, 0, 0, 0, 144, 0
2, 3, 0, 0, 248, 31, 248, 31, 248, 30, 208, 32, 248, 10, 142, 30
48, 0, 56, 8, 36, 10, 11, 234, 26, 0, 0, 26, 0, 196, 63, 4
4, 155, 128, 9, 233, 239, 127, 64, 210, 13, 216, 223, 63, 0, 0, 0
0, 8, 0, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

;--------------------------------------------------------------------------------

; 288p_50Hz_1280x1024 PAL Preset Tables

; Input Formatter, HD-Bypass, Mode detect
Table PLR1
96, 224, 100, 255, 255, 255, 255, 255, 255, 255, 255, 79, 134, 5, 89, 203
18, 0, 71, 0, 44, 3, 92, 0, 87, 3, 135, 0, 111, 2, 16, 0
56, 0, 146, 3, 155, 6, 159, 6, 4, 0, 0, 0, 0, 0, 0, 0
202, 0, 128, 0, 63, 0, 128, 44, 204, 0, 0, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
208, 34, 32, 39, 65, 62, 178, 154, 78, 214, 177, 142, 124, 99, 139, 118
112, 98, 133, 105, 83, 72, 93, 148, 178, 70, 198, 238, 140, 98, 118, 156
0, 0, 53, 0, 0, 12, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

; Video Processor, PIP
Table PLR3
2, 244, 164, 194, 176, 164, 6, 23, 124, 194, 150, 0, 0, 6, 8, 128
226, 164, 15, 16, 172, 128, 152, 194, 32, 2, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 96, 3, 0, 207, 38, 32, 220, 17, 224, 47, 32, 240
64, 26, 0, 0, 0, 125, 31, 44, 0, 0, 0, 0, 0, 0, 144, 0
2, 3, 0, 0, 248, 31, 248, 31, 248, 30, 208, 32, 248, 10, 142, 30
48, 0, 56, 8, 36, 10, 11, 234, 26, 0, 0, 26, 0, 196, 63, 4
4, 155, 128, 9, 233, 239, 127, 64, 210, 13, 216, 223, 63, 0, 0, 0
0, 8, 0, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

;--------------------------------------------------------------------------------

; 480i_60Hz_1280x1024 NTSC Preset Tables

; Input Formatter, HD-Bypass, Mode detect
Table NHR1
96, 224, 100, 255, 255, 255, 255, 255, 255, 255, 255, 79, 134, 5, 89, 203
18, 0, 71, 0, 44, 3, 92, 0, 87, 3, 135, 0, 0, 2, 16, 0
56, 0, 146, 3, 155, 6, 159, 6, 4, 0, 0, 0, 0, 0, 0, 0
202, 0, 128, 0, 63, 0, 128, 44, 204, 0, 0, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
208, 34, 32, 39, 65, 62, 178, 154, 78, 214, 177, 142, 124, 99, 139, 118
112, 98, 133, 105, 83, 72, 93, 148, 178, 70, 198, 238, 140, 98, 118, 156
0, 0, 53, 0, 0, 12, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

; Video Processor, PIP
Table NHR3
2, 244, 164, 194, 176, 164, 6, 23, 124, 194, 150, 0, 0, 6, 8, 128
226, 164, 15, 16, 172, 128, 152, 66, 30, 2, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 96, 3, 0, 207, 38, 32, 220, 17, 224, 47, 32, 240
64, 26, 0, 0, 0, 125, 31, 44, 0, 0, 0, 0, 0, 0, 144, 0
2, 3, 0, 0, 248, 31, 248, 31, 248, 30, 208, 32, 248, 10, 142, 30
48, 0, 56, 8, 36, 10, 11, 234, 26, 0, 0, 26, 0, 196, 63, 4
4, 155, 128, 9, 233, 239, 127, 64, 210, 13, 216, 223, 63, 0, 0, 0
0, 8, 0, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

;--------------------------------------------------------------------------------

; 576i_50Hz_1280x1024 PAL Preset Tables

; Input Formatter, HD-Bypass, Mode detect
Table PHR1
96, 224, 100, 255, 255, 255, 255, 255, 255, 255, 255, 79, 134, 5, 89, 203
18, 0, 71, 0, 44, 3, 92, 0, 87, 3, 135, 0, 111, 2, 26, 0
56, 0, 146, 3, 155, 6, 159, 6, 4, 0, 0, 0, 0, 0, 0, 0
202, 0, 128, 0, 63, 0, 128, 44, 204, 0, 0, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0, 0, 1, 192, 0
0, 1, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
208, 34, 32, 39, 65, 62, 178, 154, 78, 214, 177, 142, 124, 99, 139, 118
112, 98, 133, 105, 83, 72, 93, 148, 178, 70, 198, 238, 140, 98, 118, 156
0, 0, 53, 0, 0, 12, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

; Video Processor, PIP
Table PHR3
2, 244, 164, 194, 176, 164, 6, 23, 124, 194, 150, 0, 0, 6, 8, 128
226, 164, 15, 16, 172, 128, 152, 194, 35, 2, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 96, 3, 0, 207, 38, 32, 220, 17, 224, 47, 32, 240
64, 26, 0, 0, 0, 125, 31, 44, 0, 0, 0, 0, 0, 0, 144, 0
2, 3, 0, 0, 248, 31, 248, 31, 248, 30, 208, 32, 248, 10, 142, 30
48, 0, 56, 8, 36, 10, 11, 234, 26, 0, 0, 26, 0, 196, 63, 4
4, 155, 128, 9, 233, 239, 127, 64, 210, 13, 216, 223, 63, 0, 0, 0
0, 8, 0, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
End Table

 

The 480i and 576i modes are untested in our application, so it'll be interesting to see how it works with the VBXE in hi-resolution mode. The low-resolution modes appear to work correctly when tested with a Sophia RGB GTIA upgrade. And I can see that the image squishes down with the Sophia if I enable the hi-rez modes, so that suggests that it might very well work with the VBXE in hi-rez as well.

 

My first attempt at filling all the preset tables was incorrect, so Mr Robot had it right all along (I should have known better) so I went back to using his presets for the 480i mode, and picked up the 576i presets from dooklink's GBS-Control GitHub page.

 

Current memory allocation for the PIC chip

PIC_memory.png.fc9b308196bd1ebf531f82e4bde35418.png

 

  • Like 2
Link to comment
Share on other sites

Instead of a normal parts list, I did this instead...

GBS-PGM_parts.thumb.png.3cb6229ba0e8da64b1c4f1a3da103e7a.png

 

 

Everything this time around is sourced from Jameco.com. All that is except for the PIC12F1572 which can be gotten as a FREE sample from MicroChip Direct after registering. They will also program it for you if you provide the hex file (there is a link on that page for doing that). However until I am certain that the firmware is correct I would not suggest doing that last part. Well you could if you don't have the means to flash the chip yourself. I don't know if there is a cost associated with that, and I'd hate having you spend the money if there is, and then finding out that you need to reflash the chip later.

 

The GBS-8220 already comes populated with the I2C header, although the GBS-8200 does not, so for that version you will need to also order the male header specified below the female one. And although I tried to make it obvious on the silk screen, the 4-pin female header gets placed on the bottom side of the board.

 

Since the dip switch is a pretty tight fit, I would suggest soldering it in place before anything else, so that the parts around it won't accidentally get in the way.

 

I'll be putting together a zipped file sometime later today with both the hex file and JOY2PIC flashing file inside.

 

If you don't want to use Jameco, then just cross reference what I used to an alternate vendor such as Mouser or Digi-Key. Even though Jameco has minimum quantities on several of the items I listed, with their asking price being relatively cheap, and the shipping about half that of other vendors (at least here in the states), I don't know if you would see a cost benefit. And although I showed individual pre-cut male headers for all of the ones on the board (as well as the one for the GBS-8200), you could always opt for just buying the 6-pin headers which have a minimum order quantity of 10 and just cut them to fit the other places.

 

 

Edited by mytek
Changed R1&R2 to both be 1K
  • Like 1
Link to comment
Share on other sites

Last but not least, here is the firmware: PIC_GBSCTRL_BETA_Flash.zip

 

This file contains: JOY2PIC Flasher (auto boot ATR), Hex file for PICkit2-3, and the GCB Source Code File

 

Also take note that I had to change R2 to 1K after discovering that the JOY2PIC didn't have enough drive to program and light the LED with the previous 220 ohm resistor. And I also discovered that if dip switch 'B' was closed (ON), that too interfered with flashing via the JOY2PIC. So I've added a note to the schematic that the 'B'  switch should be left open (OFF) while programming. Since even 10K wasn't enough series resistance to allow the weak charge pump on the JOY2PIC to generate the proper VPP voltage, I changed it to 1K as well.

 

  • Like 1
Link to comment
Share on other sites

My component stores are starting to fill out nicely, I only needed to order the dip switches and the bi-colour led's from jameco and the pic's from Microchip direct, I had all the rest.

 

I have a couple of JOY2PIC sticks, does that mean I don't need to buy a PicKit?

 

Link to comment
Share on other sites

2 minutes ago, Mr Robot said:

I have a couple of JOY2PIC sticks, does that mean I don't need to buy a PicKit?

Nope, not unless you want to do firmware development, which you might if you want to play around with presets.

 

Speaking of firmware... I couldn't have been successful at porting this into the PIC chip and GCB if it wasn't for a guy called rama on the shmups forum. I was very stuck, having developed the code to transfer new values into the GBS registers, but no dice on getting it to run. This went on for nearly a month, in which time I went so far as to write some RS232 code to allow me to read and write registers from a terminal on my PC (used Lotharek's SIO2PC-USB as the ttl-to-RS232/USB interface), which confirmed that I had indeed transferred in new presets. So in desperation I posted about my dilemma on the GBS 8200/8220 CFW Project topic which dooklink had started 5 years ago, although I hadn't seen any recent activity by the OP. Well rama quickly got back to me, and in a matter of a day or two I was finally able to see something positive happening. What was missing is what I have labeled the Activate!!! section in the code. Simply needed to execute a series of resets and latch the PLL after the preset transfer was complete. I also would like to acknowledge dooklink and several other random players that did all the groundwork as to what was going on in the GBS, and who developed many of the preset tables that are now available for a multitude of different video requirements.

 

  • Like 1
Link to comment
Share on other sites

22 minutes ago, Mr Robot said:

My component stores are starting to fill out nicely, I only needed to order the dip switches and the bi-colour led's from jameco and the pic's from Microchip direct, I had all the rest.

Do you have one of these?

19141.jpg

Jameco P/N: 19141

 

Use this to jumper P8 on the GBS-82x0 board (it's a 2-pin header close to the I2C connection).

 

Link to comment
Share on other sites

I ordered boards yesterday evening, as well as placed an order with Jameco this morning. Now it's just a waiting game. Let the best man win ;) .

 

As for total cost... I figure based on buying and building 3 boards, you're looking at pretty close to $7 each complete. Add a $17 GBS (which remarkably includes free shipping) and the complete bare board solution comes in just under $25. Not bad for a high quality RGB to VGA multi-mode solution.

 

Link to comment
Share on other sites

1 hour ago, Mr Robot said:

It looks like Lotharek is working on a scandoubler solution as well. 

 

https://lotharek.pl/productdetail.php?id=135

Interesting, and it's nice that it can convert from 3 different source video standards, but the composite to VGA demo wasn't very pretty so kind of silly doing that when S-Video is relatively easy to achieve from an 8-bit and should produce superior results. Judging by the board pic it doesn't look to be that much smaller than the GBS, so no big advantage there. I wonder what the price will be? Of course once you add postage from Poland to here, I'm relatively sure there will be no cost advantage either ;) .

 

Still nice to see that other video solutions are forthcoming, and I'm sure that coming from Lotharek it'll work well ? .

 

Link to comment
Share on other sites

4 hours ago, flashjazzcat said:

There's a US-based reseller of Lotharek's stuff, so if he carries it, that'll take care of that problem.

Yes but I don't need the distraction... good thing its not available currently ;) .

 

If I'm to get the project of this topic done (RGB2VGA-XLD) I need to remain focused on the task at hand. Speaking of which, I need to carry the changes from the GBS-PGM over into the XLD version, and then begin work on the PCB to get it to match.

 

  • Like 1
Link to comment
Share on other sites

15 hours ago, mytek said:

If I'm to get the project of this topic done (RGB2VGA-XLD) I need to remain focused on the task at hand. Speaking of which, I need to carry the changes from the GBS-PGM over into the XLD version, and then begin work on the PCB to get it to match.

Got the schematic changes carried over...

RGB2VGA-XLD_schema.thumb.png.b7512fa6a11f88720d1c591fbb9700be.png

 

 

Now it's time to get back to the PCB layout :) .

 

Edited by mytek
Updated the notes on the schematic
  • Like 2
Link to comment
Share on other sites

I received my parts from Jameco today, and noticed that the Bi-Color LED doesn't have a flat spot to indicate polarity. So I confirmed that the short lead of the LED should go to the square pad as shown below. This will give us RED for busy, and GREEN for go (or ready).

 

GBS-PGM_parts.thumb.png.b031734cf0efe1daca819ddd5e6d7562.png

 

Other then that, I am happy to report that the LED works very well, and has good brightness level even though the current limiting resistor is fairly high at 1K, thus limiting the LED current to approximately 1.5 ma on the 3.3V supply.

 

Boards should be here next week.

 

BTW, here is the Great Cow Basic formatted source code listing: GBSCTRL_GCB_Source_V1.pdf

 

 

  • Like 1
Link to comment
Share on other sites

29 minutes ago, Mr Robot said:

I'm currently waiting on 3 different boards from OSH Park. You can't beat their prices on just a couple of tiny boards but they don't enhance the rapid prototyping process :) 

Yep tiny boards will yield a great price from them, but compared to using one of the Chinese counterparts, fabrication takes forever. However board size matters, so it's always wise to double check against other vendors when you appear to be getting up around half the size of something like an Atari cart board. Beyond that they quickly become non-competitive.

 

Just for grins, I once priced a 1088XEL with them, and it came in around $450. Needless to say I never had them manufacture one of those.

 

 

Link to comment
Share on other sites

GBS-PGM board works!!!

 

I assembled one of the 3 boards I got from OSH Park yesterday and it worked like a charm ? .

 

Getting ready to flash the PIC chip on the GBS-PGM board using the JOY2PIC-STIK

3.thumb.JPG.f351dba8a1f3bf9a57f8bc586126c083.JPG

 

Inserting it into the I2C header of the GBS-8200 (note: red jumper block on P8 required)

4.thumb.JPG.6f9c81f30bcb0db5bd9f2c208cdd4e0c.JPG

 

Power Up! Momentarily a red LED indication is given, then turning green for "Ready"

5.thumb.JPG.d731c5705aaad76cefeeba3f729d3e38.JPG

 

Pulled the GBS-PGM board from the GBS-8200 and as can be seen VGA is still displaying.

2.thumb.JPG.a1376a7374b80c8921aea31c392789c3.JPG

 

Once the PIC has reprogrammed the Scaler chip, its no longer needed while power is maintained.

1.thumb.JPG.781a675911c229a1ff3ae11619cb97c0.JPG

 

Of course if powered down and back up without the GBS-PGM board in place, the 8200's Scaler will come up with empty presets and a black screen will be the result.

 

Presently I'm using a female header on the bottom of the GBS-PGM to plug into a male header on the GBS-8200's I2C port. This means the small GBS-PGM board sits high above the 8200 board, and is a bit wobbly because of this. Probably not a reliability issue as far as the re-programming of presets is concerned, but if you don't need the ability to flash the PIC with the JOY2PIC through the ICSP header, it would probably be better to socket the PIC so it can be removed for flashing separately, and then solder the GBS-PGM board directly to the male I2C header of the 8200. This will give it a low profile over the 8200 board, and take out any wobble issues. It would still be re-flashable with a PICkit2-3 using the ICSP header, so still good for doing preset development changes.

 

Also please note that the GBS-PGM can be used on either the GBS-8200 or GBS-8220 boards. Although it is not required for the 1088XLD carrier board version that is still in the works. That board will have the PIC circuit already incorporated.

 

  • Like 5
Link to comment
Share on other sites

This is great news, I can't wait to try out the VBXE with it! 

 

My GBS is an 8220 and it already has a JST header in place, I can live with it sitting a little high on the board :) 

 

@Stephen when my boards arrive do you want me to send you a kit or make it for you? I know the soldering is half the fun!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...