Jump to content
IGNORED

TransKey-II in development


mytek

Recommended Posts

Ctrl-3 is also a special keypress. EOF (EOL?) for closing an open file?

Yes, Ctrl-3 is the same as Ctrl-Z in CP/M (and of course MS-DOS and Windows). It signifies the end of a file.

 

In SDX, do:

 

C>copy con: test.txt

This is line 1 of the text file.

This is line 2.

Whenever we are done entering data in this file, we press ^3.

<Ctrl-3>

 

C:>type test.txt

This is line 1 of the text file.

This is line 2.

Whenever we are done entering data in this file, we press ^3.

C:>

 

You can do the same thing in CP/M or MS-DOS, just use ^Z.

 

 

I believe ^4 through ^0 are safe, but they may be used by other programs that need to read that keypress.

 

^1, ^2, and ^3 are definitely out, though.

Link to comment
Share on other sites

Ctrl-2 is the bell. Is it was processed by the computer it would be noisy, if it was intercepted by the TK-II, then I couldn't type ?"<esc><Ctrl-2>" in a program.

 

Actually I already took this into account, and have "Escaped" keys as unique. And just so we are all on the same page, this is strictly a built-in macro situation, and will not affect normal keyboard operation. So if it is CTRL-2 all by itself, and macro recording is active, then a default pause of 1 second will be embedded into the macro, it will not get passed through, so no bell will sound. However if it were preceded with an Escape, then it'll not cause an embedded pause, nor will it be altered in any way. So yes Escape-CTRL-2 will be recorded into the macro exactly as typed. Will this satisfy most situations?

 

By the way while in macro record mode, it'll be shown as a (heart symbol) 1 when typed, and if you backspace over the 1, it can be changed from 0-9 with 0 = 10 seconds.

 

 

Ctrl-3 is also a special keypress. EOF (EOL?) for closing an open file?

 

No problem, not using CTRL-3, Only CTRL-1 (slow/fast send toggle) and CTRL-2 (pause).

 

Thanks guys.

 

- Michael

Link to comment
Share on other sites

 

^1, ^2, and ^3 are definitely out, though.

 

CTRL-1 is also only captured if in macro record mode, otherwise it does its normal thing. See any problems with that?

 

Thanks,

 

- Michael

 

EDIT: I would use unused keys from the scan matrix, but unfortunately they've all been assigned at this point, so I'm looking for other keys that likely wouldn't have much use in a macro.

Edited by mytekcontrols
Link to comment
Share on other sites

Maybe I'm not quite understanding this, but what happens if a user does this in BASIC (or anything):

LOAD"D:PROGRAM.BAS

L.

<ctrl-1> (to pause the listing).

<ctrl-1> (to resume the listing).

and repeat many times.

 

Will this still work?

 

Edit: You posted the last one while I was typing this question... So I guess it's all good.

Edited by Kyle22
Link to comment
Share on other sites

Maybe I'm not quite understanding this, but what happens if a user does this in BASIC (or anything):

LOAD"D:PROGRAM.BAS

L.

<ctrl-1> (to pause the listing).

<ctrl-1> (to resume the listing).

and repeat many times.

 

Will this still work?

 

Edit: You posted the last one while I was typing this question... So I guess it's all good.

 

Yes normal operation of the keyboard is unaffected, only within macro record or playback is it treated differently. Think of it as a placeholder in the macro telling it to perform a special operation. And if you wish your macro to produce a Basic print statement that should make a bell sound, Escape-CTRL-2 will still work as normal. Does this make sense?

 

- Michael

 

EDIT: just caught that edit line in your post. Yes I think we're good :)

Edited by mytekcontrols
Link to comment
Share on other sites

Yes, perfect. Thanks for the explanation.

 

:)

 

I'll be doing a video hopefully tomorrow showing this is action, as well as how some of the other special keys are handled within a macro such as TAB and RETURN. And although macro implementation wont be quite as extensive as it was in the original 1990 TransKey, I think I've covered some of the more important and needed features in TK-II.

 

