AtariBits
  • Home
  • Systems
    • 576NUC
    • 1088XEL >
      • XEL-CF Drive
      • XEL-CF3 Rapidus Variant
      • Accessories
      • XEL Archives
    • 1088XLD >
      • RGB2VGA-XLD
      • ARROW2JOY-XLD
  • TransKey
    • TK-II >
      • TK-II Manual
      • Installation
      • Device Compatibility
      • TK-II Archives
    • TK-II-STEREO
    • TK-II Control
  • XEP80-II
  • JOY2PIC
  • MOUSE
  • MIDI
    • MIDI 3D Printed Cases
  • UGV
  • SDrive
  • Blog

RLC-4000 Heat Load Controller Power Board Testing

8/10/2022

 
PictureRLC-4000 Power Board (middle rear mounted) - Click Image to Enlarge -
I finally found a bit of time to do a quick lash-up of the RLC-4000's Power Board with most of the other devices that it'll ultimately be connected to. Don't mind the rat's nest of wires, this is temporary, and only meant for a quick test.

>>> Link to First Part in this Series

The Power Board serves as a combination of a multi-output PSU and a relay board. Powering the needs of the 576NUC+ and the LCD monitor display via an unregulated 12 VDC supply, also supplies 230 VAC step down to 115 VAC for the watt transducer's instrumentation, and provides low voltage AC for the proportional AC power control module.

Beyond this it encompasses the power control aspects of the system (RLC-4000 System Power On/Off, Load Power On/Off, and Cooling Fan On/Off).


Picture
I was curious if the transformer would be able to handle all the various loads being demanded of it without over heating. So after hooking up all the individual loads and powering on all the relays, I left it sitting in this state for several hours without any fan cooling.

I'm happy to say it did very well, but it was fairly warm to the touch. However in the final application there will be a good amount of air flow through the cabinet via the cooling fan, so my feeling is that there shouldn't be any problems with heat.

In order to really bring this project together, does require funding some additional stuff such as the front and rear custom aluminum panels which carry a hefty price tag that I'm not yet in the position to cover. So although today's post is a tease of sorts, I do intend to finish this project by the end of the year.

This project is kinda like the long wait for the StarShip's first orbital flight.

Stay tuned for more to come.
- Michael


My 1200XL has a Multiple Personality Disorder (Part 2)

5/1/2022

 
Today I'll be talking about how to operate this system, since Part 1 already went in depth on what hardware and modifications were required.

Below is a table covering basic operation of the system in order to select what OS you want active, and if desired, what Language SLOT you want selected as well.

As can be seen the original L1 and L2 LEDs have been reassigned to indicate whether a SLOT or Cartridge is inserted (L1), or what OS is in play (L2). When SHIFT is added to any one of the selection hot keys, it simply modifies which OS is to be used, by selecting the 2nd bank of the OS EEPROM, with the first bank holding the default OS.

Note: The last selection that you make is stored in non-volatile EEPROM memory, and restored upon the next power-up of the system - resuming where you left off.
SELECT
STOCK 1200XL Keyboard
Optional PS/2 Keyboard
LED L1
LED L2
SLOT 1 + OS 1
F1
ALT+F1
ON
ON
SLOT 2 + OS 1
F2
ALT+F2
ON
ON
SLOT 3 + OS 1
F3
ALT+F3
ON
ON
SLOT 4 + OS1
F4
ALT+F4
ON
ON
NO SLOT + OS 1
OPTION+F1
ALT+ESC
OFF
ON
+ OS 2
ADD SHIFT
ADD SHIFT
NO CHANGE
OFF
To make this concept a bit easier to understand, I did a short demonstration video of the system in action.
Keep in mind that any two Atari 8-Bit OS variants can be used. So for instance you could have OmniView 80 in one bank and the stock XL/XE in the other. Same goes for the Language EPROM, where any combination of four 8K language, application, and/or games could be pre-programmed.

This is what I have in my test EPROMS at the moment.

32K Dual OS (27C256 EPROM)
  1. OS 1 = HSIO patched XL/XE (default)
  2. OS 2 = Stock XL/XE (selected with SHIFT)     I changed this to OmniMon XL, and it works great!
32K Quad Language (27C256 EPROM)
  1. SLOT 1 = BASIC RevC
  2. SLOT 2 = Altirra BASIC
  3. SLOT 3 = Assembler/Editor
  4. SLOT 4 = SpeedScript

