Quantcast
Channel: Propeller 1 — Parallax Forums
Viewing all 2835 articles
Browse latest View live

40 X 24 Color TV

$
0
0
Has anyone got an updated spin program that would have the ability foreground and background color that is 40 x 24 with programmable font table.

I also need cursor flashing without affecting the screen buffer.

I have looked at the Ai-Generic and tv_wtext which are superb pieces of software engineering but don't have the solution I'm looking for.

(Forgive me but I am very new to propeller programming.)

Regards

Con

Display drivers query for prop-1 from struggling newbie

$
0
0
Hello,

I'm a newbie to the propeller and spin coding (which is frustrating as it seems to be an absolutely brilliant idea I should have been playing with years ago). I've got a C3 propeller board and have the led flash working and some of the demos, but am struggling to find a suitable vga or PAL display driver. There seems to be a ton of material on ntsc tv/audio for games as well as vga demos, but I was hoping to find either
1. simple vga demo (using only one cog) with at least 2 font sizes and bitmap methods. 6 or 8 bit colour more than enough. The c3 unit test code works but Im not sure how to adjust the font size.

or alternatively
2. version of the ntsc driver for PAL
What Im trying to achieve is a basic user interface using standard monitor with text and graphics. I wanted to get some basic text/images up on a display afterwhich I wanted to try sound and keyboard interface.
Q1 - can anyone point me to an ntsc game port for vga?
Q2 - can anyone point me to a c3 unit test with scalable fonts for vga?
Thanks in advance for any help comments or advice at all.
Regards,
Jean

I am a raw newbie to the Propeller!

$
0
0
Hello all,
. . . . The Propeller is completely new territory for me. I have done a lot of BASIC programming and I have a working knowledge of C. I have also done some ASM on various processors including the PICs. Most of the time I used C to program PICs. I also have a Parallax BASIC Stamp BOE-BOT.
. . . . I am with a group of people that are building S-100 based computers. They are designing and building new boards for the S-100 buss. After decades of putting off but following the S-100 I have decided to build a S-100 computer. I have built a Propeller based Console and IO board. It is able to read a PC style keyboard and output to a SVGA monitor. My difficulty right now is that I don't have a CPU board.
. . . . My Propeller board is up and working to a certain extent. I have a flashing cursor on the monitor and I receive a Key Scan Code when I press a key. Any other key presses are ignored. Here is the problem. Since there is no CPU the data that is placed on the S-100 buss can't be read and routed to the monitor. I would like to place a loop in the existing code to read the Scan Code, look up the proper Key code, place the Character on the Monitor, display the Key Code on the Hexidecimal output LEDs, and prepare to receive the next key press.
. . . . I don't know how to do any of this. I am studying but I didn't write any of the .spin code for the propeller. The code was written by our S-100 GURU. At this point I don't even know where to place the code to do this. I have uploaded the code that does all of this. Could I please get help with this?
Thanks,
rich!