- Michael

 

EDIT: Go to sleep Kyle its well past your bedtime :sleep:

Edited by mytekcontrols
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

TK-II update

 

In case anyone is wondering, I have been battling it out with integrating the mouse code with the keyboard code :x :skull: :o :_( and I think the emoticons do a good job of describing how that was going.

 

When I initially brought the two factions together it resulted in absolutely nothing being sent from the mouse or the keyboard to the screen, and then slowly as I began tweaking stuff characters started to appear, but the actual results were chaotic. So as I started to really get into it, the main problem revealed itself, and that was related to the PS/2 mouse polling stepping all over the PS/2 keyboard, and vice versa. First order of business was to set a flag in the keyboard interrupt that would tell the mouse to stop midstream in it's poll routine whenever a key was pressed. The next thing was to let the processed key have full attention during its translation to POKEcode and do a complete POKEY send before relinquishing control back to the mouse. Then the mouse would restart from scratch in its polling sequence, and toss out any data from the interrupted poll. Once I had all this in place, stuff started to cooperate.

 

Next was allowing either the keyboard or mouse to work in Solo Mode, so that if either device wasn't present, the other would still work. So I got that working by adding a time out feature within the PS/2 write routine, that sets a flag as to the offender (either mouse or keyboard), and then that device is ignored from that point forward. This worked well since initialization of each device, and polling of the mouse required Host-to-Device communications where a time out situation could be caught very early.

 

Then I wanted to allow for "Hot-Plugging" of either device, so that a complete power down reset would not be necessary. The keyboard isn't as much a problem in this regard, since its power draw on start-up is fairly large, creating a spike that would reset the TK-II PIC, thus going back through the power-up initialization routine (the spike I am referring to is very small and localized to the PIC chip on the TK-II). However the mouse wouldn't do this due to its very small power signature as compared to the keyboard. So I added an ALT+M hot key to make a call to the mouse initialization routine. This did the trick.

 

So with the mouse and the keyboard now playing well together, I have been doing the last of the debugging, trying to discover stuff that doesn't work, and finding lots of little annoying things. But despite all the problems I'm getting very close to the release of the official Version 1.0 code.

 

So stayed tuned.

 

- Michael

 

 

EDIT: POKEcode is what I call the raw key scan code for a given key on the Atari being fed back to POKEY.

Edited by mytekcontrols
  • Like 4
Link to comment
Share on other sites

Debugging is coming along nicely (for once). And features have been pretty much locked in at this point unless I can think of anything else to add (oh no watch out for that dreaded creeping featurism :-o ). I've attached an image that does a pretty good job of mapping out the keyboard features in a visual way.

 

 

TK-II%20Keyboard%20Map.png

 

 

CTRL+ALT+Delete = Cold Reset from within BASIC

 

XEGS MODE = to float or not to float POKEY's KR lines (ON/OFF toggled function with state saved to EEPROM).

 

OPTION-on-Boot = having OPTION pressed automatically on power-up, thus disabling internal BASIC on XE's and most XL's (ON/OFF toggled function with state saved to EEPROM).

 

MOUSE INIT = re-initialization for mouse if Hot Plugged after power-up.

 

INSERT MODE = mimics a normal PC or word processing applications text editing ability, with automatic space insertion or deletion when typing or back spacing (ON/OFF toggled function).

 

All CTRL+SHIFT combinations should be available.

 

 

- Michael

Edited by mytekcontrols
  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...

Thanks in part to Kyle22, I have implemented a new feature which allows you to disable the built-in screen saver that Atari called 'Attract Mode'. How this works is really quite simple. By sending out an innocuous CTRL-SHIFT-A approximately every 3 minutes, the Attract Mode gets reset and begins its 9 minute countdown to screen save all over again. Since this key combination resets the 764 register to 255 (which flags that no key has been pressed), it does no harm to whatever program is currently running, nor does it move the cursor or make a key click sound. And since TK-II has its own key buffer, no keys are lost due to this short interruption.

 

Because the built-in screen saver is desirable when using a CRT or Plasma monitor to prevent images from burning into the screen's phospher coating, I have implemented a way to enable or disable this feature (refer to the updated keyboard map shown in the previous post). For those using LED/LCD monitors they can disable screen save by pressing CTRL-ALT-S which will toggle between Screen Saver = ON or OFF (ALT-S will show you what the setting is without toggling it). The last state will always be saved in internal EEPROM and recalled the next time TK-II is powered up.

 

- Michael

  • Like 3
Link to comment
Share on other sites

IMPORTANT ANNOUNCEMENT: TransKey-II design files are now on-line :waving:

 

LINK

 

 

I finally bit the bullet and decided to release the first production Version 1.0 PCB Design and Firmware. I've tested this about as good as I can for the moment, and now it needs to get out into the wild and see what shakes loose. The zipped Firmware files contain both the Hex Code for programming the PIC16F1847, and the FlowCode V4.5 Source File. There are links provided for the PCB layout files, schematics, and ExpressPCB for Windows App (which runs fine under wine in Linux). Also I provided a download link for FlowCode V6 30 day trial, which should load my file (I haven't tested this, although it's suppose to have legacy support). I strongly recommend the PICkit 3 programmer using the Microchip IPE software application (part of the MPLAB IDE X download) for programming the PIC chip, unless you have an alternate programmer that supports it.

 

I'm currently working on getting the ExpressPCB files converted to Gerber format, and when I have that it'll be uploaded to that same page link.

 

It was 3 months in the making, but now it's real :thumbsup:

 

- Michael

Edited by mytekcontrols
  • Like 3
Link to comment
Share on other sites

IMPORTANT ANNOUNCEMENT: TransKey-II design files are now on-line :waving:

 

LINK

 

 

I finally bit the bullet and decided to release the first production Version 1.0 PCB Design and Firmware. I've tested this about as good as I can for the moment, and now it needs to get out into the wild and see what shakes loose. The zipped Firmware files contain both the Hex Code for programming the PIC16F1847, and the FlowCode V4.5 Source File. There are links provided for the PCB layout files, schematics, and ExpressPCB for Windows App (which runs fine under wine in Linux). Also I provided a download link for FlowCode V6 30 day trial, which should load my file (I haven't tested this, although it's suppose to have legacy support). I strongly recommend the PICkit 3 programmer using the Microchip IPE software application (part of the MPLAB IDE X download) for programming the PIC chip, unless you have an alternate programmer that supports it.

 

I'm currently working on getting the ExpressPCB files converted to Gerber format, and when I have that it'll be uploaded to that same page link.

 

It was 3 months in the making, but now it's real :thumbsup:

 

- Michael

 

Just to confirm that I know what I think I know:

 

I can download the schematic & pcb files, load them into ExpressPCB and place an order for that board. I then can order up the bill of materials, program the PIC, and assemble it to have the TK2?

 

Easy peasy, lemon squeezy?

Link to comment
Share on other sites

 

Just to confirm that I know what I think I know:

 

I can download the schematic & pcb files, load them into ExpressPCB and place an order for that board. I then can order up the bill of materials, program the PIC, and assemble it to have the TK2?

 

Easy peasy, lemon squeezy?

 

Yep that is correct. Although if you wait for the ExpressPCB-to-Gerber file conversion it might be cheaper to get boards made. Just a thought.

 

- Michael

 

EDIT: I just checked pricing on doing boards without silkscreen or solder mask through ExpressPCB, what they call their Standard Service. And here's the pricing: 4 boards = $87, 10 boards = $105, 20 = $135. You don't even want to know what it would cost with silk screen and solder mask :mad: .

Edited by mytekcontrols
  • Like 1
Link to comment
Share on other sites

 

Yep that is correct. Although if you wait for the ExpressPCB-to-Gerber file conversion it might be cheaper to get boards made. Just a thought.

 

- Michael

 

EDIT: I just checked pricing on doing boards without silkscreen or solder mask through ExpressPCB, what they call their Standard Service. And here's the pricing: 4 boards = $87, 10 boards = $105, 20 = $135. You don't even want to know what it would cost with silk screen and solder mask :mad: .

 

 

Yeah, I just checked it out as well. I think I will wait for conversion . . . .unless a) I can convert it myself or b) we want to do a group order ?

