Shop OBEX P1 Docs P2 Docs Learn Events
Trash80 going prop - Page 4 — Parallax Forums

Trash80 going prop

124»

Comments

  • pullmollpullmoll Posts: 817
    edited 2010-03-31 06:11
    Version 0.1.5 at the first page.
    Note: I split the commonly used objects into a ./lib directory which is included in the Makefile. If you compile with BST, you will have to add ../lib to the search path for objects (somewhere in the compiler preferences).

    Improved user interface:
    The list of CMD files is loaded into external RAM and sorted alphabetically now.
    The up/down keys to browse the list have an acceleration.
    You can page up/down to quickly go to the other end of the list.

    Many games are working fine now and to hear their sounds again is cool. I even remembered the strange key combinations to play Starfighter with.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    He died at the console of hunger and thirst.
    Next day he was buried. Face down, nine edge first.

    Post Edited (pullmoll) : 3/31/2010 1:09:46 PM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-03-31 13:22
    Re "In one of my previous posts there is a clock.zip file as an attachment. It has the full source for the clock80 program. It would be a good test case to see if that can compile and then generate a cmd file."

    The code looks almost identical to .asm and .mac, but with one difference - jump locations/labels usually have a : after them

    eg

    YOURCODE LD A,5

    vs

    MYCODE: LD A,5

    So I'm not sure which compiler to suggest.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2010-03-31 16:07
    If it is just a matter of adding the colons after the program labels (Some assemblers seem to need them) and a few other structure changes then it shouldn't be a big deal to update the source. Even on the TRS-80 there were a few different conventions used. Some of the data definitions wanted DEFW, DEFB to define a word or byte while others could use the shorted DW and DB. As long as I know which convention to assembler wants it shouldn't be a big deal. As I mentioned before some of the source was too large to be assembled at once and I had to break it up as separate files that were included at assembly time. With a modern cross assembler it could all be brought back together.

    With all the talk about the memory managers using external memory I was wondering if anyone tried to make similar code run on the Hydra with the 512K SRAM card. There are probably quite a few people with Hydra's that would like to put that card to work.

    Robert
  • pullmollpullmoll Posts: 817
    edited 2010-03-31 17:12
    RobotWorkshop said...

    With all the talk about the memory managers using external memory I was wondering if anyone tried to make similar code run on the Hydra with the 512K SRAM card. There are probably quite a few people with Hydra's that would like to put that card to work.

    That anyone would be me. I would need a description of the memory access bits on the ports, or even better yet the code fragments to read or write a byte from/to the SRAM. Then it was just a matter of adding another target to the main Spin code.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    He died at the console of hunger and thirst.
    Next day he was buried. Face down, nine edge first.
  • potatoheadpotatohead Posts: 10,261
    edited 2010-03-31 18:01
    ROBOTRON for TRS80??

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    8x8 color 80 Column NTSC Text Object
    Safety Tip: Life is as good as YOU think it is!
  • pullmollpullmoll Posts: 817
    edited 2010-03-31 18:06
    potatohead said...
    ROBOTRON for TRS80??
    That's not the GDR "staatseigener Betrieb" Robotron, but a game called robotron, written by Robert aka RobotWorkshop.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    He died at the console of hunger and thirst.
    Next day he was buried. Face down, nine edge first.
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2010-04-03 20:35
    Just opened up a set of new Dracblade PCB's today and have started to populate the board. By this evening I should have a good portion together and can make a list of the last few missing parts so I can track those down.

    Robert
  • pullmollpullmoll Posts: 817
    edited 2010-04-03 23:26
    RobotWorkshop said...
    Just opened up a set of new Dracblade PCB's today and have started to populate the board. By this evening I should have a good portion together and can make a list of the last few missing parts so I can track those down.

    Hey, so you can run your old programs soon now. The most recent TRS80 is pretty much ok. The only programs that do not work are those calling non-existant DOS function.
    I'll probably take care of running BASIC programs from the SD card when I get too frustrated with the M100 emulation.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    He died at the console of hunger and thirst.
    Next day he was buried. Face down, nine edge first.
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2010-04-12 15:04
    According to the demo board schematic pins P12, P13, and P14 are used for the TV out.

    P12 - 1.1K ohm
    P13 - 560 ohm
    P14 - 270 ohm

    From the Dracblade schematic it looks like those are wired to P16, P17, and P18. Did you wire out the output for the TV like this?

    P16 - 1.1K ohm
    P17 - 560 ohm
    P18 - 270 ohm

    Also, what are you doing for the Audio out?

    Robert
  • pullmollpullmoll Posts: 817
    edited 2010-04-12 16:08
    RobotWorkshop said...
    According to the demo board schematic pins P12, P13, and P14 are used for the TV out.

    P12 - 1.1K ohm
    P13 - 560 ohm
    P14 - 270 ohm

    From the Dracblade schematic it looks like those are wired to P16, P17, and P18. Did you wire out the output for the TV like this?

    P16 - 1.1K ohm
    P17 - 560 ohm
    P18 - 270 ohm

    Also, what are you doing for the Audio out?

    Robert,
    both settings can be configured in trs80.spin. The default is to use pin 18 for the video out. It's just this one pin, because my code is based off of the 1 pin TV driver. For the audio I used pin 20, which is the first one after the TV pins (19 would be the aural FM, which no one seems to be using), and also used with the VGA output. But as I said, just define the pins you use in trs80.spin and it should work.

    Juergen

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2010-04-12 17:49
    Hello Juergen,

    I can see where that is in the code now and found the notes about the original DebugTV object. If everyone is already using P18 as a video out I just wanted to keep the same convention so we can use the same standard. Looking at the Dracblade schematic it might be better to use P16 for the video and P17 for the audio. With that the VGA connector and resistors can be kept intact so it would be easy to switch between the two displays. The board would just need a jumper between pins 1 and 2 on the 6 pin block next to the TV connector. P18 may not work as well for TV out with the resistor populated for the VGA connector. Just a thought.

    Robert
  • pullmollpullmoll Posts: 817
    edited 2010-04-12 18:24
    RobotWorkshop said...
    Hello Juergen,

    I can see where that is in the code now and found the notes about the original DebugTV object. If everyone is already using P18 as a video out I just wanted to keep the same convention so we can use the same standard. Looking at the Dracblade schematic it might be better to use P16 for the video and P17 for the audio. With that the VGA connector and resistors can be kept intact so it would be easy to switch between the two displays. The board would just need a jumper between pins 1 and 2 on the 6 pin block next to the TV connector. P18 may not work as well for TV out with the resistor populated for the VGA connector. Just a thought.

    Robert

    Well, I can change that. I simply used what I thought without thinking about the implications. I'll change my audio connection to pin 17 then and 16 for the video should work as is. You will have "strange sound" then with a colour TV driver, as I now have with a VGA driver smile.gif
    BTW Chopper hangs with qz80 after starting a game. It looks like there is a new (hidden) bug of the kind "forgot to mask lower 16 bits". :-(

    Edit: It doesn't work if you have the "standard" resistors for pins 16, 17 and 18, which are joined for the TV/FBAS signal. The audio input then pulls the video signal low and I see a black screen. I guess I could open pin 17, but then I can not use a standard TV driver anymore... don't we have any pin that could be (ab-)used for audio? What the EEPROM might think if you toggled its SDA line - without touching the CLK - would be interesting. Alternatively we could also use the second serial port's pin 24 and send the sound to it. What do you think?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects

    Post Edited (pullmoll) : 4/12/2010 7:00:09 PM GMT
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2010-04-13 01:01
    At the moment I don't have any resistors in place specifically for the TV connector. With the 1 wire TV driver it sounds like the 240ohm resistor already coming from P16 should be good to drive monochrome video.

    The board I have is V5 and according to the schematic for this version it looks like pin 16 goes to a 240 ohm resistor then to the VGA connector and to pin 1 of the 6-pin area on the board near the TV connector. By just adding a jumper (a two-pin SIP and jumper plug) it can work with the TV or VGA as long as only one is connected at a time. I don't see any issues with that and it should be easy to switch between the TV or VGA.

    Pin 17 also just goes to a 240 ohm resistor and onto the VGA connector. The audio could use that when the VGA is disconnected. I was just trying to avoid using P18 since that one goes to a resistor which is tied to a resistor coming from P19. At least that is the way it looks. Just trying to figure out what would be the best pins to use.

    I think it would be nice to have a few more pins.... wink.gif

    Robert
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-04-13 01:28
    I'm working on the next board design and I have a question. Would people ever want to switch between TV and VGA on the same board?

    This is a bit complex to explain...

    At present there are 8 resistors for VGA. If you want TV instead of VGA you leave out 4 of those resistors and you can put in 4 different resistors for TV. But once you have soldered those resistors in they are hard to change.

    I don't think you can put in 12 resistors and solder them all in and have sockets for TV or VGA because I think the TV voltage divider will load the VGA. And I think the VGA voltage dividers will load the TV.

    So I think if you want both, there has to be space for 12 resistors, and there has to be a group of 4x2 jumpers for TV and another group of 4x2 jumpers for VGA. Then you add in 4 jumpers depending on which one you want to use (or solder bridges/wires if you only will ever use one or the other). I'll see if that will fit on a board...

    But now we have Cluso's one pin TV signal as well. Which pin does that come from?

    For reference, schematic here www.parallax.com/dl/docs/prod/prop/PropDemoDschem.pdf and I have shifted the TV pins up by 4 so they overlap and share with the VGA

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 4/13/2010 1:33:31 AM GMT
  • pullmollpullmoll Posts: 817
    edited 2010-04-13 01:57
    Dr_Acula said...
    But now we have Cluso's one pin TV signal as well. Which pin does that come from?

    It doesn't really matter. With my FBAS monitor it works with any of the pins usually used for VGA, or even with the parallel installment of TV resistors. It's just the audio out that requires separation, and I think that using the secondary SIO TX pin for this purpose should be the safest choice!?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-04-13 02:43
    Attached is one idea for having both TV and VGA. Is the audio correct on that?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
    842 x 394 - 58K
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2010-04-13 02:55
    You should be able to eliminate the two jumpers for P16 and P17 for the VGA connector. They won't interfere with the TV output as long as a VGA monitor is unplugged. Actually getting a bit creative it should be possible with a single 4 position DIP switch. One would break either p18 or p19 on the VGA and the other three would break three of the leads probably p17, p18, and p19 at the TV connector. Just by flipping switches (or moving jumpers) you could swap between the two.

    Robert
  • pullmollpullmoll Posts: 817
    edited 2010-05-03 12:39
    Just popping this up. The TRS80 now also has a VGA driver. The font isn't perfect, because it is 8x16 instead of 8x15. The latter is impossible with the VGA object as it stands.
    Also new: support for subdirectories on the SD card. You can put your *.CMD files somewhere other than the root directory.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-05-04 00:27
    TRS80 booting up very nicely.

    Have you got some files I can put on the disk, eg some demo games?

    Also, taking up the thread a few posts above re combining VGA and TV on one board.

    I am wondering if you need the links at all. Consider, from the point of view of propeller pin P16. This is driven high or low by the propeller. So if it goes via two resistors to, say, propeller pin P17, propeller P16 is still either high or low. I'm not sure what the source impedence is for a propeller pin, but I suspect they can easily drive 20mA or more. If you model that as an ideal voltage source in series with an internal resistance, V=IR 3/0.02 gives a value of the internal resistance of 150 ohms. So ok, there might be some slight extra loading for the lower value resistors, eg R9 and R10 in series, or R17 and R18 in series. However, I don't think this is going to change the colors significantly.

    I'm working my way through trying to get an emulator working www.discover-net.net/~dmkeil/trs80/model1.htm - it is a bit complicated and I have some of it working but quite there yet.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 5/4/2010 12:57:44 AM GMT
    506 x 485 - 35K
  • pullmollpullmoll Posts: 817
    edited 2010-05-04 03:31
    Bugfix for the FAT32 support, which was broken due to a wrong comparison in the mount function.
    Also fixed the character code < $20 issue. The TRS80 had a bit missing in the video RAM and would thus display character codes below $20 as upper case letters. The VGA display object now accounts for this by modifying the bytes read from video RAM.

    Edit: attached are some CMD files to try.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects

    Post Edited (pullmoll) : 5/4/2010 4:56:21 AM GMT
  • pullmollpullmoll Posts: 817
    edited 2010-05-04 04:59
    Dr_Acula said...
    Attached is one idea for having both TV and VGA. Is the audio correct on that?

    I haven't seen any code that makes use of the "aural subcarrier" in TV mode. Most objects are meant for a monitor, not actually a TV AFAIK. A monitor does not demodulate the RF frequency of an audio channel mixed in, but may have an extra sound output. Thus pin 19 will rarely be used.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects
  • potatoheadpotatohead Posts: 10,261
    edited 2010-05-04 05:07
    I think I saw that used in a demo program early on. Nobody has touched it since.

    IMHO, if it's not connected, or used as some other I/O, that's not going to significantly impact TV. If it is connected, as shown in the reference video circuit, the audio capability can be ignored, and the extra pin used for better color graphics. Eric Ball did this. No other driver to date does.

    Finally, if it's connected with that resistor shown in the reference video circuit diagram, but not connected to the DAC, most any TV driver can be modified to send the chroma on that pin, making an S-video connection possible.

    I personally have been considering a different resistor for more grey scales... no code written yet, just wanted to toss that idea out there.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    8x8 color 80 Column NTSC Text Object
    Safety Tip: Life is as good as YOU think it is!
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-05-04 06:15
    That is an interesting idea potatohead. More pins = more resolution. Obviously the R/2R/4R thing cannot be extended forever on the TV pin, but it should be possible to extend it a bit further. Then again, pullmoll is only using a 1 pin TV object. Is there a reason for that - lack of buffer space in hub ram for storing a color palatte, lack of code space for color objects?

    So is it safe to say that no-one uses the audio out part of the 4 TV resistors? If so, I might remove that resistor. Though it depends a bit on whether we use potatohead's idea of better resolution of color.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • pullmollpullmoll Posts: 817
    edited 2010-05-04 06:34
    I used the 1pin TV object for lack of a understandable "full" TV object, and because monochrome is sufficient for the emulations I wrote.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-05-04 08:50
    Could the TV out, from the commoned resistors, be shorted to ground by having one of the ground connections of the 15 pin lifted at the Prop end ie pin 6. Then when a VGA was plugged in the interactions of the composite resistors would get nulled, as most leads do not separate out the shield paths.

    The fourth resister ( R17 on the diagram) on the composite set is only required is the audio subcarrier is wanted.

    A pair of shorting plug would do no harm, just that they would be a nuisence, and probably lost.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • pullmollpullmoll Posts: 817
    edited 2010-05-04 09:06
    Looking at the schematics, it wouldn't really need R17. Thus the connection between R17 and R18 wasn't required either. Now R19 and R22 sit on the pins 17 and 16, which are the hsync and vsync of VGA and they are not connected to each other. I should try if the VGA sync signals also work with 560 and 1k1 (which I think), then all you need was a dual switch to connect R11 and R12 to and output the switches center pins to R18 and to the RCA jack.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects

    Post Edited (pullmoll) : 5/4/2010 9:18:40 AM GMT
    894 x 381 - 2K
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-05-04 09:26
    The sync impedance for VGA is about 1K (usually) and often just an unshielded wire, so that thought about higher value resistors, would probably be ok as long as the VGA lead isn't too long and/or capacitive

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point

    Post Edited (Toby Seckshund) : 5/4/2010 9:31:31 AM GMT
  • pullmollpullmoll Posts: 817
    edited 2010-06-05 06:50
    Updated version 0.2.7 detects Ctrl+Alt+Delete on the PS/2 keyboard and resets the Propeller. Also lowered sound (cassette out) volume to 0.46V and 0.85V of 3.3V. This compares better to the volume of the AY-3-891x emulation.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pullmoll's Propeller Projects
Sign In or Register to comment.