Page 6 of 7

Re: Amiga disassembly

Posted: Thu Mar 08, 2012 12:51 pm
by mixdup
This is great! Glad to see you're back at it, Ari.

Re: Amiga disassembly

Posted: Sat Mar 10, 2012 11:44 am
by AriX
mixdup wrote:This is great! Glad to see you're back at it, Ari.
Thanks! Bunch of progress yesterday. I'm updating the wiki a lot: http://prevueguide.com/index.php/UVSG_Satellite_Data
I have unearthed a few more CTRL and DATA commands...

Re: Amiga disassembly

Posted: Mon Mar 12, 2012 10:28 pm
by 20CenturyFan
I have it to the point now where I set the uSleep to anywhere between 47000 and 55000 and ran the program once, and when I check diagnostic mode, both CTRL H and CTRL T are 5 (sometimes 4 or 6), and CTRL Cmds:00000001. My first question is where does the 6 come from if only 5 bytes are being sent (or does the CTRL program attempt to send the data multiple times and its getting a few bytes per trial)?

I also notice that if I run it while in diagnostic mode, not all the bytes are coming at the same time (For example, it will say 2, then 4, then 5)

I think I am making progress in getting it to accept more bytes, but I don't know what it is seeing, since ESQ still does not draw an overlay.

Re: Amiga disassembly

Posted: Mon Mar 12, 2012 10:56 pm
by AriX
20CenturyFan wrote:I have it to the point now where I set the uSleep to 55000 and ran the program once, and when I check diagnostic mode, both CTRL H and CTRL T are 5 (sometimes 4 or 6), and CTRL Cmds:00000001. My first question is where does the 6 come from if only 5 bytes are being sent (or does the CTRL program attempt to send the data three times and its getting a few bytes per trial)?
No, the bytes are only sent once - and there are only five of them. But the way they are sent, which is called bit-banging, is an odd way to send data, and is different than normal serial communications. It's kind of hard to explain, but basically if the bits are not received correctly, the byte will be discarded completely. So it's possible that with the delay of 55000, it's actually receiving 11 bytes, but only 5 of them made enough sense to be counted. This doesn't seem to be the case, because you are getting Cmds, but it's worth considering. I don't know if you code or not, but this is my C code version of how ESQ's CTRL I/O routines work. If you want to compile and run it, it might help to understand what the program is actually doing. (Except instead of asking you for a 0 or 1, ESQ checks the state of the CTS pin on the serial port.)
20CenturyFan wrote:I also notice that if I run it while in diagnostic mode, not all the bytes are coming at the same time (For example, it will say 2, then 4, then 5)
When you do it in diagnostic mode, it does not parse the data coming in - and it may reset the data at some point. I would just avoid doing it in diagnostic mode. But if you are able, try swapping your ESQ binary out for this one: http://cl.ly/2N2U0U3Z3a0g3T2Q0b0H
This version will display information about the CTRL bytes being received when it receives the serial command "55 AA 47." I can't do it at this second, but I can write you a version of the other program that will automatically send that command after each byte is sent; for now, send that command manually to print the diagnostics to the listings. One of the things printed will be the hex of the last byte received, which you can use to figure out if data is being sent reliably or not. CTRLState and CRC will also be helpful; I think I talked about what they represent a few pages back, but if not, feel free to ask me to explain further.
20CenturyFan wrote:I think I am making progress in getting it to accept more bytes, but I don't know what it is seeing, since ESQ still does not draw an overlay.
Remember that it won't spontaneously draw an overlay - you need to hit the L or R keys.

Re: Amiga disassembly

Posted: Tue Mar 13, 2012 12:03 am
by 20CenturyFan
I am not a programmer/coder, but I do my best to improvise things. :)

I tried your version of ESQ in a stripped down version of the Prevue ADF (I had to delete some things to make room for the program to fit on the disk). The first thing I did was send the CTRL command. Checked DM afterwards, still got 5 and 5 for CTRL H and T, respectively, and Max was "01". However, CMD was all 0's (turns out that it has been that way almost this whole time, just that one instance it said 00000001). I sent that 55 AA 47 through my COM Port Data Emulator and it did nothing but make the cursor blink for a moment. However, I noticed that when it got halfway through my listings, Prevue crashed, and got a guru meditation error. I tried this three times just letting it sit, and even if I did nothing it would still crash with the error I pasted below (I am wondering though if it had anything to do with what I removed from the disk in order to make room for this unpowerpacked binary). But I am also wondering if where it crashed is where the diagnostics were supposed to be printed. (Seems to happen around channel 99, which is in the middle of my listings. I have about 20 channels in the first half of my grid).

I had to admit though... this is the first time that I've seen Prevue crash with my listings loaded. I couldn't help but to take a moment to laugh :lol: I probably didn't proceed with this properly. The problem could very well be on my end somewhere.

Re: Amiga disassembly

Posted: Tue Mar 13, 2012 2:22 am
by woddfellow2
The only times, of which I am aware, in which I crashed Prevue, involved the h and j keybindings to display the CLU and PI information, respectively...

If it encountered a long entry, such as a film listing, it would Guru Meditation.

Re: Amiga disassembly

Posted: Tue Mar 13, 2012 9:01 pm
by AriX
Well, this wasn't really Prevue crashing - it was only crashing because of my cobbled-together modifications ;)
Try this one. It doesn't directly call the CTRL routine, so I think it will work better: http://cl.ly/3N0L3x1q272v2r1p2c1F

Re: Amiga disassembly

Posted: Tue Jul 03, 2012 4:19 pm
by AriX
I really need to get back to my Amiga and write some code that runs the CTRL with exact timing, rather than the approximate uSleep values. I would love to be able to release all of this stuff I've worked on, and I know I will eventually -- hopefully this summer.

Re: Amiga disassembly

Posted: Wed Jul 04, 2012 4:22 am
by Matthew Joseph
Well, good luck, AriX in finding some CTRL & DATA commands to work out this summer. And maybe we might get something more in the curday.dat, config.dat file and we might maybe inject our data with the blinking in Atari.

P.S. And anyway, happy 4th of July.

Re: Amiga disassembly

Posted: Wed Jul 04, 2012 4:25 am
by tin
Hey, I might actually be in the same boat as you Arix. Might be a big change in circumstances later this summer, that MIGHT afford me some time :)