Link to comment
Share on other sites

What about this option? They need Gerber files, but that seems inexpensive.

 

https://oshpark.com/pricing

 

As soon as the Gerber files get here, I am going to order from OSHPark unless there is some reason not to. If someone is not already doing the conversion, I am willing.

Link to comment
Share on other sites

What about this option? They need Gerber files, but that seems inexpensive.

 

https://oshpark.com/pricing

 

As soon as the Gerber files get here, I am going to order from OSHPark unless there is some reason not to. If someone is not already doing the conversion, I am willing.

 

Actually I think there might be a way to get this even more reasonable than that. I was looking at ExpressPCB's ProtoPro Service which gives you four boards for $166 dollars. Now here's the good part, those boards can be up to 21 Square Inches each for a total of 84 Square Inches for the four boards. Or in other words about $2 a Square Inch. Whereas the OSHpark's price starts at $5 per Square Inch. So I figured that about seven TK-II-PIGGYBACK boards can be panelized into a 21 Square Inch area, or 28 boards total for the $166 price. That would make the TK-II boards cost just under $6 a piece, and with the ProtoPro Service you are getting professionally made solder masked and silk screened boards.

 

Now OSHparks price will drop to $1 per Square Inch, but the minimum order is 150 Square Inches, which at first glance looks like an even better deal, especially when you consider you are also getting more boards. However I have had a lot of boards made by various places over the years, and ExpressPCB's quality has always been top notch, whereas some other PCB manufacturers not so much, and one of those not so desirable places was mentioned on the OSHpark site. So that concerns me.

 