SimpleIDE 1.1.0 On Linux.... almost :(

$
0
0
I'm really close I think! (I hope). I have re-written the Linux packaging script in Python and it seems to be working great. It builds a package just like the old 1.0.0 release. Supertastic. From that package, SimpleIDE installs and runs great! Unfortunately... the programs coming out of SimpleIDE don't run so well, and I don't know why.

Trying to run the Welcome program results in a successful program of the Propeller (according to proploader anyway) but no text is shown in SimpleIDE's terminal. I tried running the same thing from the command line and got the same results: proploader reports a successful transfer of the app, but then fails to print anything back.

I'd love to hear if anyone has suggestions or wants to give it a try for themselves. You can download the package from TeamCity here and view my pull request on GitHub here, where I've also brought up this issue.

Displaying NxM pixel tiles when not divisible by tile scanline height

$
0
0
My VGA driver is outputting at a resolution of 640x480 @ 60 Hz.

But the image data being displayed is actually (supposed to be) a 10x12 tile map, with each tile being 16x16 pixels for an image resolution of 160x192.

I accomplish this upscaling from 160x192 to 640x480 in the standard way by changing vscl to hold horizontal pixels for 64 screen pixels, and by displaying 40 horizontal lines per tile.

However, with 16x16 tiles, that means each 16-pixel scan line of a tile maps to 40/16=2.5 lines of the frame.

If I change the number of tiles to a number such that (480/num_tiles)%16=0, then there's no issue. For example, @ 15 vertical tiles, each tile is 480/15=32 scan lines tall, so for each 16-pixel row of a tiled image, I just hold it for 2 scan lines for 16*2=32 scan lines.

I'm following along in the the HYDRA manual and the discussion explicitly mentions a 640x480 video resolution @ 10x12 tiles, but it never discusses how one renders 16 vertical lines worth of tile in 480/12=40 scan lines.

Issue with Ping driver?

$
0
0
Code for robot waits for ping reading to be less than 12 inches and then do something.

But, a loop that only calls ping driver does not work...
repeat
    j:=ping.Inches(PING_Pin)
    if j<12
       (do something)

The Ping LED doesn't even turn on if you do this...

Adding a delay to the loop seems to fix the issue.

Maybe that's a "feature", but I'm tempted to call that a bug...

Counter A PLL/Video Generator Documentation

$
0
0
Hey all! As part of my project I'm inadvertently creating thorough documentation of some of the Propeller 1's subsystems in the process of designing things from scratch.

I just finished this spiel on setting up the Counter A module in PLL mode as well as the Video Generator in VGA mode to generate a VGA signal.

Any questions, comments, concerns, or corrections are appreciated. Really tried to iron out implementation specifics and nuances that I became hung-up on during development of my own VGA driver. Thanks!

Propeller Powered Movie & Live Show Prop

$
0
0
This gorgeous prop -- which is powered by the Propeller, of course -- was built by my friend, Matt Hawkins (www.likeform.com) for Midnight Syndicate (www.midnightsyndicate.com). It uses an EFX-TEK HC-8+ as the controller with a SEETRON 4x20 OLED dsiplay (on front), NeoPixel strips for the tower, and a bunch of my drivers that Matt knitted together. There are a variety of switches an pots on the front that change the behavior. The production wanted the device to look "home built" and Matt did an excellent job of that, going so far as to use old-school Dymo labels for the switch and pot markings.

After the film was shot we added a remote control for the live show. The remote is an XBee radio, batteries, a pot, and a button. The Propeller uses the internal XBee to do a remote AT command to read the pot and button from the remote XBee -- works really well and kept the remote unit very small.

22904785_1511137292305584_7751452904195678638_o.jpg?oh=4fd42bdc85e716306e2d96755adfd8ba&oe=5AA6D5BA

cogstop and port settings

$
0
0
What happens to port settings (DIRA and OUTA) when a cog gets stopped with cogstop? Will they get reset?

I could test this myself, of course, but perhaps somebody has already done this.

I have one cog running doing time critical I/O and another giving it instructions and watching that these get executed in time. If there is a problem talking to the attached device i just kill that cog and restart the task with cognew. Can it happen that the port setting of the stopped cog get stuck where they were at the time it got killed. cognew could select another cog and this would eventually be disturbed because the old cog has some port set to output and high.
If this is the case I will have to take care to start the same cog again.

Help with "OS" for Prop? PropDOS? File transfers?

$
0
0
I have googled a bit but there are so many options... I'm looking for something like PropDOS with file transfer and console redirection capability. Essentially.. I'd like to have the prop using BlueTooth linked a PC with the ability to upload/download (YMODEM, for example) files and run those programs on the remote prop. Storage would use an SD card. I don't mean this as an OS in the true sense of the word, just a front-end for remote operations to a connected prop.

Does something like this exist already? Also is PropDOS still an active project? The website has a last modified date of 2008 and the link is broken.

Thanks, for any help.

Programming the propeller chip TTL to USB

$
0
0
I'm trying to use an arduino Uno as a TTL to usb device to program the propeller chip and I am having trouble understanding the DTR to reset role on the propeller chip. Is it as simple as putting the Arduino MEGA 328 chip into a reset (jumper wire from GND to Reset). Then connecting the propeller chip to the arduino RX/TX lines…making sure to use a voltage divide on the TX line. The DTR line seems to be available at the ICP1 port 4 on the arduino. Then I would connect that port to the reset of the propeller with 1M pulldown. Would that work? I’m guessing the Arduino would show up as a COM port in the propeller IDE

Emulators: CPUs Z80 8080 6809 6502; Micros Altair ZX81 Atari Apple; Terminals V

$
0
0
This is an index of threads containing discussion about·emulations:
· * Microprocessors (8080, Z80, 6800, 6805, 6502, 6809, etc)
· * Microcomputers (MITs Altair, Sinclair Spectrum, Commodore C64, etc)
· * Terminals (VT52, VT100, dumb, etc) using TV/VGA/Keyboard/Serial objects or similar
· * PCBs with multiple propellers (designed for emulations, etc)

Emulators:

ZiCog (Z80 & 8080) and CP/M
· ZiCog a Zilog Z80 and Intel 8080 emulator in 1 Cog
··· http://forums.parallax.com/showthread.php?p=788511
· Z80 emulator object in 4 COGS. !!! PROJECT CANCELLED !!!
··· http://forums.parallax.com/showthread.php?p=780119
· ZiCog & CPM running on the TriBlade hardware - a lot of·discussion here
··· http://forums.parallax.com/showthread.php?p=786418

PropAltair··········
· An emulation of the Altair 8080 microcomputer using CP/M·in the mid 1970's
· · http://forums.parallax.com/showthread.php?p=711157
· An emulation of the Altair 8080 microcomputer using·Basic·in the mid 1970's
·· ·http://forums.parallax.com/showthread.php?p=776749

ZX81 (Sinclair)
· An emulation of the ZX81 on Hydra (work in progress)
··· http://forums.parallax.com/showthread.php?p=700236

MoCog (6809)
· MoCog - A Motorola 6809
··· http://forums.parallax.com/showthread.php?p=811043

6502 core
· First steps toward a 6502 core
··· http://forums.parallax.com/showthread.php?p=846492

Atari
· Atari 2600 emu ramblings thread
··· http://forums.parallax.com/showthread.php?p=767703

Zog
· A ZPU VM emulation. Emulator or not, it's here...
··· http://forums.parallax.com/showthread.php?p=878273

Javelin JVM
· A·Java VM emulation. Emulator or not, it's here too...
··· http://forums.parallax.com/showthread.php?p=784478

Terminal Emulations:

PropCOMM
· Contains a VT100 standalone VGA and Keyboard terminal.
· Also contains extensions to run PropDOS from an SD card.
·· ·http://forums.parallax.com/showthread.php?p=772078

Propeller OS (Operating Systems), etc:

PropDos
· DOS for your propeller
· · http://www.orrtech.us/propdos/

PropCmd
· An extension of PropDos
··· http://obex.parallax.com/objects/440/

Sphinx & SphinxOS
· A Dos & CPM like OS with capability of compiling Spin & Pasm on the propeller
··· http://forums.parallax.com/showthread.php?p=819353

Editor (for the Prop)
· A simple text editor
··· http://forums.parallax.com/showthread.php?p=790443

Bootloader
· A minimal EEPROM·bootloader for Propeller OS'es and Emulations
··· http://forums.parallax.com/showthread.php?p=911849

Hardware (for emulators):

More memory
· Adding 512Kx8 or 128Kx8 external SRAM to the Prop (for emulations, etc)
··· http://forums.parallax.com/showthread.php?p=778728

RamBlade
· A miniature SMT pcb designed to run emulations fast:
· * Propeller overclocked to 104MHz
· * 512KB SRAM 55ns (no latching)
· * microSD
· * Can run standalone with keyboard and B&W TV, or link to another propeller for extra I/O functions
·· http://forums.parallax.com/showthread.php?p=849265

TriBladeProp - A new 3 propeller pcb
· A pcb designed to:
· * be an SBC (Single Board Computer)
· * run emulators with SRAM (can be stacked/joined for more props)
· * other multi-prop applications
· The three props (Blades) are:
· *·one prop designed for I/O
· *·one prop for workhorse with fast SRAM (2x 512KBytes/2MBytes) + Flash (1-8MBytes) + microSD socket
· *·and one with VGA/TV/Keyboard/Mouse and latched·SRAM (512KByets)
· * plus power regulators and a PropPlug equivalent
· *·all on one pcb
··· http://forums.parallax.com/showthread.php?p=786418
· MultiBladeProp website: http://www.bluemagic.biz/cluso.htm

DracBlade
· A T/Hole pcb using a single propeller and latched SRAM for running emulations (various revisions)
··· http://forums.parallax.com/showthread.php?p=860453

SixBladeProp - A new 6 propeller pcb
· A pcb designed to run emulators with SRAM (now use 2 or more stacked/joined x TriBladeProps)
··· http://forums.parallax.com/showthread.php?p=780033

Morpheus
Bill - I need·a description and a link(s). Also VMcog etc.

Spin Studio
· Boards to run PropDos and more
··· http://www.orrtech.us/propdos/·

PropGFX
· A prop game development platform
··· http://forums.parallax.com/showthread.php?p=707247
· · website: www.propgfx.co.uk
·
HYDRA System & Propeller Game
· Propeller board system
· http://forums.parallax.com/forums/default.aspx?f=33

Languages (other than Spin & Pasm):

ICC
Catalina
FemtoBasic
PropBasic
Forth
Javelin (Java)
I need some input and links for these and others...


Please feel free to add to this thread with a title,·brief description and link.·

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:

· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz

Post Edited (Cluso99) : 6/6/2010 6:50:32 AM GMT

PROPELLER COLOR BASIC (was VGABASIC)

$
0
0
PROPELLER COLOR BASIC V2 - (A major fork off FemtoBASIC)

Final home for updates. (This project is nearing completion.)
https://www.dropbox.com/sh/qwhixzvtlrvp1u1/y-JshwklWj/PropellerBASIC

Hardware Requirements:
Demoboard or Propellerpowered VGA+ -:- VGA, Keyboard, & Audio (optional SD & Wii Classic Controller)


Attachment not found.

This software would not have been possible without help and contributions from:
  • Mike Green (FemtoBASIC)
  • Tomas Rokicki (FemtoBASIC, & FSWR)
  • Marko Lukat (Despair & Hope VGA driver)
  • Pat Daderko (Wii Controller driver)
  • Johannes Ahlebrand (TinySynth)
  • Michael Park (Edit)

A complete list of commands is being generated, but some hightlights include:
PLOT, NOTEON, NOTEOFF, REDEFINE.

Advanced: Copy the BASIC.BIN and BASEDIT.BIN to your SD card and
use F1 to jump from BASIC to a full screen editor.

Try this code with it...
10 COLOR 111,0
20 CLS
30 A=RND(100)
40 B=RND(75)
50 C=RND(250)
60 PLOT A,B,C
70 GOTO 30

..more to come..

OBC

Weird issue with openspin preprocessor

$
0
0
Hi,

I'm facing a weird issue when using the preprocessor directives with openspin, I don't understand if it is a bug or I'm missing something, hope someone can help.

The following sample code:
CON

    _XINFREQ = 5_000_000
    _CLKMODE = XTAL1 + PLL16X

OBJ

    debug  : "com.serial.terminal"

PUB start | temp

   debug.start(115200)

#ifdef MODE1
    aaa
#else
    bbb
#endif

    waitcnt(CNT + CLKFREQ)

Fails to properly compile the preprocessor directive, no matter how I define it on the command line, it always fails on the bbb statement (should fail on the aaa statement)
openspin -b -u -DMODE1 preproc.spin 
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.80 Compiled on Nov  4 2017 20:31:52
Compiling...
preproc.spin
preproc.spin(18:5) : error : Expected an instruction or variable
Line:
    bbb
Offending Item: bbb

However if I remove the OBJ section, the compiler works as expected:
CON

    _XINFREQ = 5_000_000
    _CLKMODE = XTAL1 + PLL16X

PUB start | temp

   'debug.start(115200)
   waitcnt(CNT + CLKFREQ)

#ifdef MODE1
    aaa
#else
    bbb
#endif

    waitcnt(CNT + CLKFREQ)


openspin -b -u -DMODE1 preproc.spin 
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.80 Compiled on Nov  4 2017 20:31:52
Compiling...
preproc.spin
preproc.spin(12:5) : error : Expected an instruction or variable
Line:
    aaa
Offending Item: aaa

Hope I'm not missing something obvious.
Any hint ?

COYOTE-1 Guitar Pedal

$
0
0
Does anyone have one of these they are willing to sell? I was always interested in this but by the time I inquired about it it was no longer available. It's based on the Propeller.

Potatohead DEMO_Potato_Text_RC2

$
0
0
Hi,

I'm using Potatohead's DEMO_Potato_Text spin for my 6502 SBC computer but i am having issues. It looks like the screen is not holding vertical sync correctly.

I was wondering if you can tell me me where I could get a copy of the DEMO_Potato_Text_RC2.zip file as I can't see it anywherein the forum.

Regards Con

An Observation

$
0
0
I have a Propeller Controller running a system and displaying system data on the computer screen via the USB standard Parallax interface to the controller. The system has operated perfectly for months then the propeller stopped.

I had all the Internet programs and automatic programs removed from the controlling laptop computer so that it was just a basic control computer. However, I noticed the computer clock changed from Day-light time to Standard time and I noticed the propeller interface hung up.

Has this observation been reported before?

Also, how can I stop the computer from automatically changing the clock time?

Discovery

Iteratively assigning cog variables from Main RAM

$
0
0
How's it going everyone?

I've finished my VGA driver which is able to output a 640x480 VGA signal @ 60 Hz, compatible with both 8x8 and 16x16 tiles. In order to support this flexibility (as well as the ability to define custom screen tile dimensions and memory tile map dimensions) I calculate a fair number of attributes in the hub which are then passed to the VGA driver cog. Right now, I'm setting these internal registers in the following way (the full code can be viewed here):
' Initialize frame attributes
        mov             csl,    #0              ' Initialize upscale tracking register
        mov             attptr, par             ' Set attribute pointer        
        add             attptr, #4              ' Iterate through attributes and set external to internal equivalents        
        rdlong          vTilesH,attptr
        mov             numTL,  vTilesH
        add             attptr, #4
        rdlong          vTilesV,attptr
        mov             numTF,  vTilesV
        add             attptr, #4
        rdlong          tSizeH,attptr
        add             attptr, #4
        rdlong          tSizeV,attptr
        add             attptr, #4
        rdlong          tMapSizeH,attptr
        add             attptr, #4
        rdlong          tMapSizeV,attptr
        add             attptr, #4
        rdlong          tMemSizeH,attptr
        add             attptr, #4
        rdlong          tSize,attptr
        add             attptr, #4
        rdlong          tOffset,attptr
        add             attptr, #4
        rdlong          vLineSize,attptr
        add             attptr, #4
        rdlong          tMapLineSize,attptr
        add             attptr, #4
        rdlong          tlslRatio,attptr
        mov             slr,    tlslRatio
        sub             slr,    #1
        add             attptr, #4
        rdlong          lPerTile,attptr
        mov             numLT,  lPerTile
        add             attptr, #4
        rdlong          cPerFrame,attptr
        add             attptr, #4
        rdlong          cPerPixel,attptr
        add             attptr, #4
        rdlong          vSclVal,attptr

As you can see, this is hideous and it seems to me that it MUST be excessively explicit.

Is there a way to iteratively (i.e. using a loop) set internal cog registers? Thank you!

phase relationship between PLLA and Pixels

$
0
0
Was just thinking, suppose I setup the video generator and execute a waitvid to feed it a pixel and color data that makes it alternate every pixel. (1010101010...1010) Now suppose I have setup the PLL to output on a pin. If I put both on an oscilloscope how much phase difference will I see between them due to the differing propagation times of the various parts.

Question on ORG and PASM

$
0
0
I see this a lot in PASM code:
org 0
blah....
blah....
blah...

org 0
blah...
blah...
blah...

Basically, setting the code to start at address 0 (org 0) but then, later on...doing it again.

So, what is the purpose of that? I assume it's for space optimization or something like that.

Thanks.
Viewing all 2835 articles
Browse latest View live