Each time a new selection is made, a Cold Restart (similar to Bob Woolley's FREEZER) is initiated in order to reboot into the new configuration without requiring a power cycle of the computer. Whereas the SIO 5V/Ready signal is power cycled to reboot something like an SDrive sitting on that serial bus.

This is all perfectly timed, and happens automatically in the background when changing selections.

I think that covers it for today, but stay tuned, because there might be a Part 3 if I decide to get into how the code in the TKII-PB1200's PIC chip performs some of this magic.

- Michael

My 1200XL has a Multiple Personality Disorder (Part 1)

4/29/2022

 
It all started out with me wanting to do a few updates to a 1200XL that Bob Woolley had given me in 2015 to get me back up to speed, since I no longer had any Atari 8-bit computers at the time.

And because of many other projects competing for my attention, that poor 1200XL had been sitting in a box under my workbench for the last couple of years, with the only mod being a TK-II Pokey piggyback board which I had installed when the stock keyboard started getting flaky.

So I guess it was about two months ago that I pulled it out of the box and installed a new at the time internal SDrive-Simple board, which actually came out very nice with an almost invisible SD card slot in the rear being just below the overhang in the top part of the case. After playing around with it for a bit, I started reading an older post on AtariAge about converting from the stock 1200XL OS over to an 800XL OS, and incorporating internal Basic. This sounded cool, and is why my Multiple Personality adventure began.

The instructions I found online...
add_800xl_os_and_basic_to_1200xl.pdf
File Size: 29 kb
File Type: pdf
Download File


Initially I followed the instructions as written,  but with the only EPROMs I had on hand being 32 Kbyte (27C256), I had a lot of extra space that would inevitably get wasted. 32K was four times what I needed for Basic, and twice what was required for the OS. So this got me thinking... why not use all that extra space to have four different 8K languages and/or applications, and two different OS variants. And to make the selection of these a bit more sophisticated then merely some physical switches, why not make a special version of the TK-II that could make these selections via keyboard control. The challenge was to bring this all together, from both a hardware and firmware aspect.

So I designed a new Pokey piggyback board that would break-out some of the PIC's I/O that could be used for banking the ROMs, and to execute a Cold Restart when changing selections, thus eliminating the need to cycle power in order to reboot with the new configuration. On the first iteration of this new TK-II board I had one left over I/O bit, but as the experiments progressed I quickly realized that a simple Cold Restart was not going to be enough to have the SDrive also reboot, so that extra I/O bit got used for switching a MOSFET ON and OFF to control power for the SIO 5V/Ready line.

Here's what the final form of the new TKII-PB1200 board looks like both schematically and graphically...

tkii-pb1200_v1.1_schema.pdf
File Size: 31 kb
File Type: pdf
Download File

TOP VIEW
Picture
BOTTOM VIEW
Picture
ASSEMBLED BOARD
Picture
To put this all into play required extensive modifications to the 1200XL, which I have put together a pictorial to show the changes. Please note that there was limited room to label the TKII-PB1200's header pins, so I opted for two letter IDs, and have used these same IDs in the pictorial showing where the TKII-PB1200's header wires go.

First order of business was to substitute 28 Pin sockets for the original 24 pin ones which had held the split two part 1200XL OS, as well as some 'W' jumper rearrangement to make it address the new larger EPROMs. The trace cut below is not part of the original 800XL conversion, and was done to facilitate banking of the multi-language EPROM. And for the same reason, there are some additional trace cuts done on the bottom side between pin 27 and pin 28 of both EPROMS.
Picture
Here you see the new TKII-PB1200 board installed into Pokey's socket, with the Pokey piggybacking on top.
Picture
Console and Reset switch connections.
Picture
The next series of pictures will map out the additional trace cuts and jumper wires to fully bring this into reality.

The trace cut next to U17 severs the connection of the GTIA PIN 11 (TRiG3 input) to RD5 on the cartridge port so that we can separately signal the GTIA that a cart has been changed as part of our Cold Restart function (thank you Bob Woolley for your FREEZER article).
Picture
Here you can see the connection of the Bank Selection bits (B0-B2) that will determine which 8K SLOT of the language EPROM and which 16K OS will be in play. Also we can see the RD5 input going over to the TKII-PB1200 via the brown wire. This will tell the TKII-PB1200's PIC chip whether a  real cart has been inserted or not so that it can take appropriate action when executing a Cold Restart.
Picture
Below can be seen a light green Jumper wire going from pin 18 on the 800XL MMU (U14) over to pin 11 on the PIA chip (U23). This allows Basic, or in our case the language SLOTs, to be enabled.

Pin 23 on the CPU is A13 which needs to be routed over to the OS ROM (U13) via one of the pads from the removed W6 jumper.
Picture
UPDATE 4-30-2022:  Added the blue jumper wire between the Dual OS socket (U13) and pin 13 of the PIA (U23) to enable the L2 LED to indicate when the primary OS (OS 1) is selected.
Picture
This is the 2nd part of our Cold Restart circuit coming from the TKII-PB1200's PIC chip via the orange wire, and feeding into the TRiG3 input (pin 11) on the GTIA chip (U19).
Picture
And finally we remove resistor R63 which is no longer needed and attach the green wire coming from the TKII-PB1200 board to allow it to control the SIO 5V supply.
Picture
Since I just happened to have a spare UAV, Sophia RevC, and a RAMBO XL, I went ahead and installed them as well. This system will now become one of my daily drivers, no longer relegated to sitting in a box.

Because I also needed the flaky 1200XL stock keyboard to work reliably once again, I purchased and installed the Best Electronics 1200XL replacement mylar kit (P/N: CB103156). It worked like a charm! And basically it was as easy as peeling off the old membrane, cleaning the PCB with acetone, burnishing the contact pads with the anti-tarnish paper that's provided in the kit, placing the thin PCB and the new mylar (also in the kit), aligning all of this with the keyboard side, and screwing in all of those very tiny securing screws.

              And for those that may be interested, here are the details on the RAMBO XL installation.

I installed a right angle header on the RAMBO XL board for the PBx connections, and luckily it just cleared the Sophia board, although I am using an additional machine pin socket on both devices to get some extra clearance above the surrounding components.

The RAMBO XL board takes the place of U10 (74LS158), plugging into the same socket that the IC was removed from.

     Notice the position of the shorting block on the RAMBO XL board for proper 1200XL configuration.
Picture
Here we see the other end of the PBx connections to the PIA (U23) chip. The PIA was first removed, the 12-16 pins were bent up, and then the PIA gets plugged back into it's socket. Afterwards the wire ends are soldered to the bent up pins in the order shown below.
Picture
And here's where I chose to mount Sophia's DVI connector, plus take note of the switching regulator modules in place of the original linear regulators that ran very hot, thus requiring a large heat sink that we no longer need anymore thanks to the very cool running switching regulators.
Picture
OverView of Completed Upgrades
Picture
Click on Image to Enlarge
Stay tuned for Part 2 of this project, where I'll describe how the TKII-PB1200 board allows control of the OS and Language SLOT selection via both an external PS/2 keyboard, or through the use of the internal stock 1200XL keyboard's function keys (no PS/2 keyboard required).

- Michael

RLC-4000 Heat Load Controller (576NUC+ based)

12/27/2021

 
This begins my first posting on an industrial based application for my home brew 576NUC+ Atari computer system. A very unique "Real World" application for this equally unique Atari 8-bit computer.

Background

Sometime between 2005-2006 I was approached by a company doing service work on industrial cryogenic chillers used for what was called water vapor cryopumping of vacuum chambers. These chillers acted like a selective pump for water vapor inside the chamber, by freezing it to a cryocoil, and thus trapping it in place  (it would no longer be floating around inside the chamber). These vacuum chambers would be used for an assortment of applications, including environmental simulation, semiconductor fabrication of IC Chips, decorative coatings, and various other coating applications.

When servicing these units, it required having the means to subject them to a specific heat load in order to match a given customer's application. Anywhere from 90 watts up to 3600 watts of applied heat was necessary (imagine a very big electric space heater). So they wanted me to design and build them a heat load controller that they could use for testing these cryo-chillers under a simulated condition. Below you can see a diagram depicting one of those early load controllers in a typical testing set-up.
Picture
Early 2006 Mytek Controls Heat Load Controller as used in Typical Application
PictureMPI Thermal TA-5000
Now I'll fast forward to the present day, where I'm  approaching my 9th year of being in business with a Taiwan based company called MPI Thermal who's primary mission is focused on producing environmental and stress testing systems for electronics manufacturers that need to qualify their products to work reliably any place on Earth. So this could be the Flaming Mountain outside of the Taklimakan Desert of China during the Summer (80°C/175°F), or Antarctica in the dead of Winter (-93°C/-130°F).

The current product line of MPI Thermal consists of three different models of  gas chillers (or gas heaters depending upon the mode of operation) that flow either chilled or heated compressed air over active electronic devices under test. And in order to verify the unit's capabilities during development and production, a calibrated flow meter is used with a variable compressed air source.

I'm anticipating new chiller designs to come that will require a simulated radiant heat source for testing, being very similar to what I was doing back in 2006. And because this testing apparatus will be for my own use, and confined to my own test lab (strictly non-commercial in nature), I decided to base the controller on one of my Atari motherboard creations. Specifically the 576NUC+. It should be fun.

PictureSCR Phase Angle Control Module
The Project

This all began about 3-4 months ago when I was staring at a completed 576NUC+ board in my hands, and started thinking what a small and powerful package it really was. Size-wise it was very much like those single board computers I remember seeing being advertised in the back pages of electronics magazines in the early 2000's. In fact it was even smaller then many of the ones I recalled from back in the day.

So what would it take to industrialize it for connection to real world devices? It would need some kind of data acquisition expansion board. Something that would allow it to read a wattage transducer and control an SCR based power device to feed power to a heater, and to activate some relays  as well as monitor an over temp contact on a temperature module for safety.

Also I needed a way to get a program to load automatically at power-up (SDrive) that would serve as the heat load control software. And there should be a numeric keypad to enter a load set point.

And last but not least I want to mount all of this in a nice rugged 19" rack case to keep it well protected, and to keep the high voltage stuff safely tucked away.

Well first things first... I got right to work on the Data Acquisition expansion board, had great success on accommodating all the requirements, and even added an RS232 communications port. I then sent the board design off to JLCPCB for manufacture, and got the boards in my hands about 5 days later. Assembly took less than a day, and on the following day I assembled a slightly customized 576NUC+ board that would get mated up to my previous days work. Here's what that all looks like...

Enter the RLC-4000 576NUC+ INTFC Carrier Board

RLC-4000_INTFC_schema.pdf
File Size: 119 kb
File Type: pdf
Download File


Firmware

After assembling the first board set, I needed a way to run some preliminary tests to be sure things would work the way I had in mind. So I divided the tasks between machine code for the DAQ driver, and Altirra Basic for the actual control/monitoring aspect.

FILE: DAQ.SRC
10 ;*********************************
20 ;*                                                                 *
30 ;*               RLC-4000 DAQ Driver              *
40 ;*       MAX187(ADC)  MCP4921(DAC)       *
50 ;*                     DEC 26 2021                      *
60 ;*    4000 WATT Heat Load CONTROL      *
70 ;*                                                                *
80 ;*               By:  MyTek Controls                *
90 ;*                                                                *
95 ;*********************************
110 ;
120 DAQMSB=$06F0    ; 12-bit OUT (0-5V)
130 DAQLSB=$06F1
140 ADCMSB=$06F2    ; 12-bit IN  (0-5V)
150 ADCLSB=$06F3
160 PORT=$D300        ; PIA PORTA
170 SDO=$D010          ; SPI-SDO (TRIG0)
180 SCK=1                    ; SPI-SCK PORTA.0
190 SDI=2                     ; SPI-SDI PORTA.1
200 CS1=4                    ; ADC-CS  PORTA.2
210 CS2=8                    ; DAC-CS  PORTA.3
220 ;
230      *=$0600
240 ;
250 ;=== READ MAX187 X=USR(1536) ===
260 ;
270  PLA                    ; BASIC ENTRY POINT
280  LDA #CS1
290  EOR #$FF
300  AND PORT
310  STA PORT          ; ADC-ON CS1 LOW
320  LDA #0
330  STA ADCMSB     ; zero storage
340  STA ADCLSB      ; registers
350 WAIT LDA SDO
360  CMP #1             ; End Of Conversion?
370  BNE WAIT          ; not yet...
380  JSR ADCREAD    ; retrieve ADC value
390  LDA #CS1
400  ORA PORT
410  STA PORT          ; ADC-OFF CS1 HIGH
420  RTS
430 ;
440 ADCREAD LDX #4
450  JSR CLKHI
460  JSR CLKLO
470 RLOOP JSR CLKHI  ; read High-Byte
480  LDA ADCMSB
490  ASL A
500  ORA SDO
510  STA ADCMSB
520  JSR CLKLO
530  DEX
540  BNE RLOOP
550  LDX #8
560 RLOOP2 JSR CLKHI  ; read low-Byte
570  LDA ADCLSB
580  ASL A
590  ORA SDO
600  STA ADCLSB
610  JSR CLKLO
620  DEX
630  BNE RLOOP2
640  RTS                        ; read all 12-bits
650 ;
660 ;=== WRITE MCP4921 X=USR(1623) ===
670 ;
680  PLA                       ; BASIC ENTRY POINT
690  LDA #CS2
700  EOR #$FF
710  AND PORT
720  STA PORT             ; DAC-ON CS2 LOW
730  LDY DAQMSB
740  JSR DAQSEND      ; write DAC MSB
750  LDY DAQLSB
760  JSR DAQSEND      ; write DAC LSB
770  LDA #CS2
780  ORA PORT
790  STA PORT             ; DAC-OFF CS2 HIGH
800  RTS
810 ;
820 DAQSEND LDX #8
830 LOOP TYA
840  CLC
850  ASL A
860  BCC ZERO
870  TAY
880  LDA #SDI
890  ORA PORT
900  STA PORT
910  JMP CLKIT
920 ZERO TAY
930  LDA #SDI
940  EOR #$FF
950  AND PORT
960  STA PORT
970 CLKIT JSR CLKHI
980  JSR CLKLO
990  DEX
1000  BNE LOOP
1010  RTS
1020 ;
1025 ;========= SPI CLOCK SR =========
1030 ;
1040 CLKHI LDA #SCK
1050  ORA PORT
1060  STA PORT      ; SCK HIGH
1070  RTS
1080 CLKLO LDA #SCK
1090  EOR #$FF
1100  AND PORT
1110  STA PORT      ; SCK LOW
1120  RTS
1130  .END


FILE: HEATLOAD.BAS

10 DAQMSB=1776
20 DAQLSB=1777
30 ADCMSB=1778
40 ADCLSB=1779
50 CONFIG=48
60 REM PIA SET-UP
70 POKE 54018,56:POKE 54016,255:POKE 54018,60:POKE 54016,28
80 REM
90 REM ======== MAIN PROGRAM ========
95 REM
100 INPUT N:IF N>3439 THEN ? "ý":GOTO 100
120 POKE DAQMSB,INT(N/256)!CONFIG
130 POKE DAQLSB,N&255
140 X=USR(1623):REM WRITE TO DAQ
150 FOR X=1 to 200:NEXT X:REM PAUSE
160 X=USR(1536):REM READ ADC VALUE
170 ? (PEEK(ADCMSB)*256)+PEEK(ADCLSB)
180 GOTO 100

PictureWatt Transducer

What does RLC-4000 stand for?

Rack Load Controller - 4000 watts max.


Heat Load Control Algorithm

Using Altirra Basic for the control program has some definite advantages over using the stock Atari Basic when it comes to the expanded bit manipulation capabilities of Altirra (!=OR %=EOR &=AND). Also better code structure will be possible by utilizing the enhanced IF, THEN, ELSE, ENDIF features. And of course writing the main control algorithm in interpreted Basic allows for quick changes on the fly when perfecting the closed-loop control.

The basic idea (excuse the pun) is to have the ADC connected to a watt transducer that monitors the voltage and current (amps) going into the heater, and automatically converts that into a digital representation of voltage (0-4.095V) that represents the wattage (1mv/per watt). Since the ADC's 12-bit output directly equates to milivolts (1mv = 1 = 1 watt, 4095mv = 4095 = 4095 watts), no conversion necessary.

The DAC's 0-5V output will be controlling a Phase Angle SCR module to feed power to the heater,  which is proportionally based on the control voltage coming from the DAC.

The Control Program will form a closed loop between these two aspects, and precisely maintain a wattage based on the set point that was entered, by constantly controlling the DAC's output, and thus the actual power feeding the heater, while monitoring the ADC so as to not overshoot or undershoot the target.

Since there will be a 7" color LCD screen built into the design, I plan to take advantage of the Atari graphical abilities and have some interesting, as well as useful information being displayed. It should look quite nice, only limited by my programming abilities.

Picture
Possible Layout for LCD Screen
Well that pretty well covers it for now - stay tuned for more to come as this project takes form over the next few months.

- Michael

New Menu Bar Arrangement and Project Pages

10/13/2021

 
Well its been a long time coming, but I finally got the last 3 projects I was working on setup with their own web page. And since the density of the projects started to exceed what was comfortably able to be fit on the menu bar, I had to do some rearrangement and create a common tab for like minded projects. So the biggest by far was what I call the SYSTEMS tab, which now has all 3 individual alternative Atari motherboard projects in a drop-down selection.

The 3 new projects are...
  1. 576NUC+          The Smallest Atari Ever
  2. XEP80-II            A reproduction of the original Atari XEP80
  3. SIO2MIDI-S2    A Stand-Alone MIDIMATE interface with integrated Synthesizer

Its taken a lot of work to both create these projects, and to fully document them here. And quite frankly I'm bushed, so this blog post will be short and sweet.

Check out the new stuff, and enjoy!

- Michael

XEP80-II V1.0 BETA PCB First Test

7/31/2021

 
First Test of assembled BETA PCB looks to be an initial success!  Well at least it is in the analog mode via the composite output.
Picture
The ROM switch to go between PAL and NTSC parameters is also working, although I think I need to do some tweaks on the NTSC ones, but that'll happen in due time.

Meanwhile I'm still waiting for the JST 1.25 mm cable and connector to show up, which will allow me to run with the A/V-to-HDMI Converter installed. That will be quite exciting to say the least (hey I get excited easily, what can I say).

So all in all, not bad to get to this point in a bit over 2 months. Yes it was towards the end of May this year that I first downloaded Sobola's XEP80 schematics and began the process of backward engineering his schematic into a form I could use to eventually lay out a PCB from. Then the creeping featurism took over, and here we are today, although I don't really think the extra features are creepy at all, and should prove to be quite useful. Anyway I'll make this a short post and get out of here - stay tuned for further test results to come.

- Michael

XEP80-II Design is Nearing the Final Version

7/11/2021

 
It's gone through a bit of evolution since I first posted about it, and took a turn away from SMD in the process, now fully embracing THT components. This was done for a couple of reasons, one because of the added AV jacks the footprint expanded in such a way that extra space opened up that made sense for through-hole components to be used instead. And secondly it'll be more conducive for a DIY hobbyist to assemble the board, as well as greatly easing the troubleshooting of such. And even though the board has grown because of this decision, the new layout is still pretty compact at only 4.5" square - the same footprint as the 576NUC+ motherboard.

The addition of the extra AV jacks will facilitate all of the input possibilities that come with the A/V-to-HDMI converter. So now not only will the 80 column output be sent over HDMI, but so too will the 40 column stock video and sound.

To make this happen... an analog switch IC (MAX4619) will appropriately route the video signals, being toggled by a small tactile push button centered on the front side of the board. Each button press will switch between 40 and 80 columns, and then back again, with a dual stacked LED next to it indicating which video mode you are presently in. This will allow a single HDMI monitor to serve both video sources.

Let's pause for a minute and look at a preview image of the 'newest' 100% fully routed THT board layout. And for those that have been following this over at AtariAge, you'll possibly notice that I have moved the A/V-to-HDMI converter landing spot, so that it can now be flipped around 180 and have it's HDMI port facing the same direction as all the other jacks. This will become much more obvious when I post some pics of the real assembled boards.
Picture
XEP80-II THT Board Top (Updated: July 22nd 2021)
Video and Communication Connection Breakdown

The JST 1.25mm x 8-pin male connector (J1) is to provide connection to the optional Wiistar WS-Z51 A/V-to-HDMI converter. It requires a double-ended cable with 8-pin female JST connectors to mate the two aspects together. Once connected, the 80 column output can be sent thru the HDMI port. And the stock Atari 40 column text output (as well as graphics) can also be converted to HDMI, with either being individually displayed at the press of a button.

Jumper block header (J2) is for configuration without an A/V-to-HDMI converter daughter board being present, so that the 80 column composite signal can be routed directly out through the yellow RCA jack to feed a standard composite monitor instead.

The three RCA (J3) jacks on the left provide the following inputs from left to right: Right channel audio, Left channel audio, and composite video (CVBS). The Mini-DIN (J4) jack provides an S-Video input. These analog A/V signals are only required if the A/V-to-HDMI converter is installed, and will get sourced from the Atari's normal video output jack using a suitable A/V cable.

And last but not least we come to the DB9 jack on the far right which is to be connected to one of the Atari's joystick ports to provide both serial communication and 5 VDC power.
Picture
XEP80-II THT Board Bottom (Updated: July 22nd 2021)
XEP80-II_schema_7-22-2021.pdf
File Size: 130 kb
File Type: pdf
Download File


Over the next couple of weeks I will be testing the newer 74 series High Speed CMOS chips in place of the older 74LS ones originally found on the XEP80. I'll also be testing the new lower power display RAM, and the lower power EEPROMS that will take the place of the factory ROMs. This is all aimed at extracting power for this board from the Atari's joystick port without overwhelming the stock power supply. If all goes well and the board+schematic are brought to an error free state, I will then have a small batch of boards made by JLCPCB for testing.

Update: July 22nd 2021 - All of the chips in my stock XEP80 baseline unit were replaced with their 74HCxxx counterparts that were proposed for the new design, as well as the newer SRAM and EEPROMS. After this change, power draw dropped from 430 ma down to 210 ma, making it practical to derive power solely from the Atari, while XEP functionality remained unaffected. Gerbers have since been sent to JLCPCB for sample boards to be manufactured.

That pretty much covers it for now,

- Michael

A New Version of the Atari XEP80 is coming...

6/23/2021

 
PictureClick on Image to Download Manual
In June of 1987 Atari was preparing to release a piece of hardware to finally give the Atari 8-bit computer a universal 80 column text display, something that many felt would make it more usable as a business machine. Unfortunately it didn't end up being quite the wonder box in reality as depicted by the July 1987 Antic magazine article (VOL. 6, NO. 3). Instead people began to complain about it being slow, and in later years having serious over scan issues on more modern TVs.

However in spite of its bad reputation, there were those that liked it, and found it useful for editing code in Basic, the Assembler/Editor, and MAC65, as well as others who would go on to write extensive documents in the 80 column word processor AtariWriter 80.

I was one of those people that opted not to buy the XEP80 when it first appeared in the stores, instead saving my money for the new XE line of computers and printers that had arrived just a couple years earlier, and were quickly dropping into my price range. However over the years that followed, I always wondered what it was really like to use one of these mystery boxes, and if they truly were as bad as I had heard.

Well just recently I got that chance thanks to Bob Wooley of SLCC fame, that not only had one of these in his Atari barn, but ended up giving me 3 of them in various states of disassembly, and/or modification. We played around with them on his test bench for a while, with only one of them actually working. But what I saw was a video solution that rendered very readable 80 column text even on the tiny 9" CRT that we had it hooked up to.

So I took my new found treasure home, and continued fiddling with the one that worked over the next several days, and also discovered what was wrong with the other two that hadn't worked (bad firmware ROMs). As I tried out various things, I started to really like the possibilities, although I wasn't loving the over scan issues on my LCD. But thanks to Avery Lee (aka AtariAge member phaeron) creator of Altirra the Atari 8-bit emulator, I discovered that he had written a utility called XEPVHOLD.COM that corrected the timing chain parameters in the XEP to work much better with modern monitors, and boy did it ever!

Now for the Project

So long story short, I thought this might make for a cool reboot project, and started investigating the availability of the main display processor chip being used on the board (National Semiconductor NS405). Well it was no big surprise that a chip used in a 30+ year old design would be obsolete, and only available as surplus stock or pulled from other equipment. But amazingly after a very short search I found a great source for pulled chips at an incredibly cheap price, and in large quantities from a seller on eBay. So I pulled the trigger and bought 200 of them. Hey I told you they were cheap!

Having gotten that problem out of the way, I proceeded to backwards engineer the XEP80 with the help of Jerzey Sobola's schematic. And although his XEP80 diagram consisted of what should have taken 2 or more pages to cover, but all crammed on to a single sheet, it was remarkably accurate, only missing a capacitor, resistor, and some inline RF chokes. Thus using his diagram as a starting point, I began the process of drawing up my own schematics (3 pages this time), and took the liberty of specifying HCT chips to take the place of the original 74LS ones as used by Atari, and replaced the old ROMs and SRAM with modern CMOS ones as well, with the goal of running this directly off of 5 VDC Joystick power (the original XEP80 used a 9VDC wall wart). My schematic is now done, but I'm not yet ready to release it until I've really proven it out.

Next I started laying out a PCB, and continued my testing, some of which related to an alternative video output circuit I was experimenting with. It was during this phase that I discovered I could get a very nice centered image on an HDTV by using one of those inexpensive AV -to- HDMI converters. In fact it really was quite amazing how good it looked. So at that point things took a turn, and I decided to see what would be required in order to incorporate one of those AV2HDMI boards into my project.

Here's a look at where this has taken me (the white circles with the red 'X' inside shows where the AV2HDMI board will mount).

Picture
Picture
I decided to keep the analog video output as part of my design, and implement the AV2HDMI aspect as a daughter board stacked on top with it plugged into the CVBS video output jack. So first I had to extract the board out of one of those Chinese made converters being sold on Amazon and eBay for a very low price of $14-15 including FREE shipping.

The one I chose will convert either a CVBS (composite) or S-Video analog input to HDMI, and it also incorporates audio pass-thru to the HDMI output. The conversion of the Atari color video output into HDMI is less than spectacular when using one of these cheap converters, however in contrast the quality of the timing corrected XEP80 video looks quite remarkable - probably the best I've ever seen for the XEP80.

As it turns out, the board inside is very easy to extract, only requiring prying open a pressed together clam shell plastic housing. And conveniently it already comes with 4 mounting holes on its PCB, of which I was able to use 3 of them to mate up with my proposed XEP board design. The idea is to use 3 standoff's in order to clear the chips underneath. I don't plan on using the S-Video or audio inputs, but will retain them and tuck them inside whatever case is created for this project. They will be available as hackable possibilities for the end user to take advantage of if he or she so chooses.

So here's what that AV2HDMI board will look like mounted to my XEP80-II board.

Picture
Picture
The AV2HDMI board will get it's power from my board, and require a modified micro USB cable to do it.

The yellow composite input lead for the AV2HDMI gets plugged directly into a mating RCA jack on my board, making it ready to roll. All that's required is to plug a custom joystick style cable into the computer, turn it on, and boot the XEP driver.

                   -----------------
Click on the image to the right to get an idea of what this board combination can do on a modern HDTV when using Avery's modified video timing parameters and feeding through one of those Chinese video converters.

It's remarkably clear, with very legible text, and no distortions like one might encounter on an old CRT display. Basically this brings the XEP80 into the 21st century.
                  -----------------

My future plans are to incorporate Avery's XEPVHOLD parameters into the firmware ROM, assuming I can figure out how to do that. And since there are different requirements for PAL vs NTSC, I have implemented a configuration jumper that bank switches the firmware ROM, with the lower half containing code with NTSC parameters and the upper half having the PAL parameters. This way something like AtariWriter 80 will work correctly out of the box.

Well that covers it for now, but please check back for more news on the progress of this project.

- Michael

TransKey-II Firmware Update II

6/3/2021

 
Well just when I thought everything had been covered, and all the bugs had been safely put to bed (or wherever dead bugs go), another problem surfaced. It too was obviously something that had been in existence for quite sometime, but had somehow flown under the radar. What I'm talking about has to do with the stock Atari keyboard's CTRL, SHIFT, and BREAK keys becoming garbled. Or in other words erratic in nature.

I think the reason I didn't see this was that during the early days of TransKey development, when I more thoroughly tested under all possible criteria, this issue did not exist. But that was also before I configured the code for a sustained key press from the PS/2 keyboard side of things. Prior to doing that, I had only given PS/2 key presses a timed key press equivalent on the Atari key matrix, which at first appeared to work fine, but later I realized not under all circumstances (or with all software applications). So in a later iteration of the firmware I implemented a more Atari like key response, and had it maintain an Atari key down for as long as the PS/2 key equivalent was being held as well. This appeared to work fine at the time, but apparently I never went back and tested this with the actual Atari keyboard still connected. And it appears no one else has either, or they're just not complaining about the erratic keys on the stock Atari keyboard. Or better yet they probably don't use the stock keyboard since installing the TransKey.

So back to the problem. As best I can tell the issue was associated with the new code that was added for sustained key presses at the time, and has been around ever since. So once I realized this, it was a simple matter to look at the routine in the firmware and spot the offending line of code. It turned out to be the Pokey KR2 line handling that was the issue. This is where a held key was using a TTL based version of a PIC I/O line to communicate to the Pokey KR2 bit, irrelevant of what the mode was actually set to (float or TTL). Float is the case where one of the PIC's I/O ports mimics an open drain output, thus still allowing the Atari keyboard to work in parallel with the PS/2 keyboard. TTL mode was only suppose to get used when no internal Atari keyboard is connected, usually in the case of an XEGS, but also applies to a 1200XL. this mode can be toggled by pressing CTRL+ALT+X, with ALT+X showing the present setting (ON = TTL Mode, OFF = float).

So once the bug was discovered it was a very simple matter to correct the situation, thus restoring the stock keyboard to full functionality.

This has now been fixed in both the 'classic' version, and the new 'J' version firmware. Downloads are available HERE for the newest universal V2.7J version, and HERE for the 'classic' V2.6 version, which has now been depreciated where new hardware designs are concerned.

There's no need to update the TK-II firmware on an XEGS, or for the 1088 series machines. And there is also no need to do so even on other systems where you no longer use the stock Atari keyboard.

- Michael

Monster 600XL Project

5/15/2021

 
Back in early 2019 I decided to incorporate the SIO2MIDI into a 600XL. And while I was at it, I also added UAV upgraded video (including the missing DIN-5 jack on NTSC systems), 64K RAM, and BASIC Rev C. It was a fun little project at the time

It languished for a while afterwards, but then I set it up in a permanent spot on my workbench, attached an SDrive-Max to it, and connected it to a tiny color TV I pulled out of storage. It then became my JOY2PIC programming station, and was quite useful in this new role.

However never one to leave well enough alone, and getting inspiration from Flashjazzcat's video on installing a U1MB inside a customer's 600XL, I started thinking why not take it a step further and also install an internal CF drive. But what could I use to make that happen? Then it hit me... make a new board mimicking the XEL-CF3 circuit, and piggyback Antic because virtually every signal needed was already there. So was born the XL-CF4.
Picture
Revision 1.0 Prototype PCB Shown
Xx-CF4_v1.1_schema.pdf
File Size: 60 kb
File Type: pdf
Download File

Revised: 5/16/2021  Added Pull-up Resistor R4
It was going to be very tight space-wise in order to fit underneath the stock keyboard. So to help out, I shifted the piggybacked Antic towards the back. Then to get the ID44/CF Adapter to fit, I had to remove it's female header and solder it directly to the male header on the board. This was just enough to do the trick.

But of course I wasn't going to stop at only installing The U1MB and the internal CF drive, I also decided to add a TK-II as well, which actually made it much easier to test stuff without the stock keyboard getting in the way, or risk damaging its Mylar circuit connection from the constant plugging and unplugging that would have ensued.
Picture
Project Overview (Click Image to Enlarge)
Picture
Flashjazzcat's video gave me the best location and mounting method to use for the U1MB. And believe me when I say there really was no other choice.

Drilling the mounting holes was the trickiest part, which required slowly incrementing in size from a tiny drill bit to the final size. It's literally on the edge of the board threatening to break out at any moment. Check out Flashjazzcat's video above for the details on doing this.

Picture
There were a few other tricky parts such as making the hole for the CF card to pass thru. However because it sits just above the bottom of the case, only the top half of the case needed to be filed to accommodate the actual CF card passing through it.

I was able to mate up the top and bottom of the case, mark the left and right side of the required opening and then measured the thickness of the card to get a height (I added a smidge more to allow free travel). The end result looked pretty good.

The downward angle towards the right is part of the original case design, so there was no way other than Bondo or plastic fillers that could have been done about that. Although it looks kinda like it's talking :-)

Picture

Wow but where was I going to mount the PS/2 keyboard connector for the TK-II ?

I found a tiny bit of space between the joystick and the SIO jacks, but it required notching out the SIO jack mounting ear on that side, as well as doing an extreme reduction in the PS/2 jack interface board (lot's of sanding required). I also sanded off the bottom of the interface board to minimize the height of the various soldered pins.

Lastly I also had to move two resistors, and scrape off part of the ground plane on the 600XL motherboard, all to reduce the height at which the jack would be mounted off the motherboard, and thus prevent it from shorting out to the ground plane. A little epoxy completed the installation.

What's nice about having the TK-II, is the flexibility of putting the keyboard wherever I want irrespective of the computer. And secondly the TK-II has some hot keys aimed at supporting the  U1MB as well as the Loader. However I did discover a small timing issue with the TK-II firmware that required my attention (stay tuned for a new version to be released soon).

As for how the project turned out... I think the final results speak for themselves.

Picture
Trust Me it's Centered, Parallax is Playing Tricks on the Visual
Picture
The CF Card Slides In and Out Very Smoothly
Picture
CF Drive Activity LED
Picture
My Previous Work on this Unit
So what all is inside this Monster 600XL ?

  • UAV
  • SIO2MIDI
  • 64K Base RAM Upgrade
  • U1MB
  • XL-CF4 Prototype
  • TK-II-PBJ with ARROW2JOY Feature Connected to Joystick Port 1

What might I still add ?

  • Internal Dream Blaster S2 MIDI Synthesizer with a 3.5 mm Stereo Jack and a Mini-Toggle Switch to Select the MIDI Source (Internal or External).

Will the XL-CF4 be Made Available to the Public ?

No I'm afraid not, or at least not in its present form. There are still some timing issues that need to be resolved, which limit it to only working reliably with a handful of clone Sandisk cards I have left over from a lot of 10 pieces purchased years ago on eBay. However unlike it's little brother the XEL-CF3, most other CF cards including genuine Sandisk simply do not work in this application. Also the prototype is a 4-layer board which due to its size is a little pricey. It would be far better to redesign it as a 2-layer board instead to keep the cost down. And finally, it requires precision mods to the case plastic in order to create the opening where the CF card can slide into the socket, not something very many people have the capability of doing especially if the end result is to approximate a factory finish look. If done poorly, at the very least you have done irreparable damage to your Atari's enclosure.

- Michael
<<Previous

    Author

    My name is Michael St. Pierre and in the early 90's I decided to create my very first Atari 8-Bit upgrade. It was called TransKey.
    ---Then soon after Atari folded and I left the scene ---
    25 years later I came back with a mission to improve upon what I had started so long ago.

    Archives

    August 2022
    May 2022
    April 2022
    December 2021
    October 2021
    July 2021
    June 2021
    May 2021
    April 2021
    March 2021
    February 2021
    January 2021

    Categories

    All
    576NUC+
    AtariBits News
    Industrial Applications
    Intro
    Monster 600XL
    Multi-SLOT 1200XL
    Transkey
    XEP80-II

    RSS Feed

Powered by Create your own unique website with customizable templates.