I also didn't see it mentioned anywhere if the OSHpark boards are solder masked and silk screened. If they are not, than what I am suggesting is way better and at a reasonable price.

 

I'll try panelizing a 21 square Inch area, and see what that comes to when using the compute price button in ExpressPCB just to make sure that it's the same price as suggested. I can use the slot and perforation technique I used on my first run which worked rather well.

 

- Michael

 

BTW; I am test driving an on-line ExpressPCB-to-Gerber conversion service to see how that goes. If it looks good then I'll package that up with the ExpressPCB files and zip it up into one download on my website.

 

EDIT: Just tried a quicky test, and it looks like the ProtoPro Service has no problem with panelization using slots and perforations. So this is looking like a viable alternative :grin:

Edited by mytekcontrols
Link to comment
Share on other sites

Well I did some more investigation, and apparently the OSH Park boards do have solder mask (purple), and silk screen (white), and the quality appears to be very good with gold plated solder points. Check out Robot Room for their review.

 

So hopefully I'll have those Gerber files soon (I'm doing the first test of that conversion service on the TK-II-PIGGYBACK version).

 

- Michael

Link to comment
Share on other sites

I can vouch that OSH Park boards are top quality. Another nice service they offer is direct acceptance of Eagle BRD files, they generate the Gerbers in house. They also have a 'sharing' option that allows others to order your design. This is attractive if there isn't a group order planned. The price is not too bad considering a 1x1" design is $5 for 3 boards and free shipping, so each board is ~ $1.66 delivered.

Of course a group order will be the lowest price. If someone does intend to manage a bulk order I would be in for a couple boards..

Yogi

  • Like 3
Link to comment
Share on other sites

