Re: [M100] Serial IO from BASIC

2018-10-30 Thread Peter Vollan
Thank you. Could you point me to where I could find this
documentation? FYI my LD player does not use IR, only a wired remote.
On Mon, 29 Oct 2018 at 20:19, Scott Lawrence  wrote:
>
> okay some responses now that i'm in front of this setup:
>
> Peter Vollan:
> - The laserdisc player docs are online, which includes wiring pinouts for the 
> DB15 on the back.  For this one, It's got TTL and "standard 12v" serial pins 
> on it. I've not gotten the TTL interface to work, but the RS-232 12v level 
> works great.  The pins you need to care about are: 1. GND,  2: TX (output 
> from LD Player)  3: RX (input to LD Player).  It talks at 4800 baud, 8N1.  
> Check the docs for your 4200 to make sure the pinout is the same.   The 
> protocol is simple ascii text terminated with a , as are responses.
> - Pioneer Laserdisc players all use the same IR protocol, so you can buy just 
> about any remote to use for it.  I've seen them on ebay this past week for 
> $10 shipped.  You can get a wired remote or barcode reader (probably), but 
> it's not necessary.
>
> Brian White:
> Awesome!  I've got a few extra Pro Micros kicking around (32u4/Leonardo)... 
> I'll have to try that!  Thanks!
>
> Bob Pigford:
> MAXFILES is already set at 10 BUT!! not in the program runtime! I didn't 
> know there was a difference..
>
> John Hogerhuis:
> Understand about the buffer size concern, but the most this is ever receiving 
> is about 16 bytes per response, so it's not really an issue for me. :)
>
> Greg  Swallow:
> I tried that, I get BN Error on the line where I try to open it.. wait a 
> sec...
>
> Josh Malone:
> Understood, but
>
> OK!  I think I got it!  Thank you all for the help!  :D
>
> It was a combination of a few issues.
> - I forgot how INPUT works (the correct usage)
> - I didn't know about the LINE INPUT command
> - I didn't know i'd need to open INPUT and OUTPUT as two files
> - MAXFILES is a thing.
>
> For the record, the working program is here: (Note: transcribed)
>
> 10 REM Send some commands to a Pioneer LD Player
> 20 GOSUB 300
> 30 TX$="255RB":GOSUB 200 : REM disable squelch
> 40 TX$="PL":GOSUB 200 : REM Play
> 50 TX$="FR1000SE":GOSUB 200 : REM Seek to frame 1000
> 60 PRINT "Done."
> 99 END
>
> 100 REM RX a line serial data
> 110 LINE INPUT #2, RX$
> 120 PRINT "RX: "; RX$
> 130 RXOK=1
> 140 RETURN
>
> 200 REM TX a line and wait for response
> 210 PRINT "TX: "; TX$
> 220 RXOK=0
> 230 PRINT #1, TX$
> 240 IF RXOK = 0 GOTO 240
> 250 PRINT "RX!"
> 260 RETURN
>
> 300 REM Initialize serial IO
> 310 MAXFILES=2
> 320 OPEN "COM:78N1DI" FOR OUTPUT AS #1
> 330 OPEN "COM:78N1DI" FOR INPUT AS #2
> 340 ON COM GOSUB 100
> 350 COM ON
> 360 RETURN
>
> Also, DANG! This is some of the most usage I've gotten out of this computer 
> ever... Aside from the display contrast being really poor (needs new power 
> caps?) I LOVE the keyboard, I LOVE that I can drop in to edit the program in 
> a screen text editor  just everything on this thing is awesome!
>
>
> On Mon, Oct 29, 2018 at 7:16 PM Brian White  wrote:
>>
>> Original SD2TPDD
>> https://github.com/TangentDelta/SD2TPDD
>>
>> My 2 modified versions (neither is a finished product exactly, just to be 
>> clear. I got them basically working a few weeks ago, and haven't worked on 
>> them since then.)
>>
>> Teensy 3.5/3.6:
>> https://github.com/aljex/SD2TPDD/tree/bkw_teensy36
>>
>> Adafruit Feather 32u4 Adalogger
>> https://github.com/aljex/SD2TPDD/tree/bkw_al32u4
>>
>> There is also a more powerful version of Adalogger which is M0 instead of 
>> 32u4. It's all the same board but with the more powerful M0 microcontroller. 
>> I have not yet used that one, but I'm sure it works practically out of the 
>> box too.
>>
>> The 32u4 version is the last one I worked on, and has a little cosmetic 
>> feature that the top-right corner of TS-DOS on the M100 shows the name of 
>> whatever directory you are in.
>>
>> But it IS working at least this well:
>> https://photos.app.goo.gl/N2v6iB45pePNFQNA8
>> https://youtu.be/_lFqsHAlLyg
>>
>>
>>
>> On Mon, Oct 29, 2018 at 12:14 PM Scott Lawrence  wrote:
>>>
>>> And i see now (because i forgot to even look this route, assuming i could 
>>> do full COM io through basic, but I could always do IN/OUT calls from BASIC 
>>> to just work on the serial port directly...
>>>
>>> Would OPEN "COM:" FOR APPEND AS 1 work?
>>>
>>> I can't seem to find the Arduino-based tpdd project you're referring to...
>>>
>>>
>>> I've had a Pioneer CDP-S201 player since the 90s, which is just a standard 
>>> LD+CD consumer player.  No serial port. However after the recent project 
>>> that Kevin Savetz did, restoring the Apple IIc + Rollercoaster text/video 
>>> adventure game, I got back into LD stuff... and found a $60 Pioneer 
>>> CDV-S2400 industrial player with a serial port on it, and have been messing 
>>> around a lot with commanding it,. etc
>>>
>>> Anyway, I thought i'd create a new version... i've been considering various 
>>> host computers, from code running 

Re: [M100] Serial IO from BASIC

2018-10-29 Thread Scott Lawrence
okay some responses now that i'm in front of this setup:

Peter Vollan:
- The laserdisc player docs are online, which includes wiring pinouts for
the DB15 on the back.  For this one, It's got TTL and "standard 12v" serial
pins on it. I've not gotten the TTL interface to work, but the RS-232 12v
level works great.  The pins you need to care about are: 1. GND,  2: TX
(output from LD Player)  3: RX (input to LD Player).  It talks at 4800
baud, 8N1.  Check the docs for your 4200 to make sure the pinout is the
same.   The protocol is simple ascii text terminated with a , as are
responses.
- Pioneer Laserdisc players all use the same IR protocol, so you can buy
just about any remote to use for it.  I've seen them on ebay this past week
for $10 shipped.  You can get a wired remote or barcode reader (probably),
but it's not necessary.

Brian White:
Awesome!  I've got a few extra Pro Micros kicking around (32u4/Leonardo)...
I'll have to try that!  Thanks!

Bob Pigford:
MAXFILES is already set at 10 BUT!! not in the program runtime! I
didn't know there was a difference..

John Hogerhuis:
Understand about the buffer size concern, but the most this is ever
receiving is about 16 bytes per response, so it's not really an issue for
me. :)

