maccasoft / propeller-vt100-terminal

ANSI / VT-100 Terminal emulator for Parallax Propeller microcontroller with VGA and USB support
47 stars 9 forks source link

question on build #2

Open huskeyw opened 5 years ago

huskeyw commented 5 years ago

I built the code changing the pins for the usb keyboard and serial to match the hobytronics board.. I was hoping I could turn that into this card for use on a single board computer. it builds and loads but then the screen goes to sleep.. I dont have a keyboard or even usb header connected..

this is the schematic for there board. not much different from what I can tell. if I am missing something do you mind letting me know. Thank you . PS I have never used a propeller processor before.. so I am guessing..

lines I changed vt100.spin ' ser.StartRxTx(8, 9, 0, 115200) changed for hobytronics ' debug.StartRxTx(31, 30, 0, 115200) changed for hobytronics ser.StartRxTx(30, 31, 0, 115200)

and in USB_FS_HOST.spin

' modified for the Hobytronics serail_VGA from ' DMINUS = 1 ' DPLUS = 0 DMINUS = 3 DPLUS = 4

link to their board

http://www.hobbytronics.co.uk/datasheets/serialvga-schematic-1-0.pdf

konimaru commented 5 years ago

Your monitor shutting down is a bit suspicious. Can it handle 720x400?

maccasoft commented 5 years ago

Aside from the monitor not supporting the resolution, I don't see other problems with that board. I suggest to upload the code without modifications and see if the monitor works (you should see only the cursor at the top-left corner as the screen will be blank at startup). You may also see LED2 flashing while the USB stack attempts to poll the device.

If you want to try the 640x400 resolution, remove the '.nine' word from the vga object line to pick up the old driver:

    'vga    : "waitvid.80x25.nine.driver" ' 720x400
    vga    : "waitvid.80x25.driver" ' 640x400
huskeyw commented 5 years ago

Thank you. Did not expect a fast reply,

Good point, the monitor is an LCD Dell and so it may not like the resolution, with it just going to sleep I figured no sign not thinking comparable .. I dont have an CRT so I'll look at where I make that change.. since I'm new ... I like your other card but the SBC I am working on on my have serial and i2c. Maybe If i learn enough .essing with this i could get the other version to work with i2c .. or maybe I'll add an andrino between. But that .ay be way too slow.

On Thu, Mar 21, 2019, 06:51 Marco Maccaferri notifications@github.com wrote:

Aside from the monitor not supporting the resolution, I don't see other problems with that board. I suggest to upload the code without modifications and see if the monitor works (you should see only the cursor at the top-left corner as the screen will be blank at startup). You may also see LED2 flashing while the USB stack attempts to poll the device.

If you want to try the 640x400 resolution, remove the '.nine' word from the vga object line to pick up the old driver:

'vga    : "waitvid.80x25.nine.driver" ' 720x400
vga    : "waitvid.80x25.driver" ' 640x400

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-475236274, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRpl2Kel3tqbuyVDYJ_FJZJwNd18Dks5vY45igaJpZM4cAvXS .

huskeyw commented 5 years ago

tried with no changes.. .also changed the resolution to use the 640x480, no video seen by the monitor. I reloaded the Hobytronics build and it comes right up. I wonder if the USB needs to see a keyboard or some input (serial did not work not even debug.. )

I wonder if the USB needing an unconnected PIN, and its not in the schematic but if pin 2 is tied to ground, would that mess up the boot?

will probaly order your board for the RC2014 so I can see how its suppose to work, I can send you this card if you want to play with it..

maccasoft commented 5 years ago

The USB stack needs an unconnected pin for its internal syncrhonization, that is P2 defined as USBNC, from the Hobbytronic schematic there is nothing on P2 so that's not a problem. Anyway, that will affect the USB stack only, all other sections are independent. If you open vt100.spin you'll see the startup sequence from line 105, the VGA driver is started at line 126 after the initial setup so you should at least see a blank screen. I haven't asked but are you really sure that the monitor goes to sleep and it isn't just displaying a blank screen right ?

Also, from the debug serial port (the one connected to the prop-plug adapter pm P30/P31) you should see at least the 'USB Started' message, if you see nothing maybe something else is wrong here. If you are using propeller-load try with the following command:

propeller-load -p /dev/ttyUSB0 -e -r -t115200 vt100.binary

It should keep the terminal open and let you see the messages from the debug serial port.

Are you compiling / uploading vt100.spin right ? Not other files. Spin programs are not like other sources, they need a "root" source that calls all others, in this case is vt100.spin. If you attempt to compile and upload other files it won't work.

huskeyw commented 5 years ago

So quick, it turns the monitor off, the power light goes yellow, its green when on.

I am building and uploading will see if I can keep the port open, on the hobbytronics board they reversed serial ports so you can plug a sparkfun or adafruit ftdi in.

Will try, I'll take some pictures. I'm on monitor 4... this one is only VGA

Will put a logic probe on pin to to make sure its open

On Thu, Mar 21, 2019, 10:12 Marco Maccaferri notifications@github.com wrote:

The USB stack needs an unconnected pin for its internal syncrhonization, that is P2 defined as USBNC, from the Hobbytronic schematic there is nothing on P2 so that's not a problem. Anyway, that will affect the USB stack only, all other sections are independent. If you open vt100.spin you'll see the startup sequence from line 105, the VGA driver is started at line 126 after the initial setup so you should at least see a blank screen. I haven't asked but are you really sure that the monitor goes to sleep and it isn't just displaying a blank screen right ?

Also, from the debug serial port (the one connected to the prop-plug adapter pm P30/P31) you should see at least the 'USB Started' message, if you see nothing maybe something else is wrong here. If you are using propeller-load try with the following command:

propeller-load -p /dev/ttyUSB0 -e -r -t115200 vt100.binary

It should keep the terminal open and let you see the messages from the debug serial port.

Are you compiling / uploading vt100.spin right ? Not other files. Spin programs are not like other sources, they need a "root" source that calls all others, in this case is vt100.spin. If you attempt to compile and upload other files it won't work.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-475321270, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRiPdhyyhX0n6eejIwDPnzjWbTWpEks5vY71ggaJpZM4cAvXS .

konimaru commented 5 years ago

What's the exact model/make of the monitor you have?

huskeyw commented 5 years ago

compiled with leaving the port open, D:\propeller-vt100-terminal-master\propeller-vt100-terminal-master>propeller-load -p /com12 -e -r -t115200 vt100.binary Propeller Version 1 on /com12 Loading vt100.binary to EEPROM via hub memory 23644 bytes sent Verifying RAM ... OK Programming EEPROM ... OK Verifying EEPROM ... OK [ Entering terminal mode. Type ESC or Control-C to exit. ] ^C D:\propeller-vt100-terminal-master\propeller-vt100-terminal-master>openspin -b -u vt100.spin Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2018 Parallax Inc. DBA Parallax Semiconductor. Version 1.00.81 Compiled on Apr 27 2018 09:13:30 Compiling... vt100.spin |-usb-fs-host.spin |-com.serial.spin |-com.serial.terminal.spin |-com.serial.spin |-string.integer.spin |-waitvid.80x25.nine.driver.spin |-generic9x16-4font.spin |-i2c.spin |-keymap_it.spin |-keymap_uk.spin |-keymap_us.spin |-keymap_fr.spin |-keymap_de.spin |-keymap_no.spin Done. Unused Method Elimination: 73 methods removed 1 objects removed 1788 bytes saved

Program size is 23644 bytes

D:\propeller-vt100-terminal-master\propeller-vt100-terminal-master>propeller-load -p /com12 -e -r -t115200 vt100.binary Propeller Version 1 on /com12 Loading vt100.binary to EEPROM via hub memory 23644 bytes sent Verifying RAM ... OK Programming EEPROM ... OK Verifying EEPROM ... OK [ Entering terminal mode. Type ESC or Control-C to exit. ]

no output from the serial port..

my monitors dell us2410 dell e151fpb

konimaru commented 5 years ago

re: serial, I noticed you swapped the pins (31/30) in your first post. Was that on purpose?

konimaru commented 5 years ago

Odd, both monitors should be able to handle 720x400@70Hz.

huskeyw commented 5 years ago

It's how the board is wired from hobbytronics.. I did it both ways.. intresting that no matter where I put serial the propeller will let it be reprogramed,