Still haven't received the first set of Gerbers, but in the meantime I did create a panelize ExpressPCB version that puts six TK-II-PIGGYBACK and one TK-II-XEGS on each panel at just under 21 Square Inches. Then I ran it through the cost calculator and it came up at $180 for 4 of them (that price includes shipping). So that would be a total of 24 TK-II-PIGGYBACK versions and 4 of the XEGS versions, bringing the cost per board to $6.43.

 

DOWNLOAD LINK

 

Van the price at OSH Park for three 1"x1" boards would be $15 based on the $5 per Square Inch pricing when dealing in smaller quantities (or $5 per board). The TK-II-PIGGYBACK board = 2.8 Square Inches, 2.8 x $5 would be $14 per board. Of course if you commit to a 150 Square Inch order that price drops to $1 per Square Inch, and unless I'm mistaken, the order can be made up from small boards that equal at least 150 Square Inches to get that price. So 54 TK-II-PIGGYBACK boards would fulfill that commitment, making OSH Park by far the best deal (cost per board = $2.77).

 

- Michael

Edited by mytekcontrols
Link to comment
Share on other sites

Still haven't received the first set of Gerbers, but in the meantime I did create a panelize ExpressPCB version that puts six TK-II-PIGGYBACK and one TK-II-XEGS on each panel at just under 21 Square Inches. Then I ran it through the cost calculator and it came up at $180 for 4 of them (that price includes shipping). So that would be a total of 24 TK-II-PIGGYBACK versions and 4 of the XEGS versions, bringing the cost per board to $6.43.

 

DOWNLOAD LINK

 

Van the price at OSH Park for three 1"x1" boards would be $15 based on the $5 per Square Inch pricing when dealing in smaller quantities (or $5 per board). The TK-II-PIGGYBACK board = 2.8 Square Inches, 2.8 x $5 would be $14 per board. Of course if you commit to a 150 Square Inch order that price drops to $1 per Square Inch, and unless I'm mistaken, the order can be made up from small boards that equal at least 150 Square Inches to get that price. So 54 TK-II-PIGGYBACK boards would fulfill that commitment, making OSH Park by far the best deal (cost per board = $2.77).

 

- Michael

No, I know from experience that the OSHPark is based on the sq inch of your design X $5.00, per group of 3. So the cost per board is 1/3 of the design's sq inch total. I just ordered a 2.47x1.94 inch design for a total cost of $23.95 for all 3 boards and free shipping. It really is reasonable at small batches :)

Yogi

Link to comment
Share on other sites

No, I know from experience that the OSHPark is based on the sq inch of your design X $5.00, per group of 3. So the cost per board is 1/3 of the design's sq inch total. I just ordered a 2.47x1.94 inch design for a total cost of $23.95 for all 3 boards and free shipping. It really is reasonable at small batches :)

Yogi

 

Hi Van. I stand corrected, and yes that is a great deal :)

 

But if I can't get satisfactory Gerbers from my ExpressPCB files, then it will not be possible to use that service. ExpressPCB charges $60 per board design to provide Gerber files. I am not willing to do that (already invested over $300 into this project, and I have to draw a line at some point). I am hopeful that the service I found will give me what I need, and they only charge $10 per design.

 

- Michael

Link to comment
Share on other sites

 

Hi Van. I stand corrected, and yes that is a great deal :)

 

But if I can't get satisfactory Gerbers from my ExpressPCB files, then it will not be possible to use that service. ExpressPCB charges $60 per board design to provide Gerber files. I am not willing to do that (already invested over $300 into this project, and I have to draw a line at some point). I am hopeful that the service I found will give me what I need, and they only charge $10 per design.

 

- Michael

Well if the Gerbers don't work out, I'll be glad to transcribe your schema into Eagle and route the boards. Doesn't look too bad, and I had the notion of doing a stripped down board for internal mounting on a dual Pokey machine, just the PIC and headers for jumpers to the Pokey (no room for another PCB in the stack); may be the PS2 socket also to mount to the rear of the case.