Greg  Swallow:
I tried that, I get BN Error on the line where I try to open it.. wait a
sec...

Josh Malone:
Understood, but

OK!  I think I got it!  Thank you all for the help!  :D

It was a combination of a few issues.
- I forgot how INPUT works (the correct usage)
- I didn't know about the LINE INPUT command
- I didn't know i'd need to open INPUT and OUTPUT as two files
- MAXFILES is a thing.

For the record, the working program is here: (Note: transcribed)

10 REM Send some commands to a Pioneer LD Player
20 GOSUB 300
30 TX$="255RB":GOSUB 200 : REM disable squelch
40 TX$="PL":GOSUB 200 : REM Play
50 TX$="FR1000SE":GOSUB 200 : REM Seek to frame 1000
60 PRINT "Done."
99 END

100 REM RX a line serial data
110 LINE INPUT #2, RX$
120 PRINT "RX: "; RX$
130 RXOK=1
140 RETURN

200 REM TX a line and wait for response
210 PRINT "TX: "; TX$
220 RXOK=0
230 PRINT #1, TX$
240 IF RXOK = 0 GOTO 240
250 PRINT "RX!"
260 RETURN

300 REM Initialize serial IO
310 MAXFILES=2
320 OPEN "COM:78N1DI" FOR OUTPUT AS #1
330 OPEN "COM:78N1DI" FOR INPUT AS #2
340 ON COM GOSUB 100
350 COM ON
360 RETURN

Also, DANG! This is some of the most usage I've gotten out of this computer
ever... Aside from the display contrast being really poor (needs new power
caps?) I LOVE the keyboard, I LOVE that I can drop in to edit the program
in a screen text editor  just everything on this thing is awesome!


On Mon, Oct 29, 2018 at 7:16 PM Brian White  wrote:

> Original SD2TPDD
> https://github.com/TangentDelta/SD2TPDD
>
> My 2 modified versions (neither is a finished product exactly, just to be
> clear. I got them basically working a few weeks ago, and haven't worked on
> them since then.)
>
> Teensy 3.5/3.6:
> https://github.com/aljex/SD2TPDD/tree/bkw_teensy36
>
> Adafruit Feather 32u4 Adalogger
> https://github.com/aljex/SD2TPDD/tree/bkw_al32u4
>
> There is also a more powerful version of Adalogger which is M0 instead of
> 32u4. It's all the same board but with the more powerful M0
> microcontroller. I have not yet used that one, but I'm sure it works
> practically out of the box too.
>
> The 32u4 version is the last one I worked on, and has a little cosmetic
> feature that the top-right corner of TS-DOS on the M100 shows the name of
> whatever directory you are in.
>
> But it IS working at least this well:
> https://photos.app.goo.gl/N2v6iB45pePNFQNA8
> https://youtu.be/_lFqsHAlLyg
>
>
>
> On Mon, Oct 29, 2018 at 12:14 PM Scott Lawrence  wrote:
>
>> And i see now (because i forgot to even look this route, assuming i could
>> do full COM io through basic, but I could always do IN/OUT calls from BASIC
>> to just work on the serial port directly...
>>
>> Would OPEN "COM:" FOR APPEND AS 1 work?
>>
>> I can't seem to find the Arduino-based tpdd project you're referring to...
>>
>>
>> I've had a Pioneer CDP-S201 player since the 90s, which is just a
>> standard LD+CD consumer player.  No serial port. However after the recent
>> project that Kevin Savetz did, restoring the Apple IIc + Rollercoaster
>> text/video adventure game, I got back into LD stuff... and found a $60
>> Pioneer CDV-S2400 industrial player with a serial port on it, and have been
>> messing around a lot with commanding it,. etc
>>
>> Anyway, I thought i'd create a new version... i've been considering
>> various host computers, from code running exclusively on an Arduino, using
>> the LD player's on-screen text for the interface, to having a wifi-serial
>> adapter (made using an ESP-32) on the player, and then commanding it from
>> python, perl, emulated amiga, etc...  but i've settled on a BASIC program
>> on a Tandy 200, directly connected.
>>
>> On Mon, Oct 29, 2018 at 12:03 PM Brian White  wrote:
>>
>>> You can do tpdd to a pc or mac or pi etc 

Re: [M100] Serial IO from BASIC

2018-10-29 Thread Brian White
Original SD2TPDD
https://github.com/TangentDelta/SD2TPDD

My 2 modified versions (neither is a finished product exactly, just to be
clear. I got them basically working a few weeks ago, and haven't worked on
them since then.)

Teensy 3.5/3.6:
https://github.com/aljex/SD2TPDD/tree/bkw_teensy36

Adafruit Feather 32u4 Adalogger
https://github.com/aljex/SD2TPDD/tree/bkw_al32u4

There is also a more powerful version of Adalogger which is M0 instead of
32u4. It's all the same board but with the more powerful M0
microcontroller. I have not yet used that one, but I'm sure it works
practically out of the box too.

The 32u4 version is the last one I worked on, and has a little cosmetic
feature that the top-right corner of TS-DOS on the M100 shows the name of
whatever directory you are in.

But it IS working at least this well:
https://photos.app.goo.gl/N2v6iB45pePNFQNA8
https://youtu.be/_lFqsHAlLyg



On Mon, Oct 29, 2018 at 12:14 PM Scott Lawrence  wrote:

> And i see now (because i forgot to even look this route, assuming i could
> do full COM io through basic, but I could always do IN/OUT calls from BASIC
> to just work on the serial port directly...
>
> Would OPEN "COM:" FOR APPEND AS 1 work?
>
> I can't seem to find the Arduino-based tpdd project you're referring to...
>
>
> I've had a Pioneer CDP-S201 player since the 90s, which is just a standard
> LD+CD consumer player.  No serial port. However after the recent project
> that Kevin Savetz did, restoring the Apple IIc + Rollercoaster text/video
> adventure game, I got back into LD stuff... and found a $60 Pioneer
> CDV-S2400 industrial player with a serial port on it, and have been messing
> around a lot with commanding it,. etc
>
> Anyway, I thought i'd create a new version... i've been considering
> various host computers, from code running exclusively on an Arduino, using
> the LD player's on-screen text for the interface, to having a wifi-serial
> adapter (made using an ESP-32) on the player, and then commanding it from
> python, perl, emulated amiga, etc...  but i've settled on a BASIC program
> on a Tandy 200, directly connected.
>
> On Mon, Oct 29, 2018 at 12:03 PM Brian White  wrote:
>
>> You can do tpdd to a pc or mac or pi etc for free. Just need a usb-serial
>> adapter and serial cable.
>>
>> There is also an initial arduino implimentation that works on at least a
>> few boards that have sd readers and usb interfaces already built-in, if
>> you're up for that. Jimmy Petit wrote it and I have gotten it working on
>> both Teensy and Adafruit Feather boards where you don't need anything else
>> besides the board, an rs232-ttl module, and power. The Adafruit even has a
>> lipo charger/manager and standard lipo connector already built in, so
>> "power" means just plug in a lipo, and it's automatically charged by the
>> same usb port used for programming. So there is no circuit designing, just
>> connecting a couple legos to each other.
>>
>> I too collect laserdiscs and have a few players, though I don't think any
>> of mine have rs232 interfaces.
>>
>> I have played around with the rs232 interfaces on a few different video
>> processors. Especially a Faroudja where I don't have the remote and neither
>> does Logitec harmony have the codes for it.
>>
>> I have a stack of strange discs that were obviously part of some internal
>> teaching system at some company (I forget who it was). You can physically
>> play the discs in a normal player, but they are really meant to be played
>> in some kind of special rig that shows only 1/2 of the video and plays only
>> one channel of audio at a time, and jumps to specific frames, presumably in
>> response to user input, or I guess it could have been scripted.
>>
>> --
>> bkw
>>
>> On Mon, Oct 29, 2018, 11:27 AM Scott Lawrence  wrote:
>>
>>> Hi all.
>>>
>>> So I'm working on a project; a BASIC program that talks at 4800 baud to
>>> a LaserDisc player.  The commands are sent as ascii text, with a carriage
>>> return at the end, and responses are similarly a text string terminating in
>>> a CR.
>>>
>>> On my Tandy 200, I'm able to configure the port in TERM via:
>>>STAT 78N1DNI
>>>
>>> And then i can type out commands and the player works and responds with
>>> the correct responses... so I know the serial line is working in both
>>> directions as designed.
>>>
>>> In BASIC, i know i need to open the connection for INPUT and OUTPUT so
>>> that I can write stuff and read back the responses.  The following code
>>> works to send out the commands, but it gets errors no matter what I try for
>>> reading in the response
>>>
>>> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
>>> 20 ON COM GOSUB 100
>>> 30 COM ON
>>> 40 REM Send seek to frame 1000
>>> 50 PRINT #1, "FR1000SE"
>>> 60 REM when the player gets there, it responds "R" via serial
>>> 70 GOTO 70
>>> 100 REM Got serial response
>>> 110 A$=INPUT #1
>>> 120 PRINT "Got ", A$
>>> 130 RETURN
>>>
>>> I looked around in a few online T books, but couldn't really find
>>> 

Re: [M100] Serial IO from BASIC

2018-10-29 Thread Peter Vollan
This is very interesting. I have a Pioneer LD-4200; it has a serial
port but it is a non standard one that uses a 15 pin connector. And it
uses a wired remote that I don't have.
On Mon, 29 Oct 2018 at 09:28, Kevin Becker  wrote:
>
> Here is the arduino TPDD project.  I believe this is actually Brian's fork of 
> the original code.
>
> https://github.com/TangentDelta/SD2TPDD
>
> On Mon, Oct 29, 2018 at 12:15 PM Scott Lawrence  wrote:
>>
>> I thought I had tried that, but it was giving me an EF error ... I'll try 
>> again tonight. maybe i was tired when I wrote it... the contrast on my '200 
>> screen is pretty low. :(
>>
>> -s
>>
>> On Mon, Oct 29, 2018 at 12:10 PM Greg Swallow  wrote:
>>>
>>> You will have to open COM for input as well:
>>>
>>> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
>>> 15 OPEN "COM:78N1DNI" FOR INPUT AS 2
>>> 20 ON COM GOSUB 100
>>> 30 COM ON
>>> 40 REM Send seek to frame 1000
>>> 50 PRINT #1, "FR1000SE"
>>> 60 REM when the player gets there, it responds "R" via serial
>>> 70 GOTO 70
>>> 100 REM Got serial response
>>> 110 A$=INPUT #2
>>> 120 PRINT "Got ", A$
>>> 130 RETURN
>>>
>>> Or, something along those lines.
>>>
>>> Gpd Bless,
>>>
>>> GregS <><
>>>
>>>
>>> - Original Message -
>>> From: "Scott Lawrence" 
>>> To: "Model 100 Discussion" 
>>> Sent: Monday, October 29, 2018 8:27:32 AM
>>> Subject: [M100] Serial IO from BASIC
>>>
>>> Hi all.
>>>
>>> So I'm working on a project; a BASIC program that talks at 4800 baud to a
>>> LaserDisc player.  The commands are sent as ascii text, with a carriage
>>> return at the end, and responses are similarly a text string terminating in
>>> a CR.
>>>
>>> On my Tandy 200, I'm able to configure the port in TERM via:
>>>STAT 78N1DNI
>>>
>>> And then i can type out commands and the player works and responds with the
>>> correct responses... so I know the serial line is working in both
>>> directions as designed.
>>>
>>> In BASIC, i know i need to open the connection for INPUT and OUTPUT so that
>>> I can write stuff and read back the responses.  The following code works to
>>> send out the commands, but it gets errors no matter what I try for reading
>>> in the response
>>>
>>> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
>>> 20 ON COM GOSUB 100
>>> 30 COM ON
>>> 40 REM Send seek to frame 1000
>>> 50 PRINT #1, "FR1000SE"
>>> 60 REM when the player gets there, it responds "R" via serial
>>> 70 GOTO 70
>>> 100 REM Got serial response
>>> 110 A$=INPUT #1
>>> 120 PRINT "Got ", A$
>>> 130 RETURN
>>>
>>> I looked around in a few online T books, but couldn't really find anything
>>> that could help me out on this one, and I'm feeling pretty stupid that me,
>>> a web applications and embedded systems engineer can't figure out a BASIC
>>> program It's been YEARS since I messed around with BASIC, and even then
>>> I never really did much with opening files...
>>>
>>> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love that
>>> we can have interrupt-driven serial in BASIC!
>>>
>>> Side-sidenote; I also don't really have a good solution yet for saving and
>>> restoring the files but i'll probably just do serial port dumps or
>>> somesuch. ;D I know i can buy NADS or REX or something, for file offloading
>>> but this is a short-term project for Maker Faire next month, and I don't
>>> have the cash to drop on fancy stuff right now.  I'll probably just throw
>>> together a serial-terminal based SD card shell using a spare arduino or
>>> something...   Although I'd gladly trade my Booster Pak which i never
>>> really got working for one of those... ;D
>>>
>>> -s
>>>
>>> --
>>> Scott Lawrence
>>> yor...@gmail.com
>>
>>
>>
>> --
>> Scott Lawrence
>> yor...@gmail.com


Re: [M100] Serial IO from BASIC

2018-10-29 Thread John R. Hogerhuis
I think the Greg is right you have to open for input and output. I havent
done bidirectional serial from basic. Just assembly.

Is flow control at play here? Remember the receive queue is 64 bytes. If
responses are longer than that you're going to lose data unless flow
control is engaged.

-- John.

On Mon, Oct 29, 2018, 8:27 AM Scott Lawrence  wrote:

> Hi all.
>
> So I'm working on a project; a BASIC program that talks at 4800 baud to a
> LaserDisc player.  The commands are sent as ascii text, with a carriage
> return at the end, and responses are similarly a text string terminating in
> a CR.
>
> On my Tandy 200, I'm able to configure the port in TERM via:
>STAT 78N1DNI
>
> And then i can type out commands and the player works and responds with
> the correct responses... so I know the serial line is working in both
> directions as designed.
>
> In BASIC, i know i need to open the connection for INPUT and OUTPUT so
> that I can write stuff and read back the responses.  The following code
> works to send out the commands, but it gets errors no matter what I try for
> reading in the response
>
> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
> 20 ON COM GOSUB 100
> 30 COM ON
> 40 REM Send seek to frame 1000
> 50 PRINT #1, "FR1000SE"
> 60 REM when the player gets there, it responds "R" via serial
> 70 GOTO 70
> 100 REM Got serial response
> 110 A$=INPUT #1
> 120 PRINT "Got ", A$
> 130 RETURN
>
> I looked around in a few online T books, but couldn't really find anything
> that could help me out on this one, and I'm feeling pretty stupid that me,
> a web applications and embedded systems engineer can't figure out a BASIC
> program It's been YEARS since I messed around with BASIC, and even then
> I never really did much with opening files...
>
> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love
> that we can have interrupt-driven serial in BASIC!
>
> Side-sidenote; I also don't really have a good solution yet for saving and
> restoring the files but i'll probably just do serial port dumps or
> somesuch. ;D I know i can buy NADS or REX or something, for file offloading
> but this is a short-term project for Maker Faire next month, and I don't
> have the cash to drop on fancy stuff right now.  I'll probably just throw
> together a serial-terminal based SD card shell using a spare arduino or
> something...   Although I'd gladly trade my Booster Pak which i never
> really got working for one of those... ;D
>
> -s
>
> --
> Scott Lawrence
> yor...@gmail.com
>


Re: [M100] Serial IO from BASIC

2018-10-29 Thread Kevin Becker
Here is the arduino TPDD project.  I believe this is actually Brian's fork
of the original code.

https://github.com/TangentDelta/SD2TPDD

On Mon, Oct 29, 2018 at 12:15 PM Scott Lawrence  wrote:

> I thought I had tried that, but it was giving me an EF error ... I'll try
> again tonight. maybe i was tired when I wrote it... the contrast on my '200
> screen is pretty low. :(
>
> -s
>
> On Mon, Oct 29, 2018 at 12:10 PM Greg Swallow  wrote:
>
>> You will have to open COM for input as well:
>>
>> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
>> 15 OPEN "COM:78N1DNI" FOR INPUT AS 2
>> 20 ON COM GOSUB 100
>> 30 COM ON
>> 40 REM Send seek to frame 1000
>> 50 PRINT #1, "FR1000SE"
>> 60 REM when the player gets there, it responds "R" via serial
>> 70 GOTO 70
>> 100 REM Got serial response
>> 110 A$=INPUT #2
>> 120 PRINT "Got ", A$
>> 130 RETURN
>>
>> Or, something along those lines.
>>
>> Gpd Bless,
>>
>> GregS <><
>>
>>
>> - Original Message -
>> From: "Scott Lawrence" 
>> To: "Model 100 Discussion" 
>> Sent: Monday, October 29, 2018 8:27:32 AM
>> Subject: [M100] Serial IO from BASIC
>>
>> Hi all.
>>
>> So I'm working on a project; a BASIC program that talks at 4800 baud to a
>> LaserDisc player.  The commands are sent as ascii text, with a carriage
>> return at the end, and responses are similarly a text string terminating
>> in
>> a CR.
>>
>> On my Tandy 200, I'm able to configure the port in TERM via:
>>STAT 78N1DNI
>>
>> And then i can type out commands and the player works and responds with
>> the
>> correct responses... so I know the serial line is working in both
>> directions as designed.
>>
>> In BASIC, i know i need to open the connection for INPUT and OUTPUT so
>> that
>> I can write stuff and read back the responses.  The following code works
>> to
>> send out the commands, but it gets errors no matter what I try for reading
>> in the response
>>
>> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
>> 20 ON COM GOSUB 100
>> 30 COM ON
>> 40 REM Send seek to frame 1000
>> 50 PRINT #1, "FR1000SE"
>> 60 REM when the player gets there, it responds "R" via serial
>> 70 GOTO 70
>> 100 REM Got serial response
>> 110 A$=INPUT #1
>> 120 PRINT "Got ", A$
>> 130 RETURN
>>
>> I looked around in a few online T books, but couldn't really find anything
>> that could help me out on this one, and I'm feeling pretty stupid that me,
>> a web applications and embedded systems engineer can't figure out a BASIC
>> program It's been YEARS since I messed around with BASIC, and even
>> then
>> I never really did much with opening files...
>>
>> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love
>> that
>> we can have interrupt-driven serial in BASIC!
>>
>> Side-sidenote; I also don't really have a good solution yet for saving and
>> restoring the files but i'll probably just do serial port dumps or
>> somesuch. ;D I know i can buy NADS or REX or something, for file
>> offloading
>> but this is a short-term project for Maker Faire next month, and I don't
>> have the cash to drop on fancy stuff right now.  I'll probably just throw
>> together a serial-terminal based SD card shell using a spare arduino or
>> something...   Although I'd gladly trade my Booster Pak which i never
>> really got working for one of those... ;D
>>
>> -s
>>
>> --
>> Scott Lawrence
>> yor...@gmail.com
>>
>
>
> --
> Scott Lawrence
> yor...@gmail.com
>


Re: [M100] Serial IO from BASIC

2018-10-29 Thread Bob Pigford
You might also need to set MAXFILES to 2 at the beginning of your code.
5 MAXFILES = 2

-Original Message-
From: M100 [mailto:m100-boun...@lists.bitchin100.com] On Behalf Of Greg Swallow
Sent: Monday, October 29, 2018 12:10 PM
To: m...@bitchin100.com
Subject: Re: [M100] Serial IO from BASIC

You will have to open COM for input as well:

10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
15 OPEN "COM:78N1DNI" FOR INPUT AS 2
20 ON COM GOSUB 100
30 COM ON
40 REM Send seek to frame 1000
50 PRINT #1, "FR1000SE"
60 REM when the player gets there, it responds "R" via serial
70 GOTO 70
100 REM Got serial response
110 A$=INPUT #2
120 PRINT "Got ", A$
130 RETURN

Or, something along those lines.

Gpd Bless,

GregS <><


- Original Message -
From: "Scott Lawrence" 
To: "Model 100 Discussion" 
Sent: Monday, October 29, 2018 8:27:32 AM
Subject: [M100] Serial IO from BASIC

Hi all.

So I'm working on a project; a BASIC program that talks at 4800 baud to a
LaserDisc player.  The commands are sent as ascii text, with a carriage
return at the end, and responses are similarly a text string terminating in
a CR.

On my Tandy 200, I'm able to configure the port in TERM via:
   STAT 78N1DNI

And then i can type out commands and the player works and responds with the
correct responses... so I know the serial line is working in both
directions as designed.

In BASIC, i know i need to open the connection for INPUT and OUTPUT so that
I can write stuff and read back the responses.  The following code works to
send out the commands, but it gets errors no matter what I try for reading
in the response

10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
20 ON COM GOSUB 100
30 COM ON
40 REM Send seek to frame 1000
50 PRINT #1, "FR1000SE"
60 REM when the player gets there, it responds "R" via serial
70 GOTO 70
100 REM Got serial response
110 A$=INPUT #1
120 PRINT "Got ", A$
130 RETURN

I looked around in a few online T books, but couldn't really find anything
that could help me out on this one, and I'm feeling pretty stupid that me,
a web applications and embedded systems engineer can't figure out a BASIC
program It's been YEARS since I messed around with BASIC, and even then
I never really did much with opening files...

sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love that
we can have interrupt-driven serial in BASIC!

Side-sidenote; I also don't really have a good solution yet for saving and
restoring the files but i'll probably just do serial port dumps or
somesuch. ;D I know i can buy NADS or REX or something, for file offloading
but this is a short-term project for Maker Faire next month, and I don't
have the cash to drop on fancy stuff right now.  I'll probably just throw
together a serial-terminal based SD card shell using a spare arduino or
something...   Although I'd gladly trade my Booster Pak which i never
really got working for one of those... ;D

-s

-- 
Scott Lawrence
yor...@gmail.com



Re: [M100] Serial IO from BASIC

2018-10-29 Thread Scott Lawrence
I thought I had tried that, but it was giving me an EF error ... I'll try
again tonight. maybe i was tired when I wrote it... the contrast on my '200
screen is pretty low. :(

-s

On Mon, Oct 29, 2018 at 12:10 PM Greg Swallow  wrote:

> You will have to open COM for input as well:
>
> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
> 15 OPEN "COM:78N1DNI" FOR INPUT AS 2
> 20 ON COM GOSUB 100
> 30 COM ON
> 40 REM Send seek to frame 1000
> 50 PRINT #1, "FR1000SE"
> 60 REM when the player gets there, it responds "R" via serial
> 70 GOTO 70
> 100 REM Got serial response
> 110 A$=INPUT #2
> 120 PRINT "Got ", A$
> 130 RETURN
>
> Or, something along those lines.
>
> Gpd Bless,
>
> GregS <><
>
>
> - Original Message -
> From: "Scott Lawrence" 
> To: "Model 100 Discussion" 
> Sent: Monday, October 29, 2018 8:27:32 AM
> Subject: [M100] Serial IO from BASIC
>
> Hi all.
>
> So I'm working on a project; a BASIC program that talks at 4800 baud to a
> LaserDisc player.  The commands are sent as ascii text, with a carriage
> return at the end, and responses are similarly a text string terminating in
> a CR.
>
> On my Tandy 200, I'm able to configure the port in TERM via:
>STAT 78N1DNI
>
> And then i can type out commands and the player works and responds with the
> correct responses... so I know the serial line is working in both
> directions as designed.
>
> In BASIC, i know i need to open the connection for INPUT and OUTPUT so that
> I can write stuff and read back the responses.  The following code works to
> send out the commands, but it gets errors no matter what I try for reading
> in the response
>
> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
> 20 ON COM GOSUB 100
> 30 COM ON
> 40 REM Send seek to frame 1000
> 50 PRINT #1, "FR1000SE"
> 60 REM when the player gets there, it responds "R" via serial
> 70 GOTO 70
> 100 REM Got serial response
> 110 A$=INPUT #1
> 120 PRINT "Got ", A$
> 130 RETURN
>
> I looked around in a few online T books, but couldn't really find anything
> that could help me out on this one, and I'm feeling pretty stupid that me,
> a web applications and embedded systems engineer can't figure out a BASIC
> program It's been YEARS since I messed around with BASIC, and even then
> I never really did much with opening files...
>
> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love that
> we can have interrupt-driven serial in BASIC!
>
> Side-sidenote; I also don't really have a good solution yet for saving and
> restoring the files but i'll probably just do serial port dumps or
> somesuch. ;D I know i can buy NADS or REX or something, for file offloading
> but this is a short-term project for Maker Faire next month, and I don't
> have the cash to drop on fancy stuff right now.  I'll probably just throw
> together a serial-terminal based SD card shell using a spare arduino or
> something...   Although I'd gladly trade my Booster Pak which i never
> really got working for one of those... ;D
>
> -s
>
> --
> Scott Lawrence
> yor...@gmail.com
>


-- 
Scott Lawrence
yor...@gmail.com


Re: [M100] Serial IO from BASIC

2018-10-29 Thread Scott Lawrence
And i see now (because i forgot to even look this route, assuming i could
do full COM io through basic, but I could always do IN/OUT calls from BASIC
to just work on the serial port directly...

Would OPEN "COM:" FOR APPEND AS 1 work?

I can't seem to find the Arduino-based tpdd project you're referring to...


I've had a Pioneer CDP-S201 player since the 90s, which is just a standard
LD+CD consumer player.  No serial port. However after the recent project
that Kevin Savetz did, restoring the Apple IIc + Rollercoaster text/video
adventure game, I got back into LD stuff... and found a $60 Pioneer
CDV-S2400 industrial player with a serial port on it, and have been messing
around a lot with commanding it,. etc

Anyway, I thought i'd create a new version... i've been considering various
host computers, from code running exclusively on an Arduino, using the LD
player's on-screen text for the interface, to having a wifi-serial adapter
(made using an ESP-32) on the player, and then commanding it from python,
perl, emulated amiga, etc...  but i've settled on a BASIC program on a
Tandy 200, directly connected.

On Mon, Oct 29, 2018 at 12:03 PM Brian White  wrote:

> You can do tpdd to a pc or mac or pi etc for free. Just need a usb-serial
> adapter and serial cable.
>
> There is also an initial arduino implimentation that works on at least a
> few boards that have sd readers and usb interfaces already built-in, if
> you're up for that. Jimmy Petit wrote it and I have gotten it working on
> both Teensy and Adafruit Feather boards where you don't need anything else
> besides the board, an rs232-ttl module, and power. The Adafruit even has a
> lipo charger/manager and standard lipo connector already built in, so
> "power" means just plug in a lipo, and it's automatically charged by the
> same usb port used for programming. So there is no circuit designing, just
> connecting a couple legos to each other.
>
> I too collect laserdiscs and have a few players, though I don't think any
> of mine have rs232 interfaces.
>
> I have played around with the rs232 interfaces on a few different video
> processors. Especially a Faroudja where I don't have the remote and neither
> does Logitec harmony have the codes for it.
>
> I have a stack of strange discs that were obviously part of some internal
> teaching system at some company (I forget who it was). You can physically
> play the discs in a normal player, but they are really meant to be played
> in some kind of special rig that shows only 1/2 of the video and plays only
> one channel of audio at a time, and jumps to specific frames, presumably in
> response to user input, or I guess it could have been scripted.
>
> --
> bkw
>
> On Mon, Oct 29, 2018, 11:27 AM Scott Lawrence  wrote:
>
>> Hi all.
>>
>> So I'm working on a project; a BASIC program that talks at 4800 baud to a
>> LaserDisc player.  The commands are sent as ascii text, with a carriage
>> return at the end, and responses are similarly a text string terminating in
>> a CR.
>>
>> On my Tandy 200, I'm able to configure the port in TERM via:
>>STAT 78N1DNI
>>
>> And then i can type out commands and the player works and responds with
>> the correct responses... so I know the serial line is working in both
>> directions as designed.
>>
>> In BASIC, i know i need to open the connection for INPUT and OUTPUT so
>> that I can write stuff and read back the responses.  The following code
>> works to send out the commands, but it gets errors no matter what I try for
>> reading in the response
>>
>> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
>> 20 ON COM GOSUB 100
>> 30 COM ON
>> 40 REM Send seek to frame 1000
>> 50 PRINT #1, "FR1000SE"
>> 60 REM when the player gets there, it responds "R" via serial
>> 70 GOTO 70
>> 100 REM Got serial response
>> 110 A$=INPUT #1
>> 120 PRINT "Got ", A$
>> 130 RETURN
>>
>> I looked around in a few online T books, but couldn't really find
>> anything that could help me out on this one, and I'm feeling pretty stupid
>> that me, a web applications and embedded systems engineer can't figure out
>> a BASIC program It's been YEARS since I messed around with BASIC, and
>> even then I never really did much with opening files...
>>
>> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love
>> that we can have interrupt-driven serial in BASIC!
>>
>> Side-sidenote; I also don't really have a good solution yet for saving
>> and restoring the files but i'll probably just do serial port dumps or
>> somesuch. ;D I know i can buy NADS or REX or something, for file offloading
>> but this is a short-term project for Maker Faire next month, and I don't
>> have the cash to drop on fancy stuff right now.  I'll probably just throw
>> together a serial-terminal based SD card shell using a spare arduino or
>> something...   Although I'd gladly trade my Booster Pak which i never
>> really got working for one of those... ;D
>>
>> -s
>>
>> --
>> Scott Lawrence
>> yor...@gmail.com
>>
>

-- 
Scott Lawrence

Re: [M100] Serial IO from BASIC

2018-10-29 Thread Greg Swallow
You will have to open COM for input as well:

10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
15 OPEN "COM:78N1DNI" FOR INPUT AS 2
20 ON COM GOSUB 100
30 COM ON
40 REM Send seek to frame 1000
50 PRINT #1, "FR1000SE"
60 REM when the player gets there, it responds "R" via serial
70 GOTO 70
100 REM Got serial response
110 A$=INPUT #2
120 PRINT "Got ", A$
130 RETURN

Or, something along those lines.

Gpd Bless,

GregS <><


- Original Message -
From: "Scott Lawrence" 
To: "Model 100 Discussion" 
Sent: Monday, October 29, 2018 8:27:32 AM
Subject: [M100] Serial IO from BASIC

Hi all.

So I'm working on a project; a BASIC program that talks at 4800 baud to a
LaserDisc player.  The commands are sent as ascii text, with a carriage
return at the end, and responses are similarly a text string terminating in
a CR.

On my Tandy 200, I'm able to configure the port in TERM via:
   STAT 78N1DNI

And then i can type out commands and the player works and responds with the
correct responses... so I know the serial line is working in both
directions as designed.

In BASIC, i know i need to open the connection for INPUT and OUTPUT so that
I can write stuff and read back the responses.  The following code works to
send out the commands, but it gets errors no matter what I try for reading
in the response

10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
20 ON COM GOSUB 100
30 COM ON
40 REM Send seek to frame 1000
50 PRINT #1, "FR1000SE"
60 REM when the player gets there, it responds "R" via serial
70 GOTO 70
100 REM Got serial response
110 A$=INPUT #1
120 PRINT "Got ", A$
130 RETURN

I looked around in a few online T books, but couldn't really find anything
that could help me out on this one, and I'm feeling pretty stupid that me,
a web applications and embedded systems engineer can't figure out a BASIC
program It's been YEARS since I messed around with BASIC, and even then
I never really did much with opening files...

sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love that
we can have interrupt-driven serial in BASIC!

Side-sidenote; I also don't really have a good solution yet for saving and
restoring the files but i'll probably just do serial port dumps or
somesuch. ;D I know i can buy NADS or REX or something, for file offloading
but this is a short-term project for Maker Faire next month, and I don't
have the cash to drop on fancy stuff right now.  I'll probably just throw
together a serial-terminal based SD card shell using a spare arduino or
something...   Although I'd gladly trade my Booster Pak which i never
really got working for one of those... ;D

-s

-- 
Scott Lawrence
yor...@gmail.com


Re: [M100] Serial IO from BASIC

2018-10-29 Thread Brian White
You can do tpdd to a pc or mac or pi etc for free. Just need a usb-serial
adapter and serial cable.

There is also an initial arduino implimentation that works on at least a
few boards that have sd readers and usb interfaces already built-in, if
you're up for that. Jimmy Petit wrote it and I have gotten it working on
both Teensy and Adafruit Feather boards where you don't need anything else
besides the board, an rs232-ttl module, and power. The Adafruit even has a
lipo charger/manager and standard lipo connector already built in, so
"power" means just plug in a lipo, and it's automatically charged by the
same usb port used for programming. So there is no circuit designing, just
connecting a couple legos to each other.

I too collect laserdiscs and have a few players, though I don't think any
of mine have rs232 interfaces.

I have played around with the rs232 interfaces on a few different video
processors. Especially a Faroudja where I don't have the remote and neither
does Logitec harmony have the codes for it.

I have a stack of strange discs that were obviously part of some internal
teaching system at some company (I forget who it was). You can physically
play the discs in a normal player, but they are really meant to be played
in some kind of special rig that shows only 1/2 of the video and plays only
one channel of audio at a time, and jumps to specific frames, presumably in
response to user input, or I guess it could have been scripted.

-- 
bkw

On Mon, Oct 29, 2018, 11:27 AM Scott Lawrence  wrote:

> Hi all.
>
> So I'm working on a project; a BASIC program that talks at 4800 baud to a
> LaserDisc player.  The commands are sent as ascii text, with a carriage
> return at the end, and responses are similarly a text string terminating in
> a CR.
>
> On my Tandy 200, I'm able to configure the port in TERM via:
>STAT 78N1DNI
>
> And then i can type out commands and the player works and responds with
> the correct responses... so I know the serial line is working in both
> directions as designed.
>
> In BASIC, i know i need to open the connection for INPUT and OUTPUT so
> that I can write stuff and read back the responses.  The following code
> works to send out the commands, but it gets errors no matter what I try for
> reading in the response
>
> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
> 20 ON COM GOSUB 100
> 30 COM ON
> 40 REM Send seek to frame 1000
> 50 PRINT #1, "FR1000SE"
> 60 REM when the player gets there, it responds "R" via serial
> 70 GOTO 70
> 100 REM Got serial response
> 110 A$=INPUT #1
> 120 PRINT "Got ", A$
> 130 RETURN
>
> I looked around in a few online T books, but couldn't really find anything
> that could help me out on this one, and I'm feeling pretty stupid that me,
> a web applications and embedded systems engineer can't figure out a BASIC
> program It's been YEARS since I messed around with BASIC, and even then
> I never really did much with opening files...
>
> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love
> that we can have interrupt-driven serial in BASIC!
>
> Side-sidenote; I also don't really have a good solution yet for saving and
> restoring the files but i'll probably just do serial port dumps or
> somesuch. ;D I know i can buy NADS or REX or something, for file offloading
> but this is a short-term project for Maker Faire next month, and I don't
> have the cash to drop on fancy stuff right now.  I'll probably just throw
> together a serial-terminal based SD card shell using a spare arduino or
> something...   Although I'd gladly trade my Booster Pak which i never
> really got working for one of those... ;D
>
> -s
>
> --
> Scott Lawrence
> yor...@gmail.com
>


Re: [M100] Serial IO from BASIC

2018-10-29 Thread Josh Malone
Since you've opened the serial port for OUTPUT, I'm not sure you can
read from it. There's no (documented) mode for R/W to a file or serial
port in BASIC (that I can find). You might have to do a  PRINT, CLOSE,
OPEN, INPUT  dance. :-/

For saving files, if you have an android device, look into mComm. It's
a TPDD emulator for your phone. I use it all the time.

-Josh
On Mon, Oct 29, 2018 at 11:27 AM Scott Lawrence  wrote:
>
> Hi all.
>
> So I'm working on a project; a BASIC program that talks at 4800 baud to a 
> LaserDisc player.  The commands are sent as ascii text, with a carriage 
> return at the end, and responses are similarly a text string terminating in a 
> CR.
>
> On my Tandy 200, I'm able to configure the port in TERM via:
>STAT 78N1DNI
>
> And then i can type out commands and the player works and responds with the 
> correct responses... so I know the serial line is working in both directions 
> as designed.
>
> In BASIC, i know i need to open the connection for INPUT and OUTPUT so that I 
> can write stuff and read back the responses.  The following code works to 
> send out the commands, but it gets errors no matter what I try for reading in 
> the response
>
> 10 OPEN "COM:78N1DNI" FOR OUTPUT AS 1
> 20 ON COM GOSUB 100
> 30 COM ON
> 40 REM Send seek to frame 1000
> 50 PRINT #1, "FR1000SE"
> 60 REM when the player gets there, it responds "R" via serial
> 70 GOTO 70
> 100 REM Got serial response
> 110 A$=INPUT #1
> 120 PRINT "Got ", A$
> 130 RETURN
>
> I looked around in a few online T books, but couldn't really find anything 
> that could help me out on this one, and I'm feeling pretty stupid that me, a 
> web applications and embedded systems engineer can't figure out a BASIC 
> program It's been YEARS since I messed around with BASIC, and even then I 
> never really did much with opening files...
>
> sidenote, "ON COM GOSUB " ?!?! That's an awesome feature!  I love that 
> we can have interrupt-driven serial in BASIC!
>
> Side-sidenote; I also don't really have a good solution yet for saving and 
> restoring the files but i'll probably just do serial port dumps or somesuch. 
> ;D I know i can buy NADS or REX or something, for file offloading but this is 
> a short-term project for Maker Faire next month, and I don't have the cash to 
> drop on fancy stuff right now.  I'll probably just throw together a 
> serial-terminal based SD card shell using a spare arduino or something...   
> Although I'd gladly trade my Booster Pak which i never really got working for 
> one of those... ;D
>
> -s
>
> --
> Scott Lawrence
> yor...@gmail.com