On Fri, Mar 22, 2019, 01:24 Marko Lukat notifications@github.com wrote:

re: serial, I noticed you swapped the pins (31/30) in your first post. Was that on purpose?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-475532372, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRpzoLm9gyOoa9atv8rcS1n6DoITiks5vZJNRgaJpZM4cAvXS .

huskeyw commented 5 years ago

Well, I need to grab the oscope and logic probe.. I added some debug and it does not print that either.. so something on the board is causing it to not boot.. lole I said, I would send you the board and see what you think, you could keep it, I'll get another.

I do appreciate the help, I'll send you one of the mcb2 boards I'm using as well, dont have the cmos z80 but I can throw in the amtel amtel and memory as a thank you

On Fri, Mar 22, 2019, 01:44 Marko Lukat notifications@github.com wrote:

Odd, both monitors should be able to handle 720x400@70Hz.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-475537701, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRvemuuUpeBSgqHkgobUJis4icB0sks5vZJgBgaJpZM4cAvXS .

maccasoft commented 5 years ago

Out of curiosity, I have uploaded the serialVGA firmware to one of my boards and it works, without changes.

If you want to try one last thing, the following is the bare minimun code needed to start the vga driver:

PUB start | temp

    wordfill(@scrn, $41_70, scrn_bcnt)
    cursor.byte[CX] := 0
    cursor.byte[CY] := 0
    cursor.byte{CM} := (cursor.byte{CM} & constant(!CURSOR_MASK)) | CURSOR_ON | constant(CURSOR_ULINE | CURSOR_FLASH)

    link{0} := video | @scrn{0}
    link[1] := font.addr
    link[2] := @cursor
    vga.init(-1, @link{0})

Replace the init method (or rename the existing to init2 and add the above before it, must be the first method in the source), compile and upload. Make sure to keep indentation and the like, spin source depends on indentation like Python, one row not aligned correctly and the program may not work as expected.

konimaru commented 5 years ago

For the record, I just tried the built-in demos for C0DF and NINE on a Dell U2412M (at work) and I do get a perfectly normal VGA image (720x400@70).

h/w is Quickstart with HIB.

huskeyw commented 5 years ago

I am sure it's this board, or something I screwed up. Have not had time to get back to it, thanks for the support

On Mon, Mar 25, 2019, 01:19 Marko Lukat notifications@github.com wrote:

For the record, I just tried the built-in demos for C0DF https://github.com/konimaru/waitvid.2048/tree/master/80x25%20RAM/C0DF/src and NINE https://github.com/konimaru/waitvid.2048/tree/master/80x25%20RAM/NINE/src on a Dell U2412M (at work) and I do get a perfectly normal VGA image (720x400@70).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-476096087, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRqNE7Qs6VH9lI9ZT1ipKWQMV5m4Oks5vaIaSgaJpZM4cAvXS .

konimaru commented 5 years ago

Had a closer look at the schematic last night, is it just me or aren't there any decoupling capacitors at all? No wonder this board freaks out with odd loads.

huskeyw commented 5 years ago

I only see two capacitors on the board.. I took a logic probe and with their code I get lots of activity on the vga pins, but with yours its a all lows.. something on this board is stopping your code from running.. not sure what it is.. but like I said, Ill send you this board if you want to hack on it.. no real reason but curiosity, but the offer is still there.

William "Steve" Huskey Managing Member Dreadnought Brewing LLC

On Tue, Mar 26, 2019 at 12:37 AM Marko Lukat notifications@github.com wrote:

Had a closer look at the schematic last night, is it just me or aren't there any decoupling capacitors at all? No wonder this board freaks out with odd loads.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-476508442, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRgkbPzReXvz1hxgm3fgGy93fZ12cks5vac44gaJpZM4cAvXS .

huskeyw commented 5 years ago

as an added note, I just built your code, no changes, just unzip build and load, and it does not boot the chip.. does propeller have a debugger IDE? Really wasting too much time on this, curiosity on what they did to make it not work with other code..

On Sat, Mar 23, 2019, 05:55 Marco Maccaferri notifications@github.com wrote:

Out of curiosity, I have uploaded the serialVGA firmware to one of my boards and it works, without changes.

If you want to try one last thing, the following is the bare minimun code needed to start the vga driver:

PUB start | temp