I messed with ExpressPCB years ago; they are high! And you're locked into them as you've found out. Though Eagle PCB Free has limitations on board size (~3x3.5) it works very well and WILL generate CAM files! Another option is KiCad, open source with no limits on size.

Yogi

Link to comment
Share on other sites

Well if the Gerbers don't work out, I'll be glad to transcribe your schema into Eagle and route the boards. Doesn't look too bad, and I had the notion of doing a stripped down board for internal mounting on a dual Pokey machine, just the PIC and headers for jumpers to the Pokey (no room for another PCB in the stack); may be the PS2 socket also to mount to the rear of the case.

I messed with ExpressPCB years ago; they are high! And you're locked into them as you've found out. Though Eagle PCB Free has limitations on board size (~3x3.5) it works very well and WILL generate CAM files! Another option is KiCad, open source with no limits on size.

Yogi

 

Lets see how things go, but I just might take you up on your offer. After all this is an Open Source project, and it would be nice to get other contributors participating in it. I had some time on my hands, so I was able to get the ball rolling on this, however that might not be the case too much longer. Code changes are also welcome, with my only request being to update the Version # that is displayed when pressing ALT+F1. Contributors can also expand on this, perhaps by adding their name either to the ALT+F1 response or by utilizing ALT+F2-F4 which are currently unassigned.

 

I used to do Eagle many years ago, found it very difficult to learn due to its non-standard way of doing things, but I was able to lay out some very complex 4 layer boards. However its been sooooo long, that I would have to relearn it again, which is too painful for me to even think about.

 

Thanks again for your offer ;-)

 

- Michael

Link to comment
Share on other sites

 

Lets see how things go, but I just might take you up on your offer. After all this is an Open Source project, and it would be nice to get other contributors participating in it. I had some time on my hands, so I was able to get the ball rolling on this, however that might not be the case too much longer. Code changes are also welcome, with my only request being to update the Version # that is displayed when pressing ALT+F1. Contributors can also expand on this, perhaps by adding their name either to the ALT+F1 response or by utilizing ALT+F2-F4 which are currently unassigned.

 

I used to do Eagle many years ago, found it very difficult to learn due to its non-standard way of doing things, but I was able to lay out some very complex 4 layer boards. However its been sooooo long, that I would have to relearn it again, which is too painful for me to even think about.

 

Thanks again for your offer ;-)

 

- Michael

 

I am literally seconds away from biting the bullet and ordering the panel version via ExpressPCB for $180. Is there ANY reason I should not do this? I figure I will sell the balance at near or at cost for those that want them. It is a 2 layer design, yes?

 

Here is what I was thinking *IF* all goes well

 

10+ $7/each (plus shipping to you)

5-9 $8.50/ea

1-4 $10/ea

 

I will probably keep all four of the XEGS ones for my personal use.

 

The order is queued up and ready to hit send. Credit card entered and everything.

Link to comment
Share on other sites

 

I am literally seconds away from biting the bullet and ordering the panel version via ExpressPCB for $180. Is there ANY reason I should not do this? I figure I will sell the balance at near or at cost for those that want them. It is a 2 layer design, yes?

 

Here is what I was thinking *IF* all goes well

 

10+ $7/each (plus shipping to you)

5-9 $8.50/ea

1-4 $10/ea

 

I will probably keep all four of the XEGS ones for my personal use.

 

The order is queued up and ready to hit send. Credit card entered and everything.

 

Wow you really are itching to get some of these :lolblue:

 

I'm not going to discourage you, but if you can wait for a few more days we might be able to do this much cheaper. Yes those are double-sided boards.

 

Do you have a way to program the chips?

 

- Michael

 

EDIT: Just got the gerbers for TK-II-PIGGYBACK, and initially all looks good, I'll load them into a viewer just to be sure.

Edited by mytekcontrols
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...