Shop OBEX P1 Docs P2 Docs Learn Events
TV_Text now with 40x30 Display — Parallax Forums

TV_Text now with 40x30 Display

BaggersBaggers Posts: 3,019
edited 2010-11-05 19:12 in Propeller 1
Hi All,

Here's my quick modification of Parallax's TV_Text_Demo ( and TV_Text and TV ) which·or's two alternate scanlines data to half the font height, so you can display more text on screen.
in this demo ( it's set to 6Mhz clock and pin group·24 for TV but that's changeable obviously [noparse]:)[/noparse] ) it sets a display up of 40 Columns x 30 Rows, in NTSC, in Interlaced mode. so screen res is 640x480.

Just to let you know I've posted it in the OBEX

http://obex.parallax.com/objects/452/

Enjoy.

Baggers.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
800 x 600 - 640K

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2009-05-02 21:39
    That looks nice!

    -Phil
  • BaggersBaggers Posts: 3,019
    edited 2009-05-02 22:33
    Cheers Phil [noparse]:)[/noparse]
    yeah, it looks better on the real thing, although I've never really been "happy" with interlaced mode, but for 16x16 font 640x480 it looks great [noparse];)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • RaymanRayman Posts: 14,889
    edited 2009-05-03 00:35
    Looks great!
  • KPRKPR Posts: 189
    edited 2009-05-03 01:40
    What about colour?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New ICON coming, gotta wait for the INK to heal, now we have colour!
  • Ole Man EarlOle Man Earl Posts: 262
    edited 2009-05-03 03:50
    Looks GREAT on my AutoPilot S/W
    Thanks!
  • BaggersBaggers Posts: 3,019
    edited 2009-05-03 09:52
    Cheers guys [noparse]:)[/noparse]

    KPR, it works with colour too, it's practically a direct copy of TV.spin and TV_Text.spin but with a few minor changes, see attached pic.

    Ole Man Earl, glad you like it·with your AutoPilot S/W [noparse]:D[/noparse]·after all, it's there to be used!!

    Baggers

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
    800 x 600 - 608K
  • ColeyColey Posts: 1,112
    edited 2009-05-03 10:41
    Hey Baggers,

    just been playing around with this and managed to get usable 50x32 in PAL mode yeah.gif

    Coley

    attachment.php?attachmentid=60597

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PropGFX - The home of the Hybrid Development System and PropGFX Lite
    972 x 648 - 450K
  • BaggersBaggers Posts: 3,019
    edited 2009-05-03 11:39
    Thanks Coley, yeah, the most I got before my display started to judder was 54x35 in PAL and 44x30 in NTSC.
    If any others want to get >40x30 you need to change MAXCOLS and MAXROWS in TV_Text_Half_Height.spin [noparse];)[/noparse]

    I've also made a few additions [noparse]:)[/noparse]

    You now start it with

    · text.start(pingroup,palntsc,interlaced,width,height)

    you can also do

    · text.ink(pen)

    to save doing out($0c) and out(pen) pen colour being any from 0-7

    I've also added

    · text.inkblock(x,y,w,h,pen)

    which will leave the text intact, but change the colour of the block ( there's no size checks, so don't do crazy numbers or it'll·overwrite other buffers or code etc )



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite



    Post Edited (Baggers) : 5/3/2009 11:48:19 AM GMT
  • RossHRossH Posts: 5,520
    edited 2009-05-04 00:11
    Great work Baggers.

    I'll include this in the next release of Catalina. That release will allow C programs to run from external RAM on the Hydra, but I was really suffering from the lack of a reasnable resolution text display. The Hydra Xtreme RAM card uses the same I/O pins as the VGA output, so I have no alternative but to use the TV output while running XMM programs. After getting used to 125x64 it's hard going all the way back to 32 x 16!

    Being able to use 40x30 (maybe even 50x32) will be a great improvement.

    Keep it up!

    Ross.
  • BaggersBaggers Posts: 3,019
    edited 2009-05-04 10:28
    Thanks Ross [noparse]:)[/noparse]

    The more it gets used the better!

    Baggers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • b.p.m.b.p.m. Posts: 59
    edited 2009-05-05 18:34
    uh... what's the password for the zip file?
    or... what do i change in the Demo program to
    set it for Demoboard operation?

    thanks blake

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "Can't sleep, clown will eat me."
    Bart Simpson
  • BaggersBaggers Posts: 3,019
    edited 2009-05-05 18:42
    blake,

    There isn't a password for the zip fle.

    To set it to demo board operation in TV_Text_Half_Height_Demo.spin
    Change
    _xinfreq = 6_000_000
    to
    _xinfreq = 5_000_000

    I can't remember off-hand the pin group for TV on the demoboard, I'm assuming 12.
    If so, then change
    text.start(24,0,1,40,30)
    to
    text.start(12,0,1,40,30)

    let me know if this works, ( or doesn't! ) [noparse]:D[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • b.p.m.b.p.m. Posts: 59
    edited 2009-05-05 20:06
    thanks baggers,
    i tried your demo program on my Demoboard with
    the modifications you suggested and it worked
    perfectly; even on my 5" B/W crt monitor (i got it
    for 2 bucks at a church bazaar, what the hey, it
    saves me from disconnecting my TV from everything
    and moving it to my work table every time i want to
    test something). i think i'll try it with Propdos and
    any other text based video programs i've downloaded.

    thanks for the quick reply,
    blake

    p.s. for some reason the zip package i downloaded from
    the thread requested a password when i tried to extract
    the files (never seen that before). so i tried the download
    from the Obex and no password hassles.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "Can't sleep, clown will eat me."
    Bart Simpson
  • BaggersBaggers Posts: 3,019
    edited 2009-05-05 22:38
    weird, and thanks for the tip on passwords, I'll probably upload it again tomorrow [noparse]:)[/noparse]
    glad it worked out for you, especially on the 5" monitor [noparse]:)[/noparse]

    Enjoy.

    Baggers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • jazzedjazzed Posts: 11,803
    edited 2010-11-05 12:49
    @Baggers,

    what's the easiest way to adjust the screen vertical start position in the driver? My monitor does not have a vertical position adjustment and the only way I can see the top line for now is by reducing the number of rows displayed.

    Thanks in advance.
    --Steve
  • BaggersBaggers Posts: 3,019
    edited 2010-11-05 14:09
    jazzed wrote: »
    @Baggers,

    what's the easiest way to adjust the screen vertical start position in the driver? My monitor does not have a vertical position adjustment and the only way I can see the top line for now is by reducing the number of rows displayed.

    Thanks in advance.
    --Steve

    Jazzed, the easiest way to adjust the screen vertical start position in the driver is to modify TV_Half_Height.spin

    near the top in the CON section add
    ' Set this value to the offset you want to move the display up/down
    ' Don't use negative number, as you set it's direction later in the PASM code.
    ' If the display stops fails to sync anymore then this value is too high
    ' for the res settings you're trying to use, you may have to reduce the Row count by 1. 
      VBOFF = 1
    

    then on line ~99 should be
                            mov     x,vb                    'do visible back porch lines
                            call    #blank_lines
    
    change to
                            mov     x,vb            'do visible back porch lines
                            add     x,#VBOFF    ' use ADD to move it down, or SUB to move it up
                            call    #blank_lines
    

    then at line ~150 should be
                            mov     x,vf
            if_nz_and_c     add     x,#1
                            call    #blank_lines
    
    change to
                            mov     x,vf
                            SUB     x,#VBOFF        ' use the opposite of what you used above
            if_nz_and_c     add     x,#1
                            call    #blank_lines
    

    Hope this helps :D

    Cheers,
    Baggers.
  • jazzedjazzed Posts: 11,803
    edited 2010-11-05 19:12
    @Baggers.

    Thanks. That allows me to move the vertical offset with some limits.

    For example, I can use 28 rows with VBOFF < 9 (which is better than I had), 29 rows with VBOFF < 6 for example. Larger VBOFF values won't allow printing text but the background is fine. Same goes for 30 rows with any VBOFF value - as you predicted.

    I'm happy with 28 adjustable rows :)
Sign In or Register to comment.