wordfill(@scrn, $41_70, scrn_bcnt)
cursor.byte[CX] := 0
cursor.byte[CY] := 0
cursor.byte{CM} := (cursor.byte{CM} & constant(!CURSOR_MASK)) | CURSOR_ON | constant(CURSOR_ULINE | CURSOR_FLASH)

link{0} := video | @scrn{0}
link[1] := font.addr
link[2] := @cursor
vga.init(-1, @link{0})

Replace the init method (or rename the existing to init2 and add the above before it, must be the first method in the source), compile and upload. Make sure to keep indentation and the like, spin source depends on indentation like Python, one row not aligned correctly and the program may not work as expected.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-475867471, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRhZPiZSaMoYTYjqNWHhH4H-AAJ0Aks5vZiQjgaJpZM4cAvXS .

konimaru commented 5 years ago

.. but like I said, Ill send you this board if you want to hack on it.. no real reason but curiosity, but the offer is still there. William "Steve" Huskey Managing Member Dreadnought Brewing LLC

OK, oddly enough I'd like to see this one through :) Do you have an email I can send my details to?

huskeyw commented 5 years ago

William.huskey@gmail.com

On Wed, Mar 27, 2019, 11:22 Marko Lukat notifications@github.com wrote:

.. but like I said, Ill send you this board if you want to hack on it.. no real reason but curiosity, but the offer is still there. William "Steve" Huskey Managing Member Dreadnought Brewing LLC

OK, oddly enough I'd like to see this one through :) Do you have an email I can send my details to?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-477291344, or mute the thread https://github.com/notifications/unsubscribe-auth/AteoRvESZkkD17PIPj8Q4yuciqo_vm9wks5va7bXgaJpZM4cAvXS .

konimaru commented 5 years ago

For the record, I received the offending item and have a look.

konimaru commented 5 years ago

Progress so far (programming done with PropPlug):

huskeyw commented 5 years ago

so once you grounded it that pin it worked?

On Thu, May 9, 2019, 11:52 Marko Lukat notifications@github.com wrote:

Progress so far (programming done with PropPlug):

  • I decided to wire BOE to GND (was floating)
  • anything I could throw at it just worked (specifically video stuff)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-491023476, or mute the thread https://github.com/notifications/unsubscribe-auth/ALL2QRRHC2YF2JTQXO6B4ULPURXFXANCNFSM4HAC6XJA .

konimaru commented 5 years ago

It worked before as well, just programming the chip was a bit hit and miss.

I'm a bit puzzled by this. While I still think they should have added decoupling Cs there seems to be nothing wrong with it otherwise. How exactly did you program this thing (RAM/EEPROM, type of cable)? I recall you saying that the original firmware worked but other stuff did not so it can't really be the way it was programmed ...

cbmeeks commented 5 years ago

I've built many Prop video circuits on breadboards and have only put caps near power pins. But that BOE pin should always be grounded. Perhaps it can sometimes float with no issues but I suggest grounding. If you look at the Propeller reference guide, you will see it's grounded.

Probably an oversight on that hobby board.

huskeyw commented 5 years ago

I used a propeller prop and the command line tool, not sure how I could get that wrong.. but maybe I had something wrong..

my finial goal was to get the your terminal on there as a start, but I wanted to see if I can get your other video card as i2c and use it in a i2c connection to provide a "real" video card for that single board system I sent you.. I am kind of miffed why I could not program it.. while I have never used a propeller before, I had not issue reloading it..

William "Steve" Huskey Managing Member Dreadnought Brewing LLC

On Thu, May 9, 2019 at 12:09 PM Marko Lukat notifications@github.com wrote:

It worked before as well, just programming the chip was a bit hit and miss.

I'm a bit puzzled by this. While I still think they should have added decoupling Cs there seems to be nothing wrong with it otherwise. How exactly did you program this thing (RAM/EEPROM, type of cable)? I recall you saying that the original firmware worked but other stuff did not so it can't really be the way it was programmed ...

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maccasoft/propeller-vt100-terminal/issues/2#issuecomment-491029000, or mute the thread https://github.com/notifications/unsubscribe-auth/ALL2QRQQO7M7IKJ3ME7PGFTPURZFRANCNFSM4HAC6XJA .