Vintage chip Programmer : " Micropross ROM 3000U " - Page 1
Forum section: electronics / repair

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 09:47:52 am
content: Hello people,I am trying to diversify my collection of old stuff. I decided that having 40/45 old scopes was nice, but opening my mind to other types of TE would bring diversity and spice in my collection.So since I like the early days of programmable chips, EPROMs, PROMs, GAL/PAL etc.... I thought it would be fitting to get a vintage / period programmer to go with these chips, if an opportunity arose.Such an opportunity just arose the other day, on my local ad site Leboncoin.fr. A big ass programmer for only 20 Euros + as much for shipping... it's a boat anchor.Was very filthy, gave it a good clean last night and took it apart, played with it.- It's branded " Micropross " ... made in France here, says the plaque at the back.- Model " ROM 3000U "- Made in early 1987 from the date codes I could find on chips. Some chips are dated 1984....- It's got a removable programming fixture. The one that came with my unit as you can see is a 40 pin DIL ZIF socket.- The black rectangle above the fixture is a piece of ESD foam, nice touch. Somehow the foam is still presentable up close, and not 100% turned to dust. As long as I don't touch it, it's fine...- It's got two serial ports at the back , DB25, for I/Os.- Has a floppy drive ! Makes it look expensive !It's got a built-in computer and tries to boot from the floppy at power up (it was supplied with a disk labeled "System Disk", albeit written in French) , so could technically be stand alone I guess... but it can't because there is no user interface on this thing at all. Well there is a buzzer and a PowerON LED, but other than that.... no display or keypad to speak of, at all.The floppy looks like it's a backup copy, not the original, as you can see the label looks nice/computer generated, but it's applied on some generic Verbatim floppy. I tried to read the floppy on my vintage MS-DOS computer, but it says the disk is not formatted, or at least not formatted for a PC...which I guess makes sense ? I mean the computer in this programmer is very low power, MIPS and ROM size wise, so I guess it can make sense that the designers came with a custom formatting and file format, bare bone, that would require very low CPU grunt and code size.So I think I could do some more work... maybe I could try to do a binary dump of the disk and see if I can see "patterns" in it, hell maybe decode some ASCII text in there ! That would be fun.So I guess it definitely requires to be connected via serial port to some desktop computer running some software, in order to operate.I can't find any information about this programmer on Google, never mind software, so it's basically a brick, a big door stop, a boat anchor.Still, it was so cheap and cute that I bought it anyway just to play with it and tear it down, and the joy of owning it. So that's what I did. I am not disappointed at all in this regard, I very much am happy I bought it. Result below with pics to be spread over multiple message for clarity.I am writing this thread to document this thing. Given how hard it is to find any info on it, it makes it exotic/rare so worth being exposed I thought, especially since it's quite a substantial piece of gear...Also I am hoping that people who actually know about this thing, might give me some info about it. Any info is better than none at all....My hope is that it's not French, but rather Canadian. I mean French stuff is confidential and low volume, there is rarely any information about them, never mind a comprehensive service or user manual or anything really. If it were Canadian, hence more North American, I might caress the hope that like most high-end gear from that part of the world in the '80's, like Tek or HP.. there is decent documentation about it somewhere... somewhere.... but where ?Thread could also be used to append stuff if I ever try go further with this thing. Like say try to repair the cosmetic damage, do some reverse engineering, or ever find some piece of info about it. I could put everything here, it would then be a one stop shop for other people as well, should anyone on this planet happen to have another one of these...TEAR DOWNAnyway, now I will post all the pics, sorted by category / theme, with some text to explain what's going on.First round of pics for this introductory post, let's start with the exterior pics here, and cosmetic damage.So as I said it's big, really big, and really heavy as well.Back panel is a still plate. Rest of the enclosure is two halves top and bottom. Very thick, chunky plastic, which I suspect might be reinforced with fiber glass or something. Surface finish is grainy/textured.At the back we have as I said not much but two DB25 serial port, and a cooling fan, equipped with an air filter luckily, which probably explains why the inside of this thing is kinda spot less, lovely.It was very dirty and dusty when I got it. Spent 30 minutes cleaning it and rubbing the top with a wet scotch brite pad to remove most of the minor scratches and marks.Damage :1) Now looks much better only the very deep scratches are left, and there is one that's huge, very deep and very long... I would rather qualify it as a gouge, or even a trenchit's so deep the it dug into the core of the material, which as yuo can see is brown, which makes the gouge visible from a mile away2) At the front there is a "grill" that runs all along the edge. Most of it is fake, except where it is not : near the left corner it's an actual grill, provides an exhaust port, the PSU is right behind it. Two "bars" of the grill have been broken/missing. By sheer luck one of them actually ended up inside the device and I stumbled upon it when I tore down the thing. The piece is intact so I could potentially super glue it back into place. I would still be missing the other/second bar, but it looks much better with one missing bar than it does with two.. so better than nothing me think.3) Seller did pack it properly so it got damaged during transport : the front lower right corner got a big hit, it cracked, starting from the bottom/hidden area, but then propagating towards the front and top of the case, going through the floppy drive bezel then ending up in the bottom left corner of the fixture area. There, the crack ended and led to a chunck of the case being broken, ejected... but I don't have this missing piece sadly. So again one can see the brown material exposed, looks crap. The crack could be super glued I guess. The missing material I do'nt know... either I could fill it with epoxy or something, then paint it, trying to mix a custom colour to match the existing finish as best I can. The texture/grain would be lost but it would still be much improved.Other possibility is to steal a small chunck of plastic from an inconspicuous area at the bottom of the case, and use that to craft a replacement piece that would fill the hole. This would require good skills to shape the piece just right, but would have the advantage of providing the same colour and surface texture as original.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 09:50:24 am
content: Details of the main 3 damages : gouge on top, broken grill at the front left, big crack at the front right.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 10:01:35 am
content: Now cracking the thing open !!Very nice construction inside. Thick black anodized aluminium plates, to begin with.The floppy drive is secured to two angles using... overkill gorgeous stainless steel BTR screws, lovely.On the left we have the power supply, which looks like an off the shelf industrial grade module. Only the black aluminium cover looks custom.On the right, the heart of the system, that big black box... which hosts 5 boards stacked horizontally. The back plane connecting them all together is therefore vertically mounted. that one is visible, it's the one you can see on the pic. Said board also supports a buzzer, and the output cable coming from the power supply connects straight to it.Pic of the system disk as well.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 10:13:00 am
content: Now the power supply.All the outputs are available on the edge of the board which is kinda exposed. The terminals are labeled, to some degree.so we have +/- 5V with sense wires, and +/- Vdc ... "Vdc", it's all it says ! I measured them and it's +/12V.All rails are good and low ripple, so the PSU is fine and the filter caps in this thing are somehow still good !I then popped the cover to see what it looked like inside.It's a switching supply, 100 watts it says on the read panel.Primary has two switching transistors, topology looks similar to the primary of the supply in my old Tektronix 22XX series scopes of the same era : no controller IC, but a discrete / home made oscillator. Primary of the transformer has a middle tap going to the supply, then the two transistors switch one half of the primary winding, in turn.The supply with the most grunt is of course the +5V rail, to feed the bucket load of current hungry TTL chips you expect to find in such a device of this era.This rail appears to be the "master" rail, regulated by the primary. On the secondary you din no regulation for it : just a beefy double diode mounted on a heat sink to full wave rectify the secondary winding from the transformer, then filter caps and that's all. I measured it at about 5.15V (under load/normal operation). As usual in those days they pump up the 5V TTL rail to make sure it can deliver in action...The other 3 rails, "secondary" ones shall we say, do have their own dedicated regulation on the secondary side.The +/- 12 V rails are done with a 7812 and 7912 in za TO3 package. The -5V supply looks like is done with an LM337 in a TO220 package.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 10:47:04 am
content: Now the stack of 5 boards constituting the heart of the system, inside that big black box.Removed the top plate so I could have a better look. removed two plates on either side, that secure the locking tabs at the back of the boards, just in case the boards decided to unplug themselves...Then I could pull the boards one to have a look. Here it is.Board #1 (starting from the top)It's the CPU board. It runs with an 8 bit CPU, a 6502, running at 8MHz if I believe the crystal that's located..... two miles away, at the very opposite side of the board !The EPROM for the code next to the CPU is D27128A, so only 16KB. Not much...There is another EPROM on that board, but far away from the CPU so I don't think it contains code... maybe some lookup table that's part of the glue logic, who knows.Board #2This one is the floppy drive controller. The left half of the board contains all the chip that make up the controller, and the right half is an array of RAM chips dedicated to the operation of the controller.Board #3This board is I would say the "master" I/O board. It is connected to the two remaining board below it, via a couple ribbon cables as you can see.It also carries the connector for the extra mega super wide huge ribbon cable that goes to the programming fixture / ZIF socket.The left half of this master IO board (c), has mostly some diverse analogy stuff:- A local voltage regulator, LM317 in TO220 package.- Op-amps : x2 LM358- Comparators : x2 LM339- x3 AD558 = 8 bit DAC- The obligatory, lone discrete transistor... a 2N2222A of course, what else !The right half on the other hand has a clear structure / pattern to it. Definitely pure I/O stuff.It has some TTL chips, lots of ULN series chips so must be Darlington arrays I guess.Lots of diodes as well, and lots of LM339 comparators.Board #4Two more I/O sections similar to the one described above.Board #5This board, the last one, is analog. Looks like it's sole purpose is to generate various programming voltages.All along the top edge of the board, we have a series of x5 LM317 voltage regulators mounted on the individual heat sinks, with nearby, a cluster of x5 multi-turn trimmer pots, with a dab of glue on their screw.The third of the board near the bottom / back plane, is filled with TTL chips, I guess to interface with the backplane/ CPU board.Then in the remaining space on the board, middle left and bottom right, we have two spots of analog stuff :a local voltage regulator LM337, some op-amps again, LF351 and LF358, some ULN interface chips again, and a LF398op-ampno, looked thatone up and it's something completely different : a sample and hold chip ! So I guess these programming voltages are not just "open-loop"... they must actually be monitoring what's going on as well, to be 100% sure !

author: srb1954
author_rank: Super Contributor
timestamp: October 31, 2022, 10:55:18 am
content: It is odd that there is a CRTC display controller chip (MC6845) on the CPU board but I don't see a socket for a video monitor on the rear panel.Is there an internal connection you can hook up a video monitor to for debugging purposes?The extra EPROM that you observed not connected to the main CPU bus might be a character generator ROM for the video display.

author: Paceguy
author_rank: Regular Contributor
timestamp: October 31, 2022, 11:01:27 am
content: Hi Vince,I would highly suggest that you contact Matthieu Benoit at matthieu.benoit.free.fr. He has much info on older eprom programmers and could be of help to you. I too have picked up a couple of vintage programmers and Matthieu has been of great help. I believe that yours is not a stand alone one and has to be linked to a computer. Good luck with your project!

author: pcprogrammer
author_rank: Super Contributor
timestamp: October 31, 2022, 11:02:18 am
content: Quote from: srb1954 on October 31, 2022, 10:55:18 amGood catchMaybe the board has been used in other devices too, that did have a display. By the looks of it there are a couple of chips (dip6 and dip8) not mounted, that might be for the video output.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 11:14:41 am
content: Oh forgot one last round of pics sorry ! It's the programming fixture, which I took apart as well, of course !Inside, lots of goodies : about 20 DIP reed relays, as many dipped tantalum caps, and as many lovely wire wound resistors. Right there I have my expense covered !The bottom of the fixture case is a thick metal plate which adds a lot of weight to the fixture and makes it feel "expensive"Pic of the two sockets on the programmer, once you pull the fixture off.Pic of the board on the inside of the programmer, on the other side.. as you can see it holds a LOT more stuff than just two sockets !Lots of electronic stuff on that board... TTL chips, ULN interface chips, a few DIP reed relays again, all branded "Celduc", whoever they are... including a fancy one in a metal housing !There is also a 4MHz crystal oscillator in there... strange.THAT'S ALL FOLKSThat's all I can say for now... following the quick tear down I did last night on this thing.Again if you have any information, links, material about this programmer or maybe at least this company/manufacturer, or similar products in this range, better than nothing... then please speak up and share !

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 11:16:46 am
content: Quote from: srb1954 on October 31, 2022, 10:55:18 amOh wow, thanks for that !!!You have just given me a rabbit hole to explore, sounds really cool interesting fun and exciting all at the same time !!!I will now take it apart again and go that route ! Well, maybe not right now... have so many other projects I need to do first.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 11:18:52 am
content: Quote from: Paceguy on October 31, 2022, 11:01:27 amThanks a lot, will contact him for sure !!

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 11:23:44 am
content: Quote from: pcprogrammer on October 31, 2022, 11:02:18 amYes I think generally speaking there must have been other versions of this programmer, because some stuff is unused or unpopulated.- On the CPU board I notice an empty foot print right next to the code EPROM, same size. So maybe provision for an extra EPROM, more code to implement more features.- Still on the CPU board, right next to the CPU there is an equally large foot print that's unpopulated. Looking the pads / traces pertaining to it, it's clear that it's meant to host a large backup battery eh ?- on the back plane PCB, there are two ribbon cables plugged there, + the PSU connector. But I also see 3 unused connectors : a small 2 pin one next to the one that feeds the PowerON LED at the front.Then there is a 2 row header that most likely meant for a ribbon cables. Then a third header, single row this one, for God knows what. Maybe for a video output !!

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 12:30:48 pm
content: OK, Googled a bit more. Still can't find anything about the programmer or any programmer they might have made, but at least I found some info about the Manufacturer itself, I am less in the dark.The bad news : it IS indeed French ! So all hopes of finding documentation or anything, has just vanished into the aether !Will contact Benoit anyway of course, but I see on his Website that despite him being French hence local to Micropross like me, and despite his very comprehensive collection of devices... he doesn't have a single bit of kit from Micropross, so not looking good !So, what Google found me, is an old article from a local/French business oriented journal, " L'usine Nouvelle ".https://www.usine-digitale.fr/article/le-lillois-micropross-s-adosse-a-national-instruments-pour-se-developper-dans-le-test-de-paiement-mobile.N359819Article explains that Micropross is a little French company, based in Lille (big city in the far North of France, near the Belgian border), that was founded in 1979 when I was 2 years old. The subject of the article, which is dated 2015, is to say that in 2014 Micropross, who gave up on chip programming H/W and moved on to the design of other types of test equipment, sold itself / partnered with a much bigger... and American.. company. None other than NI / National Instruments ! In 2014 they were staffed with only 47 people, made 16 Millions Euros Gross revenue and 92% of that was made abroad !Honestly I don't quite see how a 47 company could have designed a programmer that complex, money wise, and in a time frame that made sense... so I suspect that in the '80s when they developed this programmer, that had a few more people around...Also found their website. It's got its own "identity" but as you can see from the domain name it's indeed part of NI....Here is the link to their "About us" page which explains them joining NI, along with a pic of their HQ in France:https://micropross.ni.com/company/OK so that's "something" I guess. Ni being a big company, if they care one bit about "customer" service, maybe they can help me out here.... nope, not a chance. At best they will redirect me to Micropross which, again at best, will be kind enough to reply to me, only to say "sorry obsolete product we have no documentation left paper or digital, it's all long gone, goo luck and thanks for your interest in our products ! "......Will try anyway, on a "nothing to lose" basis !

author: Zoli
author_rank: Frequent Contributor
timestamp: October 31, 2022, 02:22:06 pm
content: Quote from: Vince on October 31, 2022, 09:47:52 amMy suspicion: one serial is for computer communication, one for terminal communication; so it would be worthwhile to check for Tx activity on the ports during startup.

author: Paceguy
author_rank: Regular Contributor
timestamp: October 31, 2022, 03:39:45 pm
content: Matthieu Benoit may not have anything on his site concerning Micropross, but he may know someone who could be of help to you. I believe that he has a fairly wide network of contacts with people who are into programmers.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 04:00:19 pm
content: Quote from: Zoli on October 31, 2022, 02:22:06 pmStupid me, thanks for pointing the elephant in the room !I guess the bigger the elephant the harder it is to see.....OK will do some probing soon, stay tuned !

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 04:01:32 pm
content: Quote from: Paceguy on October 31, 2022, 03:39:45 pmYeah, probably ! We will soon find out, as I already e-mailed him a couple hours ago, and pointed him to this thread.

author: PaulAm
author_rank: Frequent Contributor
timestamp: October 31, 2022, 05:56:39 pm
content: At that era serial display terminals were quite common. Today you would just use a comm program on a pc, of course, but they were pretty rare in those days. Looks like it was probably a pretty pricey item when new.

author: capt bullshot
author_rank: Super Contributor
timestamp: October 31, 2022, 07:03:25 pm
content: Quote from: Paceguy on October 31, 2022, 11:01:27 amWell, that name rang some bell ...Yes, it's the place where I used to find some useful information about my ALL-03 porgrammer:BTW - Vince: I enjoyed your teardown pictures. Afair, the 6502 doesn't have an internal Xtal oscillator, so IMO there's a dedicated oscillator (might be as simple as some '04 gate) for the 8MHz and the 1.8432MHz baudrate crystals. No need to place the crystals near the 6551 and 6502 chips.

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 08:22:56 pm
content: Good point Cap'tan about the oscillator.....I already got a reply from Matthieu Benoït, that was quick !Sadly not much info. He says :1) used to know someone who knew these programmers well, but the e-mail address he had for him doesn't appear to be valid/working any longer. Also he added that this person was really really really old... so chances he passed away sadly, taking valuable information with him for eternity, bummer !!2) He does remember these particular programmer very well himself. He can vividly remember a particular shop in Paris, back then, that had two of these very programmers, along with documentation and disquettes. He chose not to buy one because he found them too bulky... even back then !He gave me the name of the shop and the town, which is near Paris. The name of the shop rings a bell, think it's quite well known, probably still exists today, will check and try to contact them about it !You never know your luck... maybe they have some stuff related to it still in an old box hiding somewhere under a desk, or someone remember something about it...I bet whoever worked in that shop back then, is long retired or dead, but maybe before doing so, they passed some knowledge to the next generation of staff, who knows... worth a shot !But as he says, given that these were French / local, chances are there are still some French people alive today that live somewhere, and could help. The challenge is of course to FIND these people !

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 09:00:04 pm
content: Quote from: Zoli on October 31, 2022, 02:22:06 pmOK I played in the RS232 department. Here are the results before I fall asleep in a couple minutes probably (it's only 21H40 but well... I don't understand...).So, I scoped both serial port during power up / boot from the floppy, for activity on the TxD pin.Zero, nada. Well, I get -10.9Volts. Then I scoped each one of the 25 pins, and some of them have voltage... 4 of them to be exact, same result on both ports :#4 = +12V#5 = +6V#6 = +6V#20 = +12VSo at least I know these port run +/-12V signals, that's a beginning... Sure it was to be expected since the PSU gives 12V rails, and it's meant to be connected to a computer which also usually run their RS232 on 12V. But well, nothing prevented them from doing some voltage upping to reach the 30V of the RS232 standard.So what we also know that clearly the UART uses some of the control signals rather than just RxD / TxD. I guess it was to be expected for such an old device.I removed the PCB that holds these connectors, from the rear panel, so I could get a closer look at the tracks going to the DB25 connectors.Indeed many track are routed to them, and they are connected to the backplane PCB via a 20 way ribbon cable. A good part of that is used by the 6 way DIP switches used to configure each port.Anyway. This means the programmer probably is not set up to send data on its own, at power up, unsolicited. The terminal connected to it, must be expected to ping/interrogate the programmer first, then only the programmer will respond.Since I don't know the command set, nor what these DIP switches do, how to configure them, what control signals are used and how... it's a bit hopeless trying to communicate....I mean it's not IMPOSSIBLE... but would require some painful reverse engineering to draw the schematic of that board, what the DIP switches do exactly, then lots of trial and error, trying every baud rate under the sun, combined with ever possible configuration of hardware control and start and stop bits configurations. Oh my god.... maybe one day... but not today.Some good news though, well maybe : notice how there are two unpopulated connector footprints on this rear PCB ? One is 2x18 pins, could be for GPIB maybe. The other one is 2x8 0.1" header, so could be for a VGA output as far number of pins is concerned. 16 is more than 15.. so good enough. I guess one would need some adpater to connect a DB15 VGA to that header, but maybe the manufacturer provided that...Now, the two ribbon cables for the serial ports, are connected to the front of the programmer, on the backplane PCB. On that PCB there is a 2x8 header... same as we found on the rear I/O PCB hmm...; so logic would say that maybe, the video output from the CRT controller on the CPU board, is routed on the back plane to that 16 pin header... so all I have to do is scope that back plane,, easy enough, to see if I see some video action going on....HMMMMMM !!!!!!STAY TUNED !!!

author: Vince
author_rank: Super Contributor
timestamp: October 31, 2022, 11:07:03 pm
content: Oh boy I could not help I worke don the thing some more, it's addictive, a drug, pure and simple. I should have picked another hobby when I was a kid....OK so, several thingsBenoît MatthieuHe e-mailed me again, saying the shop in Paris is long gone, so no go !However he did give me the name of that old chap that he knowe and who knew that programmer well. I can try finding him see if he is still with us today...GPIBOK so I think that 2x18 footprint on the rear / IO PCB is most likely not for GPIB. As you can see on the picture posted earlier of that PCB, all the traces from that connector are routed straight to the smaller 2x8 header footprint....also, on the back plane, I have a matching 2x8 heaer but no 2x18 header anywhere.So clearly, the back plane feeds only the 2x8 connector at the rear, and the 2x18 is just a duplicate that offers the same functionality, just using a different connector.so this is bad news, it means that this 2x8 header mos tlikely is Not our much desired video output... because then it would mean there was on the market some video cables using a 38 pin cable ?!Not likely is it.... never heard of it anyway..In order to confirm that, I scoped the matching 2x8 header on the back plane, and yeah, zero sign of activity on all the pins, nada.UARTI looked the datasheet for all the big DIL chips on the CPU board, to see what's what.- MC6845 = CRT controller as was already exposed.- R6522 = VIA chip, in modern talk : an I/O chip... contains 2x8 bit ports, 2x16 timers, and some shift registers.- MB8416, 4 of them. They are 2KB static RAM chips. 2 are next to the CPU, and the other two next to the CRT controller, so probably a frame buffer or something.- R6551 = the UART.HOWEVER... what I don't get, is that the datasheet says this chip contains only ONE UART !!! But we have TWO serial ports at the back !so I guess there must be some multiplexing going on, and the CPU can use only one or the other, but not both at the same time... it must make a choice at some point... so that's quite an important / interesting finding here.ALSO... I just got a crazy idea to figure out what is the configuration of the UART !!! Really silly, but hey it's still an idea so it's gonna count for something eh....Here goes : using a logic analyzer, I could spy the data bus and control signal at the UART chip, at power up, and see how the CPU is configuring the chip ! Spy every write the CPU makes, to see what registers are getting written, and with what value.No, I don't have a logic analyser.... or DO I maybe !Remember... the other day I got tha told 54645D HP scope, "Megazoom" ASIC, 2x100MHz .... MSO !! It has a built-in 16 way logic analyzer !!16 lines is enough to look at th 8 data bus + some control signal ! I could watch the chip enable pin to trigger the scope, then watch the R/W pin and RS / register select pins. Oh yeah, at last a real world interesting use for "new" HP scope !!!!!!!!!VIDEOI kept the best for dessert of course !!So if you have been following along, you now know there are two unused connectors / header on the backplane PCB. It's now clear that the 2x8 one goes to the rear IO PCB. But what about the other one ? 1x8 one ? This one no idea where it goes !So I scoped it anxiously.... and yeah found LOT of activity on there !!! CRT controller is monochrome so the signal were expected to look "digitally". And that what I found !From memory, out of pins, 2 show no activity, probably ground, and one is at 12V solid, so probably the 12V supply. But the other 5 pins all have constant activity, trains of pulses, 5V " TTL" of varying content and timing, all perfectly repeatable / stable on screen.... looking GOOD ! Most likely some kind video signal !!!Sorry can't show you anything, can't hold the probe on the pins with one hand and hold the camera with the other to capture the scope's display....It's 00H05 here, I am dying, so tired.So tomorrow I will plug some old FDD ribbon calbe onto that header (male/female dupont wires would be best but I don't have that...) so that I can hooke the scope probe ontot those signals and have both hands free to operate the scope, take notes and take pics to show you these signal and have your input.Can't wait !!!Once we have the characteristics of all the signals, we can try to figure out what kind of video output standard that corresponds to, and from that we can start coming up with a plan to figure out how to display that signakl onto a monitor !!!See you tomorrow !!!

author: syau
author_rank: Frequent Contributor
timestamp: November 01, 2022, 12:01:32 am
content: Quote from: Vince on October 31, 2022, 11:07:03 pmThe floppy disk controller board has a TMS9914 which is a GPIB controller so likely one of the header is for GPIBThere is also 75160 and 75162 GPIB transceiver

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 09:22:46 am
content: Quote from: syau on November 01, 2022, 12:01:32 amOh, thanks for that, interesting indeed !I will look into that more closely then, to confirm that this x16 pin header is indeed GPIB, that would be cool !... another cool thing to investigate, great

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 10:00:34 am
content: OK, Matthieu Benoît e-mailed me again with more info ! He rocks indeed !!1) He was mistaken, the programmer he saw in this Paris shop back in the day was not a model 3000U but 5000D... his bigger brother which he remember had a MONITOR along with it !So yeah, it's now a certainty, there was indeed a higher end model, and all these unused connector headers and foot prints here and there now are confirmed to make perfect sense.2) He steered me to a thread on this French forum :https://forum.system-cfg.com/viewtopic.php?t=5743Thread dates back to 2014 but still... it's pretty much "recent", as far as this programmer is concerned, isn't it...Lots of little pieces of interesting info in there !Look there is even one of the engineers who worked on designing this programmer back in the day !Documentation :- Someone almost got some : found a web site which was selling this programmer. He asks them about documentation, replied they had some but would charge 100 bucks to photocopy and ship it ! So the guy didn't buy it- Someone contacted Micropross directly about documentation, and they did reply !... .only to say that they "lost"/ scrapped everything they had when they moved building.Floppy Disk :- They confirm what I envisaged : if I can't read this floppy from my computer, it's not because it's bad/dead (maybe it is, we just can't know at this point !), but it's because it does indeed use a special/proprietary format !- Someone said that usual floppy copy/imaging S/W on PC's can't handle this format, no joy.- Someone else said that on some old computers like the Atari 520ST, you had utilities that could make an actual copy of a floppy, i.e disregard any formatting or data structure, and just copy bit for bit from end to end, blindly, whatever is recorded on the disk ! I need that !- The Engineer from Micropross said that A) the only special thing about their in house disk format is that they use sectors of 256 bytes instead of 512. and B) They wrote a PC utility in house, so that they could work on their disks using a regular PC.- People confirm that the machine needs the floppy in order to boot. It's mandatory. You can't just make it work using the serial port connected to a PC. You first need to power it up, boot from the floppy, then connect to the PC.Operation :- Someone has a working 5000D unit, with a good boot floppy. He says the unit can be operated STANDALONE. It boots from the floppy and then puts stuff on the screen with menus. One of the options is to make a copy of the boot floppy. However he tried that and when the programmer tries to format the disk, it fails...Conclusion :All this good info found only on the FIRST page of this that thread, and there is apparently 5 pages total ! So will read all that and probably learn some more cool stuff !!!NEXT : looks like two members there, have a working 5000D ! So they could help me I am sure... for example they could maybe help in telling me details about the serial links, how it is configured exactly, H/W control scheme used, what to do with the DIP switches, etc etc...If the 5000D unit is stand alone, I guess the extra serial port is used to connect a keyboard ?That would explain why there the UART chip has only one port inside : either you use the thing standalone hence the K/B connected to one of the serial ports.. or you use it remotely from a desktop computer, hence you can use the keyboard from that computer hence you don't need to use a local K/B. That could make sense...So we would need to reverse engineer that local K/B interface to see how it works, so I can design an interface to use a regular K/B...Oh it's fantastic, so many new paths to explore now ! Looks like this is one hell of a vast fun reverse engineering project with many ramifications and child/sub projects ! This bloody programmer will keep me busy for YEARS to come !

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 01, 2022, 10:29:10 am
content: Reverse engineering 6502 is peanutsEvery chip used in the thing must have some datasheet somewhere on the web.But yes you can have lots of fun with it.

author: syau
author_rank: Frequent Contributor
timestamp: November 01, 2022, 10:32:16 am
content: Wonder if one of the DB9 port is digital CGA/EGA/VGA which is common in these days before move to 15 pin analog VGA.

author: alm
author_rank: Super Contributor
timestamp: November 01, 2022, 12:57:05 pm
content: I believe in the vintage computer community there's a lot of experience in dealing with legacy floppies and unusal formats. There are even emulators like Gotek and HxC that will take modern media and emulate a floppy drive. If someone had access to an original floppy, it would probably be possible to clone (to another floppy or to modern media) given the right equipment and knowledge.I would see if there's any vintage computer using the same floppy format, and see what people have written about it. Of course this is probably useless without having access to an original floppy.

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 02:24:06 pm
content: OK, 14H30 here, spent all my time since I got up, working on this thing !Did what I said last night, took the time to probe all 8 pins on that back plane connector, to look more closely at what might be video signals.It all went well and I thinkj I can confirm it's indeed our much desired video output, and it's well and alive !So as explained, no appropriate Dupont wires here, so I dug out and old floppy drive ribbon cable and sacrificed it. Works just fine. I was able to secure my scope probe and have both hands free to observe the signal at great length.. and take pics and even a video, going modern here !So here is what I could figure out :Pin #1 = GNDPin #2 = Slow Clock signal, about 21.5ms / 46.5Hz , short 1.04 ms pulses.Pin #3 = Video data / signalPin #4 = +12VPin #5 = Fast Clock signal, about 65µs / 15kHz, short 8µs pulses.Pin #6 = Video data / signalPin #7 = Video data / signalPin #8 = +5VSo we have 3 video signals. So that means the programmer, well its big brother the 5000D version, was meant to be connected potentially to fancy colour monitors.Unsurprisingly, since the CRT controller is monochrome only, I witnessed that all 3 video signals showed identical content. I guess this makes it compatible with colour monitors.So that's good, it means I don't need to search for an antique monochrome only vintage monitor. A colour one hence maybe of a more modern / easier to find, design, might be compatible. With some luck we might find out later that it's compatible with good old VGA, in which case I can just grab any of my old monitors here !But it's too early to be that optimistic just yet...Clocks : I guess the slow one could be the vertical sync signal, telling the monitor when to start drawing a screen / frame ? 46.5Hz is about the kind of refresh rates we used to have on old monitors eh ? Sounds plausible.Then the faster clock I guess is the horizontal sync signal ?My time/frequency measurements are only approximate of course, just me trying to measure them as best I could on the scope, but maybe that's good enough to try to figure out what kind of old video standard it might correspond to ? VGA or not ? CGA ? Whatever.... anyone knows these things ?Signal amplitude : I notice that the video signal is not TTL / 5V, despite the CRT chip being of course TTL levels. They get only to 4V.I am thinking that it may be normal. Maybe the last 1V is used as headroom to make the text brighter than the normal text.OK so now for the dessert : I scoped, and filmed, what the video signal is doing during the entire bot process.I used two probes. First signal at the top, in small to preserve screen real estate, is Vertical Sync, for reference, so that we know where a frame starts and ends, so we can make sense of the contents of the video data, know where it starts where it ends.The boot process / video lasts about 1min30sec so I am sure you will make the effort to watch it, hopefully....Before you do watch it, let me explain :- I set the time base to 5ms so that we can see two screens worth of data : one screen on the first half of the graticule, then another screen, and towards the end we see a little bit / beginning of the third screen.- I gave up using the scope (my Philips Combiscope) in analog mode because it was unwatchable and signals hard to see. Switched to digital mode. The pulses look crap of course, but at least the screen is not blinking, the brightness is even between ground level and the pulses, and you can see easily the pulses. In short it looks horrible but it conveys the important message much better... so I went for that. Lesser of two evils.OK so here is what is going on :- First, you see no signal. Programmer is powered up.- Then I power it up, and soon signals stabilize.- We can see that the video content appears to start on the falling edge of the Vsync signal.- We have data/content during the first third of the screen, then dead space for about half of the screen, then at the end we have some content again.- This content remains unchanged during the entire boot process- Then when the boot is complete (you can hear the floppy drive stops making noise), the content changes, with only a little bit of data at the very beginning and at the very end, and all dead space in between- Now during the boot process, do you notice something interesting ? Look at the first packet of data. At the end of this packet, there is an area that literrally "blink", regularly, like clock work, during the entire boot process. It blinks at the same speed that a blinking cursor on a text screen would !SO !From all that, I think we can say that :At power up, the programmer displays some content for the top third of the screen, maybe some splash / welcome screen, and below that a blinking cursor to indicate that booting is in progress. The at the very bottom of the screen, some content again, maybe a status bar or god knows what.Once booting is complete, it clears the screen, cursor stops blinking, and we are left with only a bit of text at the top, maybe a command prompt, and a little bit of text at the bottom, maybe a status bar, menu bar detailing options, whatever.How cool ! Just looking at my scope and living the boot process as if I had a monitor actually plugged in, trying to imagine what would be going on on the monitor !!Oh I love this thing, so fun and exciting working on it !!OK so we are making good progress here aren't we ? We know we have a video output, that it's actually active even though not available to the user at the rear. That's fantastic news. And we now also have details about the signals being generated, and their timing and amplitude !So now let's figure out what kind video standard that is, and let's plug some monitor !!!

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 02:59:56 pm
content: Hmm making progress !I just Googled a bit about VGA.Looks like it can work with just RGB Hsync and Vsync like we have here on this programmer, cool.However it says that voltage levels for VGA is standardized to 0V for black and 0.7V max for white.This means that our video output is not meant for VGA, since our voltage levels go up to 4V, with suspicions that it may go all the way to TTL / 5V for extra brightness.However, since I have only VGA monitors here, no older standards, I am thinking I could maybe just lower the voltage with simple resistive dividers (or just a trimmer, might be better to fine tune/experiment...) ? Just for fun really, just to see if I can get a VGA monitor to display "something".... anything at all... no matter how scrambled or distorted, would be fun to see !!!Will try that !!!

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 01, 2022, 03:15:26 pm
content: Hi Vince,good work. You found the video levels for VGA too, and a restive divider will work.The video signal looks interesting and what came to my mind was some blinking cursor shown while booting.Will be nice to see it on an actual monitor.Edit: The clicking noise on the video is that the floppy drive?

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 03:25:28 pm
content: Yes the noise in the video is the floppy drive working !I enabled the audio in the video so you can hear it and "live" the boot process, and then match its disappearance with the change in contents of the video data.

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 01, 2022, 04:11:47 pm
content: Hi Vince,I forgot that in the old days we had monitors with TTL inputs, so the 4V level you are measuring is not to allow some headroom for brightness, it is just the outputs not reaching the rail.For the VGA monitor the inputs are 75 ohms, so adding a resistor in series of 390 or 470 ohms will do. You can test it with only one of the signals, but means that what you see on screen will not be white, but the color of the input you are using.

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 06:10:48 pm
content: Thanks for that. Saw your comment just in time before I fired it up, so made that last minute change !Just powered it up... sadly the monitor doesn't detect a valid signal.Took me over an hour to manage to connect the programmer to a freaking VGA cable, believe it or not !So many things went wrong. everything. It's amazing how much can go wrong in such a simple "project" !Interconnect and prototyping definitely is not as quick and easy as I would like it to be.My "best" solution, given what I had to work with, is this fragile horrible mess.Anyway it doesn't work, miracle don't happen so easily....I will try to troubleshoot it but it's a pain. I think I might as well spend more time and a we bit of money, a few euros, to try to make something less convoluted/simpler, more compact, more tidy, more reliable....Since I will be working on this programmer for months and years, I need a much more durable and reliable and less messy solution. Something I can just plug and play.I will probably end up making a little board on Kicad and make a dedicated adapter. Yeah, see, YET ANOTHER little sub-project inside the project..... inside the main project !Electronics is a fun hobby !

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 07:46:50 pm
content: OK, 1+ hour of troubleshooting later....Found that the signals from the programmer were not making it to the breadboard...... found out that my ugly FDD cable hack was not a good idea : the cable had already gone bad, pin #1 which carries ground, was not making it to the other end of the cable any moreSo did something better, which I should have done from the get go.... used a female header strip, cut it to length / 8 ways, and soldered solid core wires (much easier to stick into the breadboard holes than the tinned super thin stranded wires of the FDD ribbon cable....) to it, which was surprisingly much easier and quicker than I thought it would be... why didn't I think of doing that in the first place rather hacking an FDD cable... brain fart I guess...Added bonus : now that I know what signals / pins I need, I could solder only 4 wires to the female header, so much tidier than before. So a great upgrade so to speak, see it's already improving !Other issue I found... looks like I got the pinout wrong in my earlier post (corrected now...) ! I thought I had ground on pin #1 and #8... well I found out pin #8 actually puts out 5V !!!I don't know...So since I of course put the two "grounds" together, I was therefore shorting that 5V something to ground ! Does not help...Anyway, I now have my signals making it to the breadboard properly, and I also scoped the video signal after the 390R resistor, and I do get about 0.7V so it's perfectSo, was looking much better, so I hooked a monitor up !Result : no signal detected !Tried another monitor.. still no signal detected, ARGH !!!Tried a third monitor, the last I have.... SIGNAL DETECTED, YES !!!!HOWEVER... no picture, because the monitor complains that the signal is "not optimal, I should use resolution XXX and refresh rate YYY instead ! "FFS don't THINK stupid you, just freaking display what I am giving you !!!I thought OK maybe I got the Hsync and Vsync mixed up.... so I swapped them just to see. Result : fails to detect the signal.So that means I got them right the first time and it's indeed detecting a signal.... it's just that it doesn't like the timing enough to bother trying to display that signal, bummerI guess sub 50Hz refresh rates are so crap that the designers of the monitor thought no customer would ever be likely to be feeding such a signal ! I don't know.... can't blame them I guess.That's the problem with LCD / modern monitors, their VGA input just can't be relied on ! It's OK to connect to a computer graphics card, or a more modern piece of TE like a digital scope with a VGA resolution, but that's about it. To ther defense I guess that precisely all they meant to achieve with this VGA port, and indeed one of my monitors calls it the " PC " input ! Says it all.But for older / vintage stuff, you need an actual CRT monitor.. the real thing. Of course I had 3 of them up until recently but scrapped them all to make space. I knew I would regret it. It's always like that.I can try to use my computer's monitor, my last hope.... but not holding my breath.I guess I will need to go get a cheap old but decent CRT monitor locally, like the ones I had. Will see what I can find within a few kms radius from home.

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 08:02:44 pm
content: OK, just tried my computer monitor (LCD too), fourth and last monitor I have here.Deos the same as the previous monitor : does detect a signal but no picture because it does not like the timing. I says,in scary red background : " OUT OF RANGE ".So it confirms the diagnosis from the other monitor then.OK I will see if I can find a decent CRT monitor locally, and will get back to you !

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 01, 2022, 08:13:50 pm
content: Hi Vince,it might be that the sync signals need to be inverted. And maybe they also need a resistor in series. Could not find the levels of them with a quick search.https://xess.com/blog/vga-the-rest-of-the-story/Edit: And you will probably need a monitor that can handle the ~15KHz. It is basically old TV standard so indeed a CRT based monitor would do. Otherwise some upscale device can probably be found. Adrian's Digital Basement uses one.Regards,Peter

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 08:33:12 pm
content: Upscale device ?! didn't know about these things, thanks will keep that in mindSync signal amplitude ? Yes I did think of looking that up because I wondered if tehy had to be 0.7V as well or not. They don't, they are considered digital signal so are meant to stay at TTL levels.HOWEVER you were right about polarity ! I forgot to pay attention to that, and indeed they are logic NEGATIVE not positive !Let me invert them and see how we are doing after that !!!Well not sure I will embark into that this evening.. .it's already 21H30 am getting tired and the 4 day long week-end is now over, I must resume work tomorrow !So that might be rather for tomorrow evening after work.I could invert the signals using a couple transistors but I think using a TTL logic chip will be more tidy and compact.Stay tuned !

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 09:11:58 pm
content: Done.Was quick in the end.PIcked a 74LS04 in my stock, added that to the breadboard.Need a 5V supply for it... I have one handy !Pin #8 that I thought was ground whch turned out to be +5V instead !Well I now I am using it for what it actually is !Scoped my HV Sync signals, they are inverted properly and are clean.Monitor still complains as before, but well, it needed inverting no matter what !OK so now the hunt for a CRT begins...

author: Vince
author_rank: Super Contributor
timestamp: November 01, 2022, 09:50:02 pm
content: Had a look for local ads.... many hundreds of screens within 20kms around me, incredible... but only 2 or 3 CRT monitors !Found this one real close to mehttps://www.leboncoin.fr/informatique/2020623493.htmA few minutes drive away. 10 Euros (I offered 6 Euros via the website), says it works. A DELL, looks decent and although ad says nothing about model or screen size, it does not look too big which is good as I have zero space, my back is fragile and since we need it for very low resolution pictures, 14" would be plenty enough, so anything above that is already questionable... but you get what you can find, and this one looks overall OK.Sent the guy a message, asking if the thing is still available because... well the ad is a year and 3 months old !

author: Zoli
author_rank: Frequent Contributor
timestamp: November 02, 2022, 05:23:29 am
content: Quote from: Vince on November 01, 2022, 09:50:02 pmVGA monitors start at 31.5kHz&up on horizontal frequency; what you need here is a CGA/Hercules/EGA monitor, since those are capable of 15-16kHz horizontal frequency; or an up-scaler which can handle the signal.Edit: another option would be to generate composite video from the available signals.

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 02, 2022, 05:48:51 am
content: Like Zoli wrote, I don't think that monitor will do.Here is what Adrian from his Digital Basement is using.https://www.retrotink.com/It is not cheap but for playing with old computer hardware it saves a lot on space.This is another one he did a video about.https://texelec.com/product/rgbtohdmi-ttl/Edit: Found something less fancy on Aliexpresshttps://nl.aliexpress.com/item/4000516564335.html

author: Vince
author_rank: Super Contributor
timestamp: November 02, 2022, 08:03:53 pm
content: Wow, glad I had a quick look at this thread this morning befdore hurrying to work, I was able to send the seller a message to cancel the deal in time ! Mercifully he was very understanding/forgiving, no drama .I am ust say UI ma surprised that a VGA monitor can't display EGA, I mean lower resolutions in general, since the H/W is capable of it ? I mean you can't ask a 14" monitor to display what a 21" CRT can, because it simply doe snot have the H/W ressources, the bandwidth to do it ! But a 21" can of course display lower resolutions like 1280 or 1204 or 800 or even 640/VGA of course..... similarly I was assuming that any VGA monitor could display preceding video standards like CGA/EGA.I also just found this Wikipedia page about EGA which does say that VGA did support EGA :https://en.wikipedia.org/wiki/Enhanced_Graphics_AdapterAnyway... I don't really have the space for a CRT monitor, and I will gladly buy that 20 buck gizmo from Aliexpress to let me use my existing VGA LCD screens.Not a big fan of composite, because not all my monitors have it, and those that do, I have had mixed fortunes trying to get them to display the composite output from an old VCR I was working on earlier this year. However VGA seems to be present in just about any old LCD screen I get passed, and all of them manage to display the VGA signals I send them, be it from a computer of from my old Tek scopes.OK so I will buy that gizmo, first try to find it on the French version of Aliexpress or other reseller... this will probably take 2 to 3 weeks to arrive, as per usual... so in the meantime I will be able to get back to my other projects / activities. SO, dummy load DIY and PSU fixing.... old man is a bit pushy about me fixing it.

author: Vince
author_rank: Super Contributor
timestamp: November 02, 2022, 08:08:39 pm
content: Forgot.So since VGA is about 30kHz Hsync, for 640 pixels wide, and the programmer is about 15kHz.... I guess that means the video output on the programmer is 320 pixels wide, half VGA ? Is that how it works ?Yes I am not too clued on the technical details....I noticed that if I divide Hsync frequency by the Vsync one, 15.000 / 46.5 , I get 320 pixels hmmm....

author: Vince
author_rank: Super Contributor
timestamp: November 03, 2022, 08:27:29 pm
content: OK I just bought that 20+ Euros video converter... from Ebay not Aliexpress. On Ebay I found a seller that's based in France and has stocks locally, so I should receive it much faster than China direct, as well as being guaranteed that I won't have to pay duty taxes if I get unlucky, nor deal with any of the delays and admin BS you can get with importing anything.So I should received it in the next few days normally, great.In the mean time I will resume work on the electronic dummy load to fix that PSU.Oh, last night I had some fun with my nixie counter. Wel, one of my Nixie counters.... my main one that's permanently on the bench ready to go.Was googling to try to find info about timing of H/V sync signal for EGA/CGA, to see i i could find something that matches what I measured.Turns out finding detailled timing info is not that easy...The little I found suggest that my programmer uses nothing that exists !https://minuszerodegrees.net/mda_cga_ega/mda_cga_ega.htmThe Hsync signal is supposed to be 15.7kHz, 63.7µs for CGA and EGA. but I measured 15.4 with the scope, and that's not very accurate.So I measured it much more accurately to be sure of things, using my Nixie counter.... ideal opportuinty to show taht even my vintage counters can still do useful stuff...It measured 15.384Hz and 65.001µs.I read that most monitors are a little bit forgiving about timing accuracy.... so maybe 15.4kHz will still be recognized a valid 15.7kHz signal... I hope.So let's say it's then either CGA or EGA.Now that poses more problem : the width of the pulse on this signal, I measured 8us and this apparently can only be an " MDA "monitor "... but MDA Hsync is not 63.7µs, it's only 54.3µs !Plus, MDA has a negative going pulse for Vsync, but I have positive going pulse on both H and V... which matches EGA and CGA specs.So... I guess the most probable is, it is CGA but with an MDA pulse width....But still, there is one thing that worries me... Vsync freq / refresh rate !The programmer puts out about 46.6Hz , whereas it says taht EGA/CGA is only 60Hz !So doesn't work...Also, how can 46Hz even exist ? I mean it's such a low frequency that the screen would flicker so badly no human would tolerate that !So all in all my sync signals are inconsistent with old standards, it's a pot pourri.So what I am starting to fear, though I do admit it's a bit paranoid and far fetched (so hopefully I will be proved wrong soon...) is that this programmer was shipped with custom monitor !One that was tweaked/specced for Micropross to suit their programmer, to make sure customers could not buy a third party monitor on the cheap to save money, maybe.So that custom monitor had maybe a special phosphor as well, with a very high persistence characteristic to get around the very low 46Hz refresh rate.I know, far fetched, but who knows.In any case, not too worried... I am taking it one step at a time. I just ordered that CGA/EGA to VGA converter, so let's wait for that and see what that does for me. We will take it from there...

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 04, 2022, 05:59:35 am
content: Hi Vince,I think you are overthinking itIt is just standard old TV signals but with the frequency slightly of. It should be 64us but the main clock might be a bit slow. Look at the datasheet of the MC6845 and see what the clock frequency is there.Most likely the gadget you ordered will be able to handle the signal.Edit: Early TV (PAL) worked with interlaced screens, so a full screen refresh rate was only 25Hz and our eyes did not see it flicker

author: Vince
author_rank: Super Contributor
timestamp: November 04, 2022, 08:38:04 pm
content: I like your optimism, may you be right, crossing fingers !Interlacing hmmm..... yep, forgot about this thing, good point ! Very.... good pointGot an e-mail from ebay, says the seller has already shipped the video converter.Guy sends it via regular mail, not a parcel.I paid 30 cents extra to get a red stamp / priority mail... so could be here on Monday !The datasheet for the CRT controller doesn't give a fixed crystal / clock frequency. It just says the clock can be " up to " 2.5MHz.So since we have a 8MHz crystal on the board, I guess the CRTC probably runs on 2MHz... of course I could measure that.

author: Vince
author_rank: Super Contributor
timestamp: November 07, 2022, 07:28:33 pm
content: Just received my video board ordered here :https://www.ebay.fr/itm/304639100056... or did I ?! In the enveloppe NO board, just the big loose connector wired to the board, but not the board itself !!30 Euros for a freaking connector and some wires ?!OK I will return this thing immediately to get my money back..

author: alm
author_rank: Super Contributor
timestamp: November 07, 2022, 07:53:51 pm
content: My French isn't very good, but seems to me like it is as described:Quote

author: pcprogrammer
author_rank: Super Contributor
timestamp: November 07, 2022, 08:03:58 pm
content: Yes that is how I see it too. But almost 30 euros for just that cable bit is ridiculesHope you can indeed return it and tell the bloke to make it more clear that it does not include the board within the first picture on his listing.I guess Aliexpress looks real good now in comparisonEdit: The same seller has the needed board for just 3 euros more:https://www.ebay.fr/itm/303522687731So maybe you can make a deal to exchange things.

author: Vince
author_rank: Super Contributor
timestamp: November 07, 2022, 08:19:17 pm
content: Yes it was my fault I admit.... I saw "board", I saw "similar price to the ad PCprogrammer showed me on aliexpress"... so... CLiCK CLICK CLICK !I should know Ebay sellers better than that !PCProgrammer, yes of course I can return it ! We are in Europe, law makes it so that anything you buy remotely, ie that includes internet, you can return within 2 weeks no questions asked !It's the law. Sometimes law are cool !Thanks for the link to the ACTUAL board, will order that !

author: Vince
author_rank: Super Contributor
timestamp: November 08, 2022, 04:31:14 pm
content: Item has just been returned... waiting for the process to be completed and my money refunded, before I commit to ordering the actual board, from him again... stay tuned.

author: Vince
author_rank: Super Contributor
timestamp: November 12, 2022, 07:48:29 pm
content: 4 days later..... today got an e-mail from Ebay, saying the seller received the connector I sent back to him.So now let's see how long it will take for me to get my money back. As soon as that's done, I order the board from him.In the meantime, I just spent a few minutes on the things this evening.I measured frequencies on the CPU board, to clear things up.... the CPU board is at the top of the stack of board, it's the only one I can probe while the programmer is running.So as we said earlier, we have chrystals on that board. A 1.8432MHz one and a 8MHz one.The othr than ROM and RAM, the big chips we have on the board are :6502 CPU6845 CRT controller6522 VIA6551 UARTSo I checked the clock pins on all of these, and I got :CPU = 1MHzCRTC = 1MHzVIA = 1MHzUART = 1.8432MHzSo the 1.8432 clock is not for the CRTC it's for the UART, and all other chips run on 1MHz.... so you wonder why the hell didn't they fit a 1MHz crystal rather than 8MHz one and divide that by 8 ?I don't know. Maybe other boards need more than 1MHz.While I was at it I scoped the 16 pins of the header on the backplane which I suspect is for GPIB, dreaming to see some activity, but no joy. Guess that's normal, it's a kinda static interface IIRC... unless some computer tries to talk to the programmer, the latter won't wiggle any of the data or control lines.I have my school text book on GPIB, 25 years old now but still relevant of course so... will dig that book out to get a refresher on the subject.I do have a GPIB computer but it's a vintage one that's stored in bits in boxes, and I don't have any room to give it a permanent "spot" in my house/lab. Just no room here.If I want to set it up, I need to put it on the bench, no room esle where. But if the computer is on the bench... then there is no room left to put the programmer or whatever equipment I want to work on.It's a pain... it will improve over time, but not anytime SOON, sadly.

author: Vince
author_rank: Super Contributor
timestamp: November 19, 2022, 04:57:51 pm
content: Seller took his pretty time, guess he was pissed, but he finally refunded me ! Was the last day, after that Ebay said I could contact them to let them "handle" it....So as planned I ordered the video board from that guy immediately.Should be here early next week I guess.Can't wait, getting excited...

author: Vince
author_rank: Super Contributor
timestamp: December 26, 2022, 09:03:52 pm
content: Hello !!!Happy X-mas with a bit of delay.... today I finally got round to trying out the video converter board !!!See pics.....It came with no manual / instruction sheet or any documentation whatsoever.... so I had to improvise.Luckily there is silk screen here. Power jack says it needs 5 to 12V, so I gave it 9V with lab power supply.Looking good : a red LED lights up on the board, that's something...So I hooked a VGA monitor to the VGA output on the board... looking again.There are 4 push buttons on the board to let you communicate with the board, that's handy.At power up it displays some chinese characters, then monitors shos "no signal" error.I press the MENU button on the board and hey presto, a menu comes up on the screen, woohoo !!.... all in chinese though !I went through all the menus blindly, trying all options... until I found the much desired ENGLISH option, phew !There is just Chinese or English available.SO now I could understand the menus. It's quite simple.There is one to adjust the geometry : H and V size and position.Another menu to adjust the colours.Another one to select the output resolution. Yes the board says it converts to VGA, but the menu actually offers you a few higher resolutions as well.So it's all looking promising... so far.So I now needed to figure out how to connect the video signals from the EPROM programmer, to the video board... and it's not clear at all.My best guess is that connector next to the VGA input connector. The pinout indicated by the sill screen show H & V sync inputs, and RGB. Also a mysterious 'S' pin.... which I don't know about.Also, that connector is the only one that fits the cable that's supplied with the board.So I solder my wires and.... nothing. The monitor says NO SIGNAL, bummerAt first I had soldered only the Blue input on the board, seeing as all colours were the same of course, EPROM programmer is monochrome. So I then thought well maybe the board still needs to see a signal on all 3 colour channels even if monochrome, so I soldered Red and Green as well.Try again.... still no signal on the monitorSo.... not impressed.I will google to see if I can find some documentation on that board... here is hoping the programmer doesn't use some proprietary timings.... though even then, I would hope the board would at least display SOMETHING on the screen.... but no.Well that's all you wiill get for a X-mas present from me I am afraid : nothing but my misfortune....

author: Vince
author_rank: Super Contributor
timestamp: December 26, 2022, 09:38:45 pm
content: Google found me this website about the board :https://www.thegeekpub.com/280079/gbs-8200-manual-cga-to-vga-converter/Apparently I wired the thing properly, that's a good start.Says to use the SW button to switch from one input to the another.... did that, has zero effect on the screen not even a flicker.... suspicious.Says to use the AUTO to get the board to automatically detect what type of video signal is being fed to the board.... again this has zero effect that my human sense can witness. Not looking good.The menus don't let you specify manually what signals you are sending to the board, so if this AUTO button does nothing, I am screwed.Did a quick sanity check.... scoped the RGB and HV sync pins.... yes, all my signals are still there....However I noticed that with the connector disconnected, I get TTL level signals, 5V, but once connected to the board the amplitude drops to 2V or so ?!Maybe that not normal and the boards fails to detect the SYNC signals because of that...

author: Vince
author_rank: Super Contributor
timestamp: December 26, 2022, 10:09:57 pm
content: Their website gives a couple suggestions in case like me you get no picture.1) Modify the wiring harness to move the grey wire one notch, next to the yellow wire. Did that, no joy. So I put it back where it was.2) Board can behave erratically if the power supply can't deliver 2 Amps at 5 Volts. Well I set my power supply to 9V and the board draws less than 200mA, it's not current limited, it seems happy.So it draws barely 2 Watts versus 10 Watts ?! Maybe the chip is half kaput in there....After doing that... somehow the SW button now shows signs of life ! When I press it displays the name of the inpu at the top of the screen... woohoo !So I set it to " RGBHV " but still no picture, monitor says " NO SIGNAL ", bummer.So now my two paths of investigation are1) Can this board work with TTL level signals, and is it normal for it to drop the amplitude to 2V.2) Does teh video signal of that EPROM programmer use some proprietary timing, in which case that board will probably never work as it appears to be designed for CGA/EGA only, to cater Arcade games.It's not a general purpose converter where one could program custom timings and voltage levels and polarity, and enable interlacing or not. Maybe such converters exist.... if they do I guess they would be out of my price range for sure....The saga continues....not giving up just yet...

author: Robert763
author_rank: Super Contributor
timestamp: December 26, 2022, 10:17:27 pm
content: Hi Vince, see this manual toohttps://docplayer.net/42901042-Cga-ega-yuv-to-vga-converter-gbs-8200-ver-3-4-manual.htmlYou have ver 4.Just connect ONE of the video pins of the progrmmer to the converter board, I suggest to the Green (G) input. Each input has a 75R load so 3 in parallel is likely to overload the single output driver in the programmer.Connect the 15kHz signal to Horizontal sync (HS) and the 50Hz one to Vertical sync (VS).Trouble is you have an unknown specification signal so hard to tell what is wrong.B.T.W when looking at the serial ports the data should be standard pin-out e.g. on pins 2 & 3.Robert.

author: Robert763
author_rank: Super Contributor
timestamp: December 26, 2022, 10:21:26 pm
content: Quote from: Vince on December 26, 2022, 10:09:57 pmPosts crossed. Does the input selection have CGA? It is worth trying ALL the input selections. he main chip used on the 82x0 is capable of all modes but it needs to be "told" what to do. Different versions / clones of the GBS82x0 firmware have different capabilities / bugs.Robert.

author: Vince
author_rank: Super Contributor
timestamp: December 26, 2022, 10:39:18 pm
content: Fiddled with it some more.... was about to report that I did.... just what you suggested !Board has a VGA input connector, even though it's meant only for CGA/EGA.So as a sanity check I wanted to see if the board could read VGA and output VGA...So I plugged my Tek TDS544A scope to that board and.... it works fine, I have picture on the monitor !OK so that board is not dead, it is capable of reading video signals... just not MY video signals, grrr....So I googled to double check what CGA signals should look like, especially voltage level-wise.Google served me that site out of the blue :https://gist.github.com/sigman78/706c5b8c7800e56aded87596fb5e75bbThere it says that CGA is 15.7kHz, but the programmer outputs 15.4 or something. Maybe the video chip on the board is not very tolerant to frequency deviations. Again no documentation so I don't know.Anyway, that site says.. VERTICAL sync is 15.7kHz... vertical really, not horizontal ?! Strange... to me vertical is the slowest one, defining the frame rate, and the fastest clock is the horizontal that sweeps the linesAnyway, nothing to lose, so entered humble mode thinking maybe I got it backwards somehow, and I swapped the H and V wires.... no joy. So I put them back to where they were.So looks like there is indeed something that board does not like in my video signal.Board has no documentation, but maybe I can find a datasheet for the chip itself, which would give me the tolerance on Sync signal frequencies, voltage level etc...

author: Vince
author_rank: Super Contributor
timestamp: December 26, 2022, 10:43:56 pm
content: Quote from: Robert763 on December 26, 2022, 10:17:27 pmOops I missed your first post sorry.Thanks for the link.OK will try that.Yeah I noticed the Serial port and also the I2C headers next to the MCU.Maybe the serial port output useful data that could help me understand what the board is unhappy with exactly...but I don't have a computer in the lab just yet, so can't hook a terminal to that board.Well, OK I could if I hooked my vintage computer to it, with Windows 2000 and 95, but that would require an enormous logistical effort... just no space to put it anywhere sadly.An old Win95 laptop would be handy here for sure....

author: m k
author_rank: Super Contributor
timestamp: December 27, 2022, 09:05:46 am
content: You should be able to see OSD menu.CGA and EGA modes are sync polarity selected.SW seems to be swapping between modes and not between connectors.It says the left 5-pin connector is for JAMMA, no idea what kind of signal it has.Included pinout picture has csync, so H+V.I remember somebody had problems with one of these converters.Can't remember how it went.One other recollection is that CGA/EGA connector on the left uses different ASIC input pins than VGA.If so then SW can pick connectors.Your earlier picture with edge connector has no yellow, only RGBC and GND.Maybe the converter needs that csync, one inverting gate chip can do that.If you have a VCR you can try its YUV and see that the converter really does its down conversion.(there sync goes with Y)

author: Vince
author_rank: Super Contributor
timestamp: December 27, 2022, 10:25:31 am
content: Quote from: m k on December 27, 2022, 09:05:46 amNot sure what you mean, I clearly said that the menu works just fine ?!Quote from: m k on December 27, 2022, 09:05:46 am"JAMMA" from what I understand refers to something specific to the arcade game world.It requires a special connector to interface the game with that board.Earlier as you saw, I ordered this JAMMA connector by accident, instead of ordering the actual board... oops.Quote from: m k on December 27, 2022, 09:05:46 am" CSYNC " , is that a thing ? I didn't know about that... I knew only about RGB + H + V sync signals, or composite which merges all the signals... but I didn't there existed a middle ground where the two Sync signals were merged and the 3 colours signals were still separate. Interesting...Quote from: m k on December 27, 2022, 09:05:46 amI don't understand what you are referring to.Quote from: m k on December 27, 2022, 09:05:46 amNot sure what you mean. The connector I used, as per the manual, has already H and V pins on it, it's meant to be directly interfaced to the CGA signals.Quote from: m k on December 27, 2022, 09:05:46 amI did have a VCR but I tossed to make space.Used to have a CCTV camera with a composite output, but I too tossed it to make space.My digital camera maybe has a composite output built into its USB looking I/O port, just maybe, but I would need to find the manual and the adapter cable and I think they must be long lost....I checked all my old hollow-state Tek scopes and not one of them as a video output ! I am very surprised and disappointed.... think I will return them to Tektronix.OK maybe we are lacking gear here at Vince's lab to be able to do basic stuff like this... but that's nothing new, lab is a work in progress, as in.. slow progress...@Robert : thanks for the manual, it's 90% identical to the one on the site I saw, but the 10% difference was interesting. It states the range of horizontal frequencies that it can accept : from 14+ to 16+ kHz, so that means anything close enough to 15kHz would work just fine, so I am good here. However that manual too insists on calling the 15kHz clock.... VERTICAL. It drives me nuts.

author: Vince
author_rank: Super Contributor
timestamp: December 27, 2022, 11:49:58 am
content: Quote from: Robert763 on December 26, 2022, 10:17:27 pmHere is another day, troubleshooting continues....OK so I disconnected red and blue. Amplitude increased to 2.6V on the green pin now, that's better...though I guess it's irrelevant, as any voltage is good enough for the colour channel,, I should still be able to see "something", and at any rate it's not going to cause the board to fail to output a VGA signal... so I guess all that matters is the amplitude of the H/V signals. These have a higher amplitude : 3.6V or so, one volt more than the colour channel.Next step is... I could add a TTL chip, a buffer, on my breadboard. I measured the input impedance for the H/V input. It's not 75R it's a high(ish impedance, so a regular TTL buffer chip should have no problem giving proper amplitude output there. I measured the inputs at 1.8K and 10K+ .OK let me do that and report...One odd thing I noticed on that board : I measured the 75R RGB input resistors (directly across their terminals), they all measure 75R, fine. However if I measure the impedance between the RGB inputs pins and the round pin on the connector... I get 75R, 82R and 88R ?!Still, not too concerned about that, as only the H/V signals are of importance in how the board reacts to my video input. Well, from my limited understanding I mean...

author: Vince
author_rank: Super Contributor
timestamp: December 27, 2022, 03:10:56 pm
content: Making progress here.Did as I just said... pulled my bread board and added buffers to the H/V signals.At first with a TTL chip.... got only 4.4V at the output, bummer.... then light bulb.. ah yeah I am rusty, TTL outputs have never been able of 5V to begin with.. there is a diode to Vcc internally, the best you can hope for is 4.4V or something, and that's what I get.So instead I used a 74HCT chip, a 244 8 bit bus driver, because that's what I had.... not I get 5V at the output. Well, the first chip I used was defective, was doing strange things... the second chip was the winner.Plugged the wiring harness to the video board. Amplitude drops a bit but not much. Most notably the leading edge of the 15kHz signal is now quite rounded, see pic.The rising edge looks good for the most part, but the very top of it, between 4 and 5V, is quite rounded.That's when I was scoping on the breadboard. I then scoped straight on the video board connector in case all that spaghetti wiring were degrading the signals badly... but no. Signals look exactly the same no matter where you look.I got curious and searched which one of the millions SMD passives the H/V signals were connected to, on the board.See pic. There is a long row of passives between the connector and the video chip.I scoped these passives and quickly found where the H/V signals were routed to.They go each to a 1K resistor. My signals get to one side of the resistors just fine, 5Volts, however on the other side, where it buggers off to the chip, the amplitude drops to 4V. Hope that's OK for the chip.Anyway, signals had at last a proper amplitude, so I fired up everything...... and we have improvement !Now the board can detect something ! It can't make sense of it though, so it keeps cycling endlessly, displaying various kinds of garbage, but GREEN garbage which is promising since I used the green colour channel... so clearly it's seeing my signal now, no doubt about that.It cycles between 3 states mostly, from what I can see :1) A solid green screen filling the entire screen.2) long pause with a black screen.. probably it's thinking hard on what to do next3) A "half solid" green screen... looks like a fine mesh, a woven fabric, something like that...4) long pause with a black screen again5) Now the interesting bit. On this part of its cycle, it displays a black screen with some green garbage flying by, that looks like it contains valid data, but garbled in the way you get when there is a timing issue.Whenever it displays this, it lasts for a split second, half a second if even that, so my brain doesn't even have time to absorb what it's seeing... but after repeating the cycle many times (you never get the exact same garbage twice of course, depends on the pot luck of the timing at that particular time), I am 100% certain it displays intelligible ASCII text, and some geometrical shapes.It displays a row of horizontal rectangles, just the outline of them, like you would expect from a status bar displaying place holders for menu options, and you would press function keys on the K/B to activate this or that menu option. That pleases me, it adds up.All these rectangles are empty but sometimes I see one that has text in it (no time to read what it says though), in reverse video. So that's perfect, I like that a lot.Also, on the next line, right below this line of rectangles, it displays some more text, a couple of words : " REMOTE "... followed by another word but I am not 100% sure what it is. Maybe " REMOTE CONTROL ".Again I like that, because we know that the big brother of this programmer, once it's booted, gives you the choice of being used either remotely via a desktop computer, or locally using the K/B attached to one of its serial ports at the back.So it all adds up nicely.So the board clearly can make "some" sense of my video signals to display something interesting.... but it's not clever enough to get the timing 100% right.Two possibilities here I guess :- The programmer indeed uses non standard signals, some custom variation of CGA, but not compatible with off the shelf CGA monitors... just so that they could force you into buying their own, expensive of course, monitor...- The board is defective. Indeed, it just keeps crashing and crashing and crashing. It's a disaster. Every time I power it up, I do get the chinese "splash scree" while its booting, then a black screen, and from there it's pot luck : half of the time the buttons won't be responsive and I can't enter the on-screen menu. Other times menu will work, but then when I exit it and try to use the SW and AUTO buttons... they won't be responding.. so as a quick sanity check I press the MENU button to see if the board is still alive and... most of the time it's not, menu doesn't work any more.It's a disaster.So I guess I could try to get a new board under warranty, see if that's any better.I guess it's also now time to read the 5 pages of messages on that French forum I was pointed to at the beginning of this saga, where a few people discuss their programmer, the big brother of mine. Maybe they talk about the display... and if not, I could post a message about it.https://forum.system-cfg.com/viewtopic.php?t=5743So I am making progress eh, what do you say ?!

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 27, 2022, 04:31:03 pm
content: Hi Vince,I see you are having funDid you verify that the polarity of the sync signals is correct. The image of your scope screen shows them as going high for sync, but it might be that they need to go low.Maybe worth a try.Another option might be to use the CGA/EGA connector (the one with the 5 round pins), but for that you have to combine the sync signals like m k wrote about.Cheers,Peter

author: Vince
author_rank: Super Contributor
timestamp: December 27, 2022, 05:16:55 pm
content: From my google, all sites say CGA has separate H and V sync signals, tehy aren't not combined.There is also consensus for plarity and voltage levels : TTL level, positive pulses, so I am good.If I were using the polarity I doubt I would be able to see text being displayed I think, but I doOne thing I could try, is to try to get rid of the rounded rising edge. Seeing as the video board came to life when I fixed the amplitude of the signals.... it means it's picky about those signals. So maybe the rounded corner does upset it....However I am not sure how I can fix that corner....

author: Vince
author_rank: Super Contributor
timestamp: December 27, 2022, 06:54:46 pm
content: Just done reading the 5 pages of that French forum discussing the 5000 model the bigger brother of my 3000U.It's a gold mine of information.It gets most interesting starting page 4, at this message :https://forum.system-cfg.com/viewtopic.php?p=159652#p159652Thread was initiated in 2014, then died that same year, al links are dead (images, documentation, disk images...) then was resurrected in 2020, not too long ago, by that guy linked above.He clearly is a one of us... maybe he is on EEVblog I don't know...He shows pics of his 5000... and I actually see his pics, the links are not dead yetIt is most interesting... and most disheartening at the same time.As you can see from the pics of the interior and the outside.... it's similar to mine except, the monitor and keyboard.... they are not meant to be plugged into connectors at the back, no... they are BUILT INTO THE FREAKING PROGRAMMER !!!!!!Mini CRT built-int, with its own driving board, custom keyboard with custom function keys that line up with the rectangles I saw / described earlier...Custom floppy disk format as well.This thing is just a giant custom thing through and through.So now I can stop wasting my time trying to display an image...unless I can make my own converter, but I am not that good and can't justify the immense amount of time it would require me to do that anyhow.Then I would have to make a custom keyboard as well... not knowing the protocol and details of the H/W interface used by the original one.No... it's time to give up on this thing....Or almost : a guy in 2020 said there is an MS-DOS software to drive the programmer from the serial port.So that's how my unit was meant to be driven then. So my only hope is to find this S/W. I stand a better chance of winning the lottery or inventing a time travel machine.Ah, also in 2020 there is this guy who says he worked on the development of this programmer, and has still some documentation and also the assembly code for the 6502 CPU. Wow.... maybe he can get hold of the MS-DOS S/W. Unfortunately he does not seem to respond to people... maybe he died. I hope not.Ah yeah, if I can get the documentation for the GPIB port, maybe I could have some fun with that at least. Better than nothing.

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 27, 2022, 07:39:48 pm
content: Might be a bit of a stretch, but I found this sitehttps://www.vandoeselaar.com/tinkering/modding-a-gbs-8200/which writes about converting the video board to handle 240 pixel video.It could be that the programmer has such a low res signal, and that the video converter as is can't handle it.

author: Vince
author_rank: Super Contributor
timestamp: December 27, 2022, 08:17:58 pm
content: Thanks for the searching !... but it's way too involved for me, not my comfort zone at all. Not worth the time investment for me... need to be reasonable here.IF someone had a video converter that's meant to be universal, where you get a control panel with knobs you can turns to modify every parameter on the fly to see in real time the effet on the screen, so you can quickly figure out what the parameters are.. then tell the converter to use that, then yeah, would be quick. But I doubt such a converter exists.I did what I could with my scope and frequency meter / counter to figure as much as I could about this video signal... in vain. That's as far as I can take it, for now at least. Maybe once I retire and if all other projects are done... yeah maybe digging out that project would kee p me busy 'til I die...But for now I will call it quis on the video side unfortunately. Looking at the pictures I posted above, and trying to count characters on the screen, it looks like it'a got 42 columns and 26 lines... because the usual 40x25, so I guess they used the standard 40x25 timings and modified them a bit.As for interlacing, looking at my scoping of the signal, and the pics of what it represents on the screen... I think we can at least say that it is not interlaced.... so that's a huge plus, makes things much simpler I guess. I guess if the engineer who worked on the project, who posted on that forum, is not dead and starts replying to people... maybe he has info on the details of the video protocol, or maybe I can find that out by studying the assembly source code he said he had, to see what the CPU writes in the CRT controller chip registers. Hopefully the source code is well commented...Worst case I could spy the data bus and control lines of the CRT chip at boot with a logic analyzer to see first hand what the CPU writes to that chip...OK so that's all for now on this project for now, I am stuck. Remains playing with the GPIB which I can't realistically do until my lab construction has been taken to the next level, with more space and a dedicated /permanent space for my vintage computer.Then in //, try to find a copy of that MS-DOS S/W to control the programmer via the serial port, my only hope.So I will register on that forum and add my bit there....

author: Robert763
author_rank: Super Contributor
timestamp: December 27, 2022, 09:26:51 pm
content: Hi Vince,Try running the GBS8200 from a 5V DC supply, even if the board says 9 or 12V. I have a feeling there were boards with PSU issues. This may be the reliability issue.If you have a smart phone or video recorder try recording the screen and playing it back with freeze frame.Robert.

author: m k
author_rank: Super Contributor
timestamp: December 27, 2022, 09:49:21 pm
content: Quote from: Vince on December 27, 2022, 05:16:55 pmDon't hang to that, it's just a name and were those board makers even born when that standard was on stage.More commonly the meaning was just pixels, and not even including colors of them.Your earlier picture with JAMMA connector has RGBC connection, so it is more likely a working one.CGA/EGA is the name of one connector yes, but the connector has only 5 pins and one is named S, how you connect CGA or EGA with that?14kHz H-sync is so low that your signal most likely fits.But if you connected through VGA connector and the board expects something else then you obviously have a scrambled picture.Occasionally not working buttons can be so that when the board starts its conversion some buttons are disabled.

author: m k
author_rank: Super Contributor
timestamp: December 28, 2022, 07:40:31 am
content: Robert linked a manual,there page 6 has frequencies.Only B has lower frequencies, C and D are the highest only.The board has also 3 connectors for those.If all connectors are equal then why three sets.Page 3 has features, there are also proportional YUV resolutions missing from page 6.Applications have also some oddities, like own lines for plain CGA and EGA.Included booklet is v3.0.It has RGBS for VGA connector input, not very standard.(later pinout can have CSync through HSync, Green can also include SoG)8-pin connector is RGBS only.5-pin connector has EGA and CGA inputs, not very standard again.Specifications then has lower H-freqs through 5-pin P3 only and RGBS is totally missing.Very clear.It's possible the board is not supporting real CGA or EGA at all.Though it is supporting CGA and EGA resolutions but only with always same polarity composite sync.8-pin connector has markings for separated H and V syncs but specifications is not supporting lower frequencies through it.Earlier pictured JAMMA connector is connected to 8-pin P10 and it uses four rightmost pins from the booklet picture.(pins are GND GND VS HS S ? G ?)If JAMMA signal is not hi-res then booklet's specifications is inaccurate and P10 will accept lower frequencies, but how those VS and HS are treated is still unknown.Though booklet specifically advises how separated JAMMA syncs should be connected.Before the big chip there are so many passives that all signals can be separated.Are VGA HS and 8-pin HS the same?5-pin S and 8-pin S also?

author: Vince
author_rank: Super Contributor
timestamp: December 28, 2022, 02:37:49 pm
content: @mk : thanks for that PDF, it's yet one more notch better than the previous one. In this one we have a nice table at the bottom of page 3 which explains better what each connector can do or not do.Thanks for trying to help with this board, I appreciate... but honestly the more you post about it, the more confused I become. It's a huge mess.BUT..... I thought I would search Youtube Videos to see if I could find interesting about this board and sure enough I did.It's now much clearer. So to summarize all my findings and conclusions on this whole video situation, he goes1) Yes sorry mk, CGA is not composite sync, just is not.2) CGA is only 50 or 60 Hz, not 40+ Hz like my programmer is using.Other than that the sync signals are of the same type : TTL positive pulses. Pulse width does not conform to CGA standard though, but is in the same ballpark (single digit micro seconds)2) That video board is NOT designed for CGA monitors !It's designed to work from the CGA otput of arcade games... which apparently is not real CGA. It's got composite sync signal. The board is meant to work with composite signals.3) This board is old, well known, it's the cheap route for CGA to VGA. However what's also known is how crappy and unreliable these boards are. One guy even ordered 3 of these boards in a row and all had some kind of problem... so mine is no different.Now for the "hope" part : the guys who like me tried to get that board to accept REAL CGA signals.. eventually managed to do it. They merged the H and V signals to make a composite sync signal (which they fed to the appropriate pin on the 5 pin connector on the edge of the board).Thanks goodness they even said what they did to create this Csync signal : nothing more than a XOR logic gate ! That works apparently...it gives you a picture. However guy said he then inverted the Csync signal . changed polarity, and it looked even better. Honestly from his video, it looked just fine without inversion but hey...So... knownig all that... I can add the XOR gate knowing it should wrok IF I had a CGA signal. But I don't. However the main differences seems to be the slightly different Hsync frequency which the board should be able to cope with, but most importantly the Vsync frequency which is quite lower than CGA, so not sure the board can handle that. However I guess it should probably give us a better picture than what we have right now, so it's still worth a try.@ Robert :I adjusted the supply to 5V but still no joy, it crashed just as happily. Was worth a try...Freeze frame : my 10 year old smart phone is not the best tool for that.. it's buggy as hell, I don't even know if it can do video (it's already useless for pictures...), and if it did I have zero storage space left to record a video. BUT... well I have already made plenty of video clips with my still camera so I used that. I recorded 10 minutes of the board cycling, so I could get a handful of "events", hoping some of them would be exploitable.I uploaded the raw footage on YT :I then played it back at the slowest speed, x0.25 and even then it was difficult to freeze frame at the correct moment, because the events last only a split second and within that split the second the content is not steady, but rather changing rapidly as you see the video board trying stuff out in real time before yours eyes...Example of the crap you see flying by :Still, you brought me luck, it was a good idea, and I managed some cool shots, see below.It's perfectly consistent with the pictures I posted earlier of people's working 5000 models.What struck me though is that the text is in English rather then French for all the other people that have these programmers... so maybe it was sold to UK company back then, then found its way back to France years later. Or maybe it's just a dead backup battery so it uses default valuesd and it so happens to be English rather than French. Who knows...1) Right at power, when the CPU is booting from its ROM I would say, it displays the Micropross logo, then some text to tell you to insert the boot floppy, then a few error codes.What I find odd though, is that if you pay attention, and even though the pic is blurry.... the text appears to mention "ROM5000" but I have a 3000 model !So could it be that even the firmware in the 3000 is the same as that of its big brother the 5000 ? So that means that maybe I could get it to boot a 5000 system disk and have more features to play with... It's very odd and intriguing at the least.2) Then once it's booted, it displays always the same image, again perfectly consistent with other's pictures : a row of five "buttons" / rectangles.Here however the text and options displayed clearly show that it's a "headless" unit not a fancy 5000 : look, the menu bar has zero option, only the last / fifth button is labelled, and it just says "END". And the text below below the buttons says : " REMOTE CONTROL " (as I thought it did)... because well, this unit is only meant to be operated via the serial port with an MS-DOS S/W. You are not supposed to have a K/B to "press" buttons on the menu bar, never mind have a screen to see what the programmer displays..... so it makes sense not to offer the user any options that he could not see nor select anyway...Yeah it all adds up, I am happy with that !OK so now I will add that XOR gate to the breadboard to create a Csync signal and see if that helps....

author: Robert763
author_rank: Super Contributor
timestamp: December 28, 2022, 05:46:03 pm
content: You can custom program the scaler chip on the GBS82x0 seehttps://www.vandoeselaar.com/tinkering/modding-a-gbs-8200/Robert.

author: Vince
author_rank: Super Contributor
timestamp: December 28, 2022, 09:00:12 pm
content: Looks like the site MK already showed me... at first I dismissed it because it looked like to me like it was only about enabling a very specific feature, 240 pixel vertical resolution, and that was it. It looked like neither the S/W / project nor the board, were capable of modifying every aspect of the video signal. Plus, I am not a F/W engineer, nor a video protocol guru, so even if the board were capable of arbitrary timings, I would not be competent to make use of it...But I looked at it again and it looks like I was wrong... there seems to be a user friendly interface to let you repurpose the video chip, and it has presets for NTSC and PAL signals.... i.e stuff that's even farther from CGA than my signal is.... so maybe there is hope for me as well. OK OK.... I will keep that in mind, will look at it in more detail at some point...Anyway, some good news : I did what I said I would do... I added a XOR gate on the breadboard to create a composite SYNC signal, as per what I saw on YT.Well, my old book on logic gates says there are somehow only two TTL chips that do XOR ... 7486 and 74136... with my usual luck, despite having a broad collection of crusty TTL chips.. I didn't have any of these two !I didn't feel like using multiple chips to cobble together my own XOR gate either, too much mess on the bread board and not enough Dupont wires.So instead I went for the next candidate : XNOR gates. Book says there is only ONE chip that does it... 74266. Well I DO have a few of those !Problem.... it's got an open collector output !Would that output be good enough to handle my sync signals without "deteriorating" them to the point that it might upset the video chip... and what resistor to use to get optimal signal shape ?! More headaches in perspective, grrr...I let destiny do the math for me : a 3.9K resistor happened to be on the breadboard from a past experience I guess. Good enough I thought, so I used that and scoped the output... perfectly square signals I was greeted with, what a relief !So I connected that to the video board, and hey presto, much better now !!!As I thought, it now works well enough that it's usable, but not quite perfect because it's not CGA, only close to it.So, what do we get in exchange for our XNOR gate ?1) The board is now reliable. It never freezes, not even once. So the F/W must have been upset by my separate sync signals I guess. Poor F/W it is.2) The AUTO push-button now works : as soon as I press it, the red LED next to the MCU, blinks for 3 or 5 seconds while it's trying to figure the sync signals out.3) Once that's done, I get a meaningful and stable picture, woohoo...The horizontal side of things is working well, as I hoped, because at 15.4kHz it's close enough to CGA for the chip to make the effort.So I was able to adjust the horizontal position of the picture to center it on the screen, and adjust the size.However as I anticipated, the vertical sync is too far from CGA, so it kinda works but not perfectly.The vertical position control behaves weirdly. The best / most useful I could get for a picture, is to get the bottom area of the screen, where the menu bar is, to roll over and display instead at the top of the screen. If I try to put it at the bottom, and I can't achieve it anyway, it destroys the picture.So now I have a stable and usable picture. Menu bar is at the top instead of the bottom but who cares... let's just say I customized the F/W in the programmer to suit my particular taste !So now I can watch the entire boot process and see exactly what's going on. It's just... so cool.This is what we see :1) At power up, displays logo and "Insert system disk and press F1", and the leftmost "button" in the menu bar is active and shows "BOOT", which ads up.2) That lasts only a split second, so I had to remove the system disk from the floppy drive to force the machine to stay in this state so I would have time to take a pic of it and a video clip. That's why it says "Failed" with some error codes... it can't find the floppy in the drive.3) There is line of text in reverse video that blinks, this is what I thought might be a blinking cursor a weeks back when I was first watching at the signal in the time domain on my scope. It's more than just a cursor then.4) I was right : the programmer thinks it is a full fledged model 5000 rather than the humble deaf and mute model 3000 that it is ! Really interesting, that.5) OK so then I insert the system disk and reboot it so it can actually boot from the drive. It reads the disk for about a minute, during which the blinking text reads " REVISION 5.40AP ". Also, the menu bar contents change : the "BOOT" option on the left is gone. Now the only button available is the rightmost one, which reads "ABORT". Ads up... first you press F1 to boot, then while booting you can abort the boot process.Then in the video, at T = 1min14s or so, the drive stops working (I turned off the sound in the video, sorry you can't hear the drive working to make the video less boring)) , boot process is complete. At that point the blinking text now VERY BRIEFLY says " ERASING MEMORY ".6) Then the logo and text disappear, screen is cleared and we get just the menu bar at the bottom, well the top here sorry. Again only available menu option, still the rightmost, that says " END ". Underneath the menu bar, it reads " REMOTE CONTROL ".Now in video :So how cool is that ? It is SUPER cool !Even cooler : that French forum is cool too, lots more people active in there than I would have imagined !I have had already two people reply, and those two actually have a 5000 model and both live not too far from me (100 / 150kms away), and we are thinking of setting up a gathering at my place with their 5000 so I can see this beast in the flesh and do some reverse engineering in my labMaybe this spring. Some time anyway.

author: Robert763
author_rank: Super Contributor
timestamp: December 28, 2022, 09:24:01 pm
content: Well done Vince!Now you need a 5000 system disk!The most important thing to find when you see a 5000 is what the keyboard is. It could br a dumb matrix, An IBM "PC" or "AT", A serial RS232 or something special.Robert.

author: Vince
author_rank: Super Contributor
timestamp: December 28, 2022, 10:51:19 pm
content: The guys on the French forum last night sent me several 5000 boot disk images... so I am covered. From what I understand there were several revisions of the 5000 model, and not all system disks work on all variants of the programmer... and god knows if any work on my 5000 wannabe 3000 model !But I can just try them all and see what happens, no worries.The real issue is that making these disks is a chore, a whole can of worms, an adventure in its own right... many people tried and only one succeeded, but he first and last posted 2 years ago... hopefully he can still be reached. He did give some info on how he did it, but basically the problem is that just like everything in this programmer, the disk too is custom... Basically you can't read it as is, on a regular PC. It uses a special format. From what I understand, said an engineer who worked on this design back in the day, and who posted on the thread in 2014... it's a regular PC format but it uses 256 bytes blocks instead of 512, something like that, don't quote me...A guy who posted in 2020 seemed well versed in exotic floppy formats, so he managed to do it and found it easy but... I am not him.I think he said that he first had to convert the disk image file to some other format, which he could then use with an MS-DOS based S/W that can do very low level stuff on floppy disks, and let you customize each and every parameter. So you better know what you are doing... He posted screen captures of that S/W. Below.Also said IIRC with that low level stuff that's required... not all floppy drives are equal... some will work others won't. It's pot luck. Well he also knows enough that he picked a random drive from his junk box, and modified the electronics of it to get it to work... I am not at that level...Also, IIRC you need DD disks, not HD. So first need to find those, and hope they are in good shape...So I will work at it for sure, but it's gonna be a tough fight I anticipate, and will require many hours on my vintage PC, which I need to excavate... and I have zero space right now to install it anywhere... OK maybe I can buy a cheap foldable camping table and install it in my bedroom, to keep company to some of my boat anchors... but that's a bit extreme...Now as for the K/B... the situation is even worse I think...Now that I now more about these programmers, and read the manuals for the 5000 model.... I have to revise the theories I made very early on when I was totally clueless.Before, I thought may be the two serial ports were meant to connect to the remote desktop computer with one port, and use the other to attach a K/B for local operation. It does not hold water any longer.The much more likely scenario now, is that this machine is meant 100% to be remote controlled, no K/B envisaged for that second serial port. Instead, that port is I think used to control another programmer. the 5000 manual says that these programmers can control other programmers via that second serial port, in a master / slave fashion.So out with the idea of an external K/B that would use some RS232 standard somehow, that I could buy off the shelf. No.It's clear the only K/B this programmer was ever meant to be used with, is the one that's built into it, which is obviously proprietary if just by the looks of it... and the 5 custom functions keys to begin with, that match the 5 boxes in the menu bar on the screen.When the guys visit me with their 5000, at least one quick simple thing we could try, is to extract the K/B from their programmer and see if I can plug it into my programmer, see if that works... if it does, maybe try to reverse engineer the electronics and signals on the connector, snif some signals with the scope, to at least get an idea of what it's like... maybe it miraculously uses a standard protocol / interface, and only the physical presentation of the K/B is custom.... but somehow I doubt that. Just like they made a custom video interface because it was more convenient for them.... there is no reason why they would not make their own K/B interface if that was simpler for them. But maybe I could design an interface to get a standard PS/2 or old serial K/B to work with their custom interface. But that would take a lot of R&D and reverse engineering time, so I would need a 5000 unit to stay home with me for many months.. they aren't gonna let me do that of course...Yeah... this programmer is a huge PITA isn't it ? It fights hard every step of the way... nothing comes easyOK so the next steps for me then, must be :1) Try to setup my vintage computer in a semi permanent manner so I can work on it for a few weeks or months, while I am fighting to write the disk images to an actual floppy.2) Look into that video board F/W customization UI, to see if I can sort out the vertical sync problem... because I just realised, looking at others pics, that errors codes and error messages are sometimes displayed right above the menu bar... and since the bar is at the very top on my screen... I can't see these codes and messages if any... that's a problem.3) When I get to meet with the guys, do some reverse engineering work on the built-in K/B. So that won't be before spring at best.Oh boy.... lots of work ahead...

author: TERRA Operative
author_rank: Super Contributor
timestamp: December 29, 2022, 07:26:03 am
content: I know that DOS software. I was using it to create disk images for my HP 4155B Semiconductor Parameter Analyzer a little while back.Luckily now I have one working disk, the machine can make its own copies...Good luck on the reverse engineering, I'll be watching with interest.

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 29, 2022, 07:37:59 am
content: QuoteWouldn't be fun if it was easy.I have seen a youtube video made by Adrian Black of Adrian's digital basement where he uses that software to make some disks for some old computer. Will see if I can find it again. He also uses some, a bit more expensive, video converters which I wrote about earlier in this thread. Those converters can be set to proprietary settings to handle almost any video stream.An idea to see if your programmer is the same as the 5000, is to swap the boards when the guys with the 5000 come over to play. Maybe there is also an option on their machine to duplicate the disks.Keep up the good work. It is fun to read about it.Edit: Found the video. Around 34 minutes in he starts using the disk software. Imagedisk 1.18 might be from herehttp://dunfield.classiccmp.org/img/index.htm

author: m k
author_rank: Super Contributor
timestamp: December 29, 2022, 07:57:00 am
content: I'd say that this floppy emulator thingy is the hardware everybody will eventually need.Maybe that's the next step, after all the upcoming WIN/DOS stuff.

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 12:43:15 pm
content: Thanks people !Yes this is it, that's this ImageDisk S/W, thanks for the link to download it.That video is cool, Adrian is getting very nerdy in this one. At 13minutes he uses some sci-fi class graphical S/W to work at a super low level on that floppy !!... makes ImageDisk look very simple in comparison... so I will make the effort to lean to use t.That video was interesting and relates to my problem, when he speaks about DD and HD floppy drives, and "sfot" and "hard" sectors, never heard about that before, I have now.I note that the README file for ImageDisk also mentions it works for soft sector drives.Adrian says you CAN make a DD disk on an HD drive but it's pot luck. Much more reliable if you can do it with a proper DD drive to begin with.I have plenty of floppy drives... I am sure none of them are old enough to be DD only, but at least if one is giving troubles, I have many others to try out...Video confirms what I read on the French forum : guy had to convert the disk image to the IMD format used by ImageDisk, before he could write it to an actual floppy.Says the IMD format basically is just adding meta data to tell the S/W what low levels parameters to use... which means you have to know these to begin with... it's chicken and egg situation.But the guy on the forum who used ImageDisk I think must just read his existing system disk, that came with the machine, so that ImageDisk could read it and firugre out the low level parameters.Yeah.... I am starting to see how it all works, hope is seeping into my head....Video : yes I remember those expensive video converters.... expensive, too much for me right now. I will resort to that only if I fail with that GBS-8200 tweaking S/W.I also think I have got to the point where I can tidy up my mess in that department : A huge breadboard sitting inside the programmer, lots of chips, lots of wires... not very practical when I need to put the programmer aside, then put it back on the bench time and time again.... and I can't use the breadboard for other things !So now that we have figured th video problem, I think it's time to tidy up all that mess. So I will get rid of the breadboard, make a little board, tidy up the wiring etc...From our experiences it looks like I don't need the inverter chip to reverse the polarity, nor the HCT buffer either.. I just need the one TTL XNOR chip and the pull-up resistor for it... and that's it !So I will order a bunch of cheap proto boards in small sizes, and make something very clean and compact.OK, I kept the best for dessert !!!An hour ago, on the French forum someone pointed out to me that in the big ZIP file on of them sent to me, there was an .EXE file in the ROM3000 folder hmmmmm !!!!!!Yummy !File is barely 100KB in size so I had not much hope that it would be our remote control S/W.... but of course I was curious, so I loaded the program inside of DOSBOX emulator, and see what it resulted in !YES, this S/W tries to connect to the programmer via the serial port !!!I took screen shots of all, not many, screen I get greeted with : first a black screen with just a prompt asking my if I have a colour or monochrome monitor, and to what COM port on the PC, I connected the programmer.So I answer that and then I get a more fancy / user friendly screen, that says it's S/W version 7.7, and displays that screen while it's trying to connect to the programmer.It stays there forever (well maybe it would eventually time out if I stayed there for an hour...), so I press the ESC key to get out of there.Then it reacts by showing me this marvelous help screen that explains how to proceed to connect to the programmer :1) connect it the serial port #1 of the programmer2) Boot the programmer from his system disk3) The best bit I absolutely needed : it gives you an ASCII "graphical" representation of the 6 DIP switches at the back of the programmer to tell you how to set them to configure the serial port properly !! VICTORY !!!OMG... I am in business now !So I need to dig out my Vintage PC, get a cable... luckily I think I have a DB9 to DB25 adapter somewhere....STAY TUNED !!!

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 29, 2022, 02:07:42 pm
content: Hi Vince,to make the needed floppies you can probably just use the drive from the programmer itself. By the looks of it it uses a 34 pin ribbon cable, which might have the same layout as the drives found in PC's.Since it uses a western digital controller it should not be to hard to verify the connections.I found a bunch of DD disks in my stash. Have to see if they don't hold any secrets, but if not you can have some if you like.

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 02:27:50 pm
content: OK... I was so excited, I did make the effort to set up my vintage PC.Pushed some stuff aside the bench, managed to free a square foot of space, just enough to sit the computer case in that spot.K/B and monitor... conveniently sitting atop the EPROM programmer, so no space problem here, great.Transfered the MS-DOS program easily to the vintage PC thanks to prior experiments to network my vintage PC and my main desktop computer.So that was already working, took only a couple minutes to get the file onto the vintage PC.I have got Windows2000 and Win95 on that computer, so started Win95. Launched the program in a window.... crashed.OK fair enough... so I rebooted the machine and pressed F8 to get the boot menu options. Selected "MS-DOS prompt only", to get a real DOS environment.... I thought.Nope, program still crashed ! Look, it displays a few line of garbage then computers is unresponsive... only thing the K/B reacts to, is ALT+CTRL+DEL ...You just can't make that shit up can you !!!This freaking program works fine inside a shitty DOS emulator under a modern Linux computer... but it crashes miserably on a Vintage PC of the era ?!I.... I.... I don't know what to think.... I am cursed, that must be it.If you can make any sense of the crap it threw on the screen when it crashed, be sure to speak up.What good is my vintage PC if it can't run old DOS programs ?I don't understand what's going on..... bakc in the day when Win95 came out, I was under the understanding that the "MSDOS only" boot option gave you an actual DOS environment, so you had 100% compatibility with your old DOS programs... because it was running an actual DOS, not an emulation or anything. Looks like maybe that was not 100.0000 % true ?Or maybe it's some weird incompatibility that particular computer ? It's an IBM Aptiva, custom motherboard... I know back in the day seom had problems with the supplied modem or sound card... but I am not using any of that. You would think the serial port would be something that's hard to get wrong would you ?I just do'nt know... I am.. baffled, and massively disappointed and depressed....The program is a single, standalone EXE file, under 100KB... so I can post it here. Please download it and try it on your Win95/98 machines if you have one, in windowed as well MS-DOS only modes, and tell me what you get.... please...EDIT : apparently EXE files is not an allowed file format on this forum. So I renamed the file to change the extension to "PDF" instead... so just rename it back to .EXE before use...

author: Messtechniker
author_rank: Frequent Contributor
timestamp: December 29, 2022, 02:32:37 pm
content: Fascinating digital electronics archeology.

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 02:40:46 pm
content: Quote from: pcprogrammer on December 29, 2022, 02:07:42 pmYes... good ideaQuote from: pcprogrammer on December 29, 2022, 02:07:42 pmThank you very moosh !!!I now remember something I forgot to reply to , I think it was Terra : the programmer, from what the guys said, well the 5000 model at least, does offer you options to format disks and copy them.Not very helpful for me right now, but I thought I would mention it anyway, for the sake of completeness !

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 29, 2022, 03:35:11 pm
content: Hi Vince,I tried the executable on an actual dos machine (Pentium III with I think MS-DOS V6.22 but did not check) and it fails in the same wayChecked the floppies and two read as empty and on two others there is some useless crap. So these you can have. Others fail to read for some reason and some have old project data on them.Since I'm using a 1.44MB drive I didn't want to try and format them.

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 03:36:40 pm
content: Oh you won't believe it, I have managed to fix it,in just a few minutes, look !!!!Got lucky on that one !Above, I posted the crap that the program throw when it crashed under the MSDOS only mode.First I thought it does not look like complete garbage... more like "escape codes" that I would type in my autoexec.bat to draw a menu on startup, to launch my programs from.... 25 years ago when I was at high-school and into MSDOS on my mighty 486SX33 with a whooping 4MB of RAM and Windows 3.1...Then, I noticed that when I run and crash the program in WIDOWEd mode, under Win95 that is... I get a slightly different crap on the scree, see :I get the same escape codes at the beginning, but then I get a bit more characters after that, which I highlighted in yellow.It looked like the ASCII text that corresponds to the help screen I was getting under DOSBOX, that tells you how to configure the DIP switches at the back of the programmer.... so it's not total garbage then... it's like the program just spew its guts out on the screen...Then right before that stuff in yellow, I spotted some more intelligible characters, circled in red.... it says " DEVICE=ANSI.SYS in the file CONFIG.SYS ".Eh ? Hmmmm... maybe it's just a DOS config file problem, maybe it requires you to load ANSI.SYS in CONFIG.SYS at startup ?!So I googled for ANSI.SYS... hmm that looked interesting / relevant : apparently ANSI.SYS is required to get escape sequences to work, BINGO !... and also to configure the screen for text mode programs (number of columns and rows)... BINGO AGAIN !!!Looking good, worth a shot !So I edit config.sys to add " DEVICE=ANSI.SYS ", restart the computer in MS-DOS mode and.... get an error, says that ANSI is missing or corrupted !some more Googling... OK, I need to specify the full path to ANSI apparently... and ina windows machine MS moved all the old MSDOS utility files inside C;\WINDOWS\COMMAND.Checked there, yes ANSI.SYS and many other old familiar names are there, great.So I update the path in CONFIG.SYS and try again.... the program works now, YES !!!!!Next step / problem : the serial cable !!I ahve a fex, both straight and crossed... don't know which type I am supposed to be using but it's easy enough to try out both and see what happens.No, my problem is plug type ! My cables DB9, but it's old DB25 on the programmer side... I do have a 9/25 adapter but... it does not feature the approriate gender on either side... I need a gender changer on both side of the adapter... I do have the required DB9 changer, phew.... but the DB25 changer I don't ! I have two of them but tehy are F/F and I need M/M !Told you, I am cursed...So I need that changer to complete the "stack".... and/or maybe try to find a 9/25 changer with the appropriate sex on both side, so that I don't have to use any gender changer to begin with...Of course I can't wait for that to happen, so maybe I will just go cave man style and just stick bits of wires inside the DB25 holes / pins.... and call it a day

author: TERRA Operative
author_rank: Super Contributor
timestamp: December 29, 2022, 03:42:32 pm
content: I tried your exe on my Dell Precision M410 running native DOS 6.22 and it works fine.But you beat me to get it working.I guess I have the ansi.sys thing already sorted on my PC.

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 03:51:58 pm
content: Thanks for trying the program chaps !Terra yes since your machine is a true MSDOS one not some Win95 thing, no doubt it came with all the bells and whistles as standards...@ PCprogrammer : thanks for the offer ! ... I may not have to steal from you though : I just searched my old computer junk boxes, and found more 3.5" diskettes than I thought was possible ! 6 boxes of them !... one of them is brand new, never used... 3M box of double sided DD 1.0 MB floppies, YEAH !!!!Will any of these floppies actually be working ? I guess I will find out...

author: Paceguy
author_rank: Regular Contributor
timestamp: December 29, 2022, 03:58:41 pm
content: I'm glad to see that your persistence has paid off and that you got it up and running. félicitations !

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 29, 2022, 04:30:17 pm
content: Quote from: Vince on December 29, 2022, 03:51:58 pmThat is the benefit of saving stuff. My stash is way bigger then your 6 boxes, but only a handful are DD 1.0MBGreat find about the ANSI.SYS. Guess it is not installed on my DOS machine.

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 05:48:33 pm
content: OK ladies and gentlemen, we have already made some more progress in the last hour... but it's a mixed bad... there is some good news... and some bad news.Let's start with the good ones.1) By shear luck I did eventually find the missing M/M DB25 gender changer I needed to complete mt DB9 to DB25 adaptation "stack" so to speak.Turns out if was right under my nose on the bench... because, I had been using that changer a few months back I now recall, to tap the serial signals, for fun, from the back of my Metrix MX554 bench DMM.2) So I was able at last to plug my serial cable to the programmer....3) Sadly the MSDOS S/W still complained that the serial link was not working, giving me the same help screen as before....4) Then realised I failed to follow that screen's instructions : POWER UP the programmer you fucktard !5) So I power it up and let it boot, then run the MSDOS S/W again and.... it immediately connects successfully to the programmer, first time, not even kidding !!I just could not believe it... with my luck, I was listing all the things that could go wrong here and prevent me from achieving success.... like the S/W not being able to use the serial port for XYZ reason, or a bad cable, or need to swap RX and TX lines, or god knows what else could go wrong. But no, worked first time, I was amazed !!!OK, so now the bad news.... How am I so sure that it successfully connected to the programmer ?Well.... see for yourself... it must have talked to the programmer and the latter told him "Hi, I am ROM 3000U "model, then the MSDOS program in return tellin me, I quote him :" WTF !!! I told you I am meant for use with the ROM 3000B ans this is NOT a 3000B !!! ".... while flashing and beeping at me constantly in a very angry manner.... At that point the program is unresponsive to the K/B. The only way to make the lab quiet again was to reboot the PC...OK so that's bad... I really hoped that S/W would at least work somewhat, and at worse maybe some features or details would not work 100%, but at least I was hoping for basic functionality... but no.Still, I am trying to see the bright side of things :1) Well we found that MSDOS S/W....2) we got it to run on my vintage PC3) we got the serial link working4) The programmer replied to the computer, which means that maybe it did indeed successfully boot from its system disk, and both the drive and disk are good.... or maybe not : maybe it's just the F/W from EPROM that's replied to the computer. We just don't know. PC only complains that it's not a 300B but it doesn't say if the programmer replied " I am 5000B " or if it said ' I am a 3000U ".So, that's a real bummer, I was so hopefulBut not time for depression.... we need to move forward don't we... so what could we do from there ?- Well we could hook a monitor again to the programmer, to see if it displays something interesting while the PC is communication with it.But that requires two monitors on the bench, and opening up the programmer again, bread board again, video board again, lots of mess again.... there is just not enough space on the bench for that kind of experiment.... but needs to be done anyway. So I need to free some space buy completing some long overdue TE project, so I can move them out of the bench. Thinking the two Rochar Niksee DVM, the two QUAD amps, and also my rack mount Tektronix type RM17 waiting for a 3 section can cap to be replaced. I got the new caps, just need to find the motivation (wanted to make my own little adapter PCB on Kicad for something neat and tidy, but never got round to it...).Then as I said earlier, I need to get rid of that large breadboard and all that mess of wires, need to replace all that with a neat little tiny prototype board I could leave inside the programmer permanently, with just wires sticking out of it, that would go the the GBS-8200 video board. That would considerably lower the mess on the bench.- Then, something lese we could try : since the programmer thnks its a 5000 model and it's possible that it only turns into a 3000 model once it's booted from the system disk.... then that means maybe if I booted the thing from a 3000B disk rather than my 3000U disk....... I could turn my programmer into a 3000B and the PC S/W would then be happy ?Worth a shot.... but we need a 3000B disk image then ! No worries... we have that, it was bundled with the MSDOS EXE fileSo that means I need to get cracking and start experimenting with creating these special / non standard system disks, using my NOS DD disks and installing that ImageDisk S/W....That will be my first time doing that kind of stuff, so I expect the road will be long and bumpy, but it needs to be done.... and the knowledge and experienced gained thusly will no doubt be useful in the long term when working on other vintage pieces of kit, since I seem to enjoy these so much....OK so... let's do all that then, see you later for the next installment !EDIT : oh got an idea ! Maybe I could sniff the serial link to see what the programmer replies to the computer ! Maybe it's plain ASCII text and we could be 100% sure of whether it reports being a 5000B or a 3000U ! Oh I love this programmer, so much cool stuff you can do with it !!!

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 07:03:34 pm
content: Did a quick test : powered up the programmer but with no boot disk in it, so that I am sure it still thinks it's a 5000 model not a 3000. If I do that, the MSDOS S/W fails to communicate with the programmer.So the programmer can only communicate once it has booted from the system disk.... so most likely it reported to the MSDOS S/W that it was a 3000U rather than a 3000B.That's all...

author: Vince
author_rank: Super Contributor
timestamp: December 29, 2022, 11:32:19 pm
content: Oh no.... I did the unthinkable, my curiosity will kill me.... I made my super messy bench even messier... I truly think I have now reached the epitome of the concept of mess....Yes... I added another monitor / TV, brought back the bread board and video board and somehow made it all fit ?!I tried to tidy up the breadboard as much as I could : removed two fo the chips : inverter chip and buffer chip, leaving only the XOR gate, and as few wires as possible.So I can see if the programmer display anything on the screen while the MSDOS program is communicating with it, and complaining that's it's not the correct model....Well as you can see, I was well rewarded, glad I made the effort of trying to make it all fit no the bench !When I had a look at the manual for the 5000 model, I saw among many other things, that the 5000 had a cool feature where you could use it a regular serial terminal to spy serial coms for general purpose debugging... neat eh ?Well looks like my 3000 model is doing just that !The coms appear to be plain text, great, and the programmer displays it in real time. It's even nice enough to keep the menu bar visible once the screen is full with text.So what do we see ?Looks like it's a quick exchange. The MSDOS S/W sends a couple lines of text, and the programmer replies with the same, and then it just repeats endlessly.They are nice enough to have programmed the font with special symbols to represent non-printable ASCII characters like <CR> <LF> and also this <EX> one which I didn't know but Googled an ASCII table and it most likely stands for the control character 0x03 = ETX = End of Text.It seems likely, because this EX symbol is used only once by both the PC and the ROM3000, as the very last character they send.So the format appears to be :1) first the PC send the keyword "BOOT", then <CR> to start a new line. Then repeats BOOT again, this time followed by numerical value / parameter, which probably meaning " Who am I talking to please ? "". then ends the string with that ETX control character.2) Then the ROM3000 replies in the exact same manner, using the keyword " HELLO " .. well more like HELO because French people are so good at English eh...especially 40 years ago when this thing was designed. Then new line, repeats the HELLO keyword and send his reply, which contains 3 numerical values followed by a string representing the revision number of the system : " 5.40 AP " whic matches what it displays, flashing, when it boots the on the system disk. So it adds up.However the label on the floppy says it's version " 5.5 APR "... so either they meant to write 5.4 AP, or they meant to write a 5.5. APR image disk on that floppy.....Anyway, that's super cool, I am so happy I made such a mess of my bench, sometimes you get rewarded !VIDEO of the experience !!! I start with the programmer already booted, with the menu bar at the top, then I start the MSDOS S/W, and you can see the COMS scrolling by on the programmers screen.

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 30, 2022, 05:57:38 am
content: Hi Vince,interesting results, but I think your interpretation is off. My view on it is that the PC sends BOOT and then the programmer replies with BOOT 00. Then the PC sends HELO to inquire for the model information and the programmer responds with HELO 00 30 00 5.00 5.40 AP.What you can try is to just use a terminal program like hyperterm and send the BOOT command to see what happens. The baud rate might be low as 1200. You can use a scope on the signal to try to measure it. Based on the bit pattern of the letters it should not be that hard to do so.Cheers,Peter

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 10:14:45 am
content: Quote from: pcprogrammer on December 30, 2022, 05:57:38 amAfter a good night of sleep... I think you are perfectly right, makes more sense !Plus it's common practice for a recipient to repeat the keyword of the sender, as an acknowledgment, to increase reliability of the coms.Also, that " EX " character at the end of the reply from the programmer, is probably again a safety feature, means " I am done, I have sent everything I wanted, I am not going to send anymore data to you, you can send me a new command whenever you want ".Quote from: pcprogrammer on December 30, 2022, 05:57:38 amYes ! I need to do that.... 1200 yes I think I read somewhere in the manual taht it's a common default value for these programmers, or a suggested value. I think it sais that it can 19,2000 bauds maximum, but that for reliable operation you really would be well advised not exceed 9,600 bauds grand maximum. I guess it all depends on the length and quality of the serial cable is being used.Problem of course, as you can see... bench is FULL ! How on earth do you expect me to access and use a scope ?!I guess I can make some space by rendering the programmer headless again... get rid of the big TV, the bread board and video board, close the lid of the programmer.... might do it. Maybe I could even get rid of the programmer altogether and just probe the end of the serial cable directly rather try to probe it while both ends of the cable are being used...The programmer won't b able to reply but the PC should still at least send the first character in " BOOT ".... I should get a 'B'.... UNLESS the PC uses H/W flow control (and the manual says it can, the pins on the programmers DB25 are all wired up.... ) hence I am screwed.But let's just try zand see what happens !STAY TUNED !!!

author: Robert763
author_rank: Super Contributor
timestamp: December 30, 2022, 10:21:09 am
content: On DD / HD disks and drives there are two issues. First is the level of magnetisim used. Second is the width of the head and the track it makes. The magnetism is more of a problem when trying to write a HD disk in a DD (or SD) drive. The HD drive can identify a DD disk (hole in corner) and adjustments made. So this does not affect his case.The head / track width can be an issue. The heads in SD/DD disks are wider than those in a HD. If a DD disk is written in a DD drive (wide tracks) and then written to in a HD drive not all of the existing track is over written. This does not affect the HD drive because it only reads the track it wrote. If it is then read in a DD drive you can get bad data because the had covers both the remains of the old track and the new narrow one.To stop this problem if using a HD drive to write a DD disk it is best to use a brand new disk, a freshly erased one or one that has only been written in a HD drive. After writing on it in the DD drive don't write to it again in a HD.All this depends on a lot of variables so it is not 100% certain what will happen, but it is my experience from using lots of disks in lots of different drives and machines over the years. I still have some used DD 3.5" disks that came from a buliding society (bank) and had been bulk erased. They are the best for use in odd systems.Robert.

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 10:53:20 am
content: Thanks Rob, interesting details !So to minimize headaches, it's best as was already suggested before I think... that I just pull the drive out of the programmer, and shove it into my vintage PC.I think that's what that guy on the French forum might have done... need to scroll back and re-read the thread more carefully and start taking notes....For the fun of it I will try to see if there is a way, just by looking at it, to tell if a drive is HD or DD. I could look at my stock of old drives and see if I have a DD one maybe. Just for the fun.

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 12:17:11 pm
content: OK made some mandatory space on the bench... removed the big TV and the programmer itself altogether... that made just enough to fit the HP MSO, perfect for the job... takes little space on the bench, light, and the Megazoom feature makes it an excellent tool for the job at hand, I love it. Too bad its logic analyzer is geared toward // system only, it can't do serial decoding it seems... that was not the hype back then I guess... It's more targeted at 8 CPU systems I guess. Can sniff an 8 bit bus + up to 8 control signals & clocks.I installed the "SeriatTest" monitoring S/W that Neomys suggested on TEA... I can't get it to work. Looked at the help files and it does say that needs to be used in conjunction with a serial cable that redirects to another COM port... I don't have these cables nor a second COM port. It really doesn't look like spying serial chatter generated by an MS-DOS application is possible without a second COM port and special splicing cable...Anyway, I used SerialTest as a simple terminal, to send characters to the scope so I could set things up.I am rusty so it took me 30 seconds to remember that the RS232 voltage levels use a reversed logic... negative voltage means logic high, so I asked the scope to invert the signal... much better.Also forgot if the bits were sent LSB or MSB first... sent a few "test" characters to help me with that... looks like it's LSB first.OK so then I fired up the ROM300U MS-DOS S/W, hoping it would send its keyword "BOOT"..... but no. It does not send anything at all.... which means it probably requires the use of H/W control lines, bummer. So I have no choice but bring back the programmer onto the bench... it's gonna be very messy againPlus I don't have a breakout box to scope the traffic if both ends of the cable are being used, so I need to cobble something together, sure is not going to look pretty

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 30, 2022, 12:21:25 pm
content: You need a small table on wheels to roll stuff in and outBut however big your bench is, there will always come a time that it is to small

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 12:28:32 pm
content: Sadly there is zero space to fit a table, never mind wheel it around. Only place in the house where is space to put stuff and use it is... the bench itself.... and it's gonna stay like that for at least 2 or 3 years, the time to build the garage to I can shift stuff into there and make room in the house.

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 01:12:00 pm
content: Geez.... I think I managed to make something that might work we shall see.I got lucky and foudn my spliced serial cable, woohoo !!I am so glad I was clever enough to keep it when I was sorting through boxes and boxes of old cables.... most likely thanks to one of you who must have explained to me what these cables were for...Anyway. so with this cable, plus my previous light blue flat cable (ex RJ45 cable for serial consoles IIRC...) that I sacrificed a few years back so I could cut the connector and strip the wires so I can scope the signal.... plus 3 gender changers..... look what we get as a result ! A spaghetti monster ! But.... it works, then it's gonna be TASTY spaghetti hmmmm !!!I am tired of all thyis messing around with cables and gender changers....it's official, I just added another little design project to my list.... I will make myseld a little breakout box so that I can spy serial links with much less mess, a much more compact and convenient setup..... I could fit ti with both 9 and 25 pin connectors on both the input and the output, so that the worse I might need to do would be a gender changer, that's OK. Then LEDs to see the activity on the various signal, and easy test points on which to hook a DMM or scope probe.. and also some jumpers to easily swap lines where useful. and myabe a small prototyping area as well, you never know what you might need eh !Yes, I need that... I want that... I wiiiiil make that thing... one day.OK so let's try my monster cable see if that works somehow...

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 04:14:26 pm
content: OK, we have results here....I put the programmer back onto the bench with the HP scope sitting atop. The compactness of the HP scope does wonders.The bad : my spaghetti cable doesn't work, the PC fails to communicate with the programmer... investigations are required....The good : even if the programmer does not talk, the simple act of plugging the other end of the cable to the programmer, made the PC S/W happy : now it DOES send stuff "in the air"... so I was able to capture that and work on it. So that means as I feared, that the MS-DOS program does use H/W control lines, not just RxD / TxD, bummer.- It sends always the same frame, it's perfectly repeatable.- Frame lasts about 5.5ms- Bit time measures at about 103.75us so now we know the baud rate : 9,600 bps.It was not so accurate when measuring a single bit, because you have the problem of deciding where to place the cursors on the leading and trailing edges, because you can actually see the slope of them. So in order to minimize this problem, I measured a group of 4 bits to get the figure above.- That means the frame contains about 53 bits.- We assume that frame of course must correspond to what we saw on the "terminal" screen of the programmer : " BOOT + <CR> " , so 5 characters.- So that's about 10 bits per character... it adds up so far.- So then I converted " BOOT + CR " into binary and scrolled the stream of bits one by one, hoping to find matches and hoping I could figure out how many start/stop/ parity bits we have.Here is the very first character as an example, so it's a 'B'... was happy so kept going 'til the endWell it all went OK and that frame indeed contains " BOOT + <CR> " , and we have one start bit, no parity bit, and an idle time between characters of 2 bit "slots". So I guess that means 2 stop bits. So " 9600 8N2 "So now I can configure a terminal and talk directly to the programmer yeah... but no.Again, I need to figure out the extra control lines used by the interface, and I know squat about that.So I will probably never figure that out hence terminal fun is not going to happen.

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 30, 2022, 04:32:59 pm
content: Hi Vince,the hardware handshaking is not that tricky. I vaguely remember having three options for hyperterminal.No handshakingXon / XoffHardware handshakingYour cable has to have the lines connected because the software for the programmer is able to query the version, so just give it a tryEdit: Yep checked it in a virtualbox Windows XP setup.

author: DC1MC
author_rank: Super Contributor
timestamp: December 30, 2022, 04:45:19 pm
content: To speed up a bit the story, don't forget that the telegram contains at the end the EOT character, that a bit more difficult to send with the usual terminal programs !!!Cheers,DC1MC

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 30, 2022, 04:51:17 pm
content: Depends on which system sends it. It might just be the programmer that sends it to end a query.

author: DC1MC
author_rank: Super Contributor
timestamp: December 30, 2022, 04:57:46 pm
content: Quote from: pcprogrammer on December 30, 2022, 04:51:17 pmCould be, if true, that makes life easier, but still someone needs to hack the PC utility to accept the 3000 as 5000, right now I don't know what is the purpose, to speak with the device or to make it program EPROMS?

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 07:41:49 pm
content: OK !So..... let's see.@PCprogrammer :- H/W flow control : XON/XOFF appears to be S/W not H/W. So that leaves us with only one single possibility for H/W control.... great.- Cable : what I will do is... not even bother trying to fix my spaghetti cable ! Waste of time because I only needed it to figure out the data format... now that we know what it is, I can remove my spaghetti and just use the cable I was using before.... which already know works fine.@DC1MCQuoteWow good luck with that ! I am not a magician.... if you are, you are welcome !That said, the program is all contained in that single EXE file, and weighs only 100KB.. .it's not an awful lot. So I think I won't resist the temptation to load it into a HEX editor to see what I can find in there...QuoteNo you do'nt understand. The S/W is not made for the upper class 5000 model, it's made for the little brother the 3000.More precisely the 3000B.... the best I could ever dream about is for the S/W to one day work with my programmer which is a 3000U not a 3000B.The small size of the EXE file I think kinda makes it obvious that it's not featureful enough to handle a 5000.I understand it's an old program, at a time where (human) programmers were good/skilled and could get a lot done with very few lines of code..... plus that S/W uses a text bases UI so doesn't require a lot of code for the UI.... I understand all that, but I still think that 100KB is not a lot compared to everything a 5000 can do.Needless to say, I would love to be proven wrong.QuoteEh ? Cheeky !!It means you are taking this fligh in mid air.... you missed the very first episode of Season #1 !Can't believe I need to reiterate the obvious but, here we go---> > > I bought this programmer knowing ZERO about it, just on a whim. Once I started Googling a bout it I found ZERO on it... so from day one, as fa as I am concerned it was a hopeless case and the thing was just a big door stop !It's just a pretext for reverse engineering and tinkering with vintage stuff, that's all.I would never have ever dreamed of achieving everything we managed so far, it's a miracle.I have no reason to believe, nor the right to expect, that this thing will ever be able to program an EPROM, because I just don't have the S/W for it, nor the documentation.If we can manage it then... it's a miracle, I would be overjoyed... but I am realistic and hardly count on it....the fun is in the journey. Reaching the destination is just the icing on the cake.QuoteI don't understand the issue... as we have seen, and as PCprogrammer said... the S/W does not send that EOT code, only the programmer does.Regardless, sending non-printable characters is obviously a common problem when using terminals, so there must exist somewhere a terminal program that let's you send arbitrary characters by specifying a binary or HEX value.At any rate, any terminal program can send a file, so you can just make one using a HEX editor which will make it easy to type both readable text as well as any control codes. Then you can just send that file.

author: DC1MC
author_rank: Super Contributor
timestamp: December 30, 2022, 08:12:59 pm
content: OK, please zip the program and the associated files, if any, post it here and I'll give it the IDA Pro treatment, no promises, but we may be able to find what is expecting form the device to start sending commands, I have no idea what is the difference between U and B versions, but at least I may be able tell you what it expects to get from the machine.Cheers,DC1MC

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 30, 2022, 08:13:53 pm
content: Hi Vince,I peaked at the executable with a hex editor and it indeed shows the commands near the end of the file. A lot of 4 letter commands so a bit of a guess which means whatNot sure what your software skills are but with Ghidra it might be possible to gain some insight in the code. It can most likely also be used on the 6502 code, but for that to make more sense you would need a memory map of the programmer.You wrote about someone having the original 6502 source code. That could make life a lot easier.

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 09:16:45 pm
content: Quote from: DC1MC on December 30, 2022, 08:12:59 pmI don't know that IDA Pro thing you are talking about, but it looks like you are much more capable than I a for sure, so have a go yeah !I have already posted the program here yesterday, it's a single EXE file, nothing else. 100KB or so.OK I am nice... I attached it here again, to save you some scrolling back ;-)Don't forget to rename the file to replace the PDF extension back to EXE.....Ideally it would be cool to crack it so as to bypass the revision test, so it doesn't even asks the programmer for its identity.This way the S/W would let us past the gates and we might actually see what the user interface loos like, what it can do for us....

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 09:26:08 pm
content: Quote from: pcprogrammer on December 30, 2022, 08:13:53 pmAll the commands are documented in the 5000 manualsQuote from: pcprogrammer on December 30, 2022, 08:13:53 pmSkills ? What skillsA bit of embedded C and a bit of 8051 and PIC assembly language 15/25 years ago... that's about it.Quote from: pcprogrammer on December 30, 2022, 08:13:53 pmYes, he posted only once on that forum, 2 years ago, to offer his helphttps://forum.system-cfg.com/viewtopic.php?p=176555#p176555... but then he disappeared.... maybe he is dead. I will try pinging him anyway...The source code, if it is well commented, would give us I hope the details of what the parameters mean in the message that the programmers sends back to the PC S/W. This way we could maybe crack the programmer's code, overwrite these parameters so that it returns a 3000B parameters instead of 3000U.... that would be cool.

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 09:40:38 pm
content: OK, I did as I said... got rid of the scope and spaghetti cable, and used the previous cable that worked.Fired up Windows HyperTerminal.... configured it with my findings, 9600 8N2, H/W handshaking.... and what do you know ?IT WORKS !!!!For a change, it all went according to plan !I can talk to the programmer and it replies to me.If I send a wrong command, or some garbage, or no command at all really.. the programmer replies with : " ERR #01 ".So then I sent the same commands as the S/W does : BOOT and the HELO, and the programmer replies exactly the same thing as it did before... VICTORY !!!See for yourself :So that's it ! My programmer works ! It's not a door stop anymore !!!All the commands are documented in the 5000 manuals, so just need to spend the next 6 months studying all that to understand what I need to type to get it to do anything useful...Then I can write a script to automate that, or better yet write my own little C program to replace the one we have now which is not cooperating very much, is it...Wow... the grin on my face does not show, but it is thereSo now, it's just a matter of time, and effort, before I can eventually program a chip with this thing, YES ! There is HOPE now !!!What I don't understand though is.... this programmer can do so many things, and program so many different chips (can even program MCU's like the 8051 and 68705 at least, I remember from the documentation)... it must take a lot of data space to store all the various parameters that tell the programmer how to work with X or Y chip, no ?The MSDOS S/W weighs barely 100KB, no way in hell it contains that data.... it can't be in the 6502 EPROM either, too small. So it must be in the system disk ??There is more space in there for sure. It's also the easiest way for customers, to add more chips as they come to the market.Oh, EDIT !!! ==> the programmer replies with its ID to the PC S/W only once it's booted from the system disk... so the ID we need to modify must be on that disk, not in the 6502 EPROM... so no need to mess with that EPROMSo in 2023 for season #2, we will focus on studying all the serial commands, and writing some little script or C program to help us hopefully..... program an EPROM !!!!

author: Vince
author_rank: Super Contributor
timestamp: December 30, 2022, 10:42:24 pm
content: Quote from: pcprogrammer on December 30, 2022, 08:13:53 pmHmmm.... that must explain the " HELO " command instead of " HELLO ".... it's not a typo, it's just that they must have decided on a fixed 4 letter format for all their commands.... OK my bad, I was being a bad mouth... I apologize to all Micropross engineers....

author: DC1MC
author_rank: Super Contributor
timestamp: December 30, 2022, 11:44:33 pm
content: The "little" PC executable is packed (literally) with an EXE packer and with a lot of anti-reversing measures, after unpacking the decompiler doesn't load it but the program still runs. I've remembered the programs of that era, everyone and his brother were doing anti-reversing shite, not that it helped them too much with the young dedicated crackers.Anyway, I'll try to reverse it just for lolz and out of boredom.Cheers,DC1MC

author: Vince
author_rank: Super Contributor
timestamp: December 31, 2022, 12:04:19 am
content: Thanks for that !So that's interesting.... means the program might be much larger than 100KB.... so now there is hope that it might have decent features and user interface, great !

author: m k
author_rank: Super Contributor
timestamp: December 31, 2022, 07:39:11 am
content: The communication sniffer part can be only unidirectional.So with one sniffer port you can sniff only one side at the time.The cable itself is not very long so the driver should be able to serve two receivers.On the other hand, 1488 driver's capability is bad, or worse.Am I remembering correctly that your chips had some 75-series stuff.Those are many times non TTL level drivers and receivers.Since it's a programmer and moves more data it needs some controls, both directions.The cable is,TxD - RxDRxD - TxDGND - GNDRTS - CTSCTS - RTSDTR - DSRDSR - DTRDCDRIOnly one pair of controls is needed, DTR/DSR or RTS/CTS.The other pair can be looped to its counterpart.DTR is Data Terminal Ready, so it's not really for flow control, or at least wasn't meant to be so.DSR is Data Set Ready, Data Set is a modem and its connections have opposite directions, so straight through cable was used.Together they were meant to tell that the device on the other end is ready, so signals were meant to be pretty steady.RTS/CTS pair was meant to be the flow control, their names are Request To Send and Clear To Send.Three and four letter commands are a norm.There the interpreter reads up to a next whitespace and then checks the beginning.So for "start" you can also give just "sta" for three letter system.For four letter system "hello" is an exception.

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 31, 2022, 05:36:05 pm
content: Hey Vince,as if Adrian knows about your project

author: Vince
author_rank: Super Contributor
timestamp: December 31, 2022, 06:36:14 pm
content: Thanks !55minutes wow ! Will be watching it for sure but not right now....Making disks for the EPROM programmer is indeed high on my priority list.I have already installed that " ImageDisk " S/W on the vintage PC, but it seems so complicated and it's actualy a collection of many programs.It's overwhelming and I just don't know what file(s) to run, then what menus to go to, for what, in what order.....I just have no clue what I am doing !I definitely need a lot of hand holding to make sure I don't ruin my precious boot disk !... so I guess it starts by watching this video....Then I will have to make baby steps... I think I will first get some hands on experience with some old random 1.44MB HD disks I don't care about, using the original HD drive in the vintage computer.Then once I am successful with that and start building confidence... I will install the programmer's DD drive into the vintage computer, and do experiments with that, on my NOS DD disks.... trying to write the image file I got for the ROM 3000B system disk. Then read my original 3000U system disk and make 25 copies of it to be safe....Anyway, I am glad I made so much progress on this programmer during my week off, because it's over... tomorrow and Monday, I am away visiting my dad. Then Tuesday back to work....Need to make progress on my other long overdue repairs as well....

author: m k
author_rank: Super Contributor
timestamp: December 31, 2022, 07:24:53 pm
content: Maybe you can sniff both serial comm directions with one port.If communication is half duplex you can hook trannystors to both lines as open collector receivers and 3rd as a needed inverter.You can also use unused control pins for power and since you're not changing levels everything is naturally correct.Then you just start receiving.Everything obviously comes to same screen but if it's half duplex and own lines the whole thing should be quite understandable.Disk stuff,in case you need to shuffle with hardware.With HD stuff you're mostly always fine.You can do all DD stuff just fine if you read them back with that HD drive.Drives will have settings and some are important.I found two.Mitsumi D359T5, importer labeled Feb-95 and all settings packed away.Panasonic JU-257A606P, labeled 23/97 and settingsSW1 RY/DC ready/disk change pinsSW2 OUT/NC/IN density modeSW3 D0/D1 drive numberSW4 IN/OUT density modeSW5 PC/AT/P2/SE speedSW6 MS/MO motor on style

author: Vince
author_rank: Super Contributor
timestamp: December 31, 2022, 08:15:53 pm
content: It's not half duplex.Oh ! Now I think of it, I got the perfect tool for the job.... an HP 4951C Protocol analyzer !!Mine came with the pod to work with RS-232C, so that's perfect. Problem is that it's missing the big cable that connects the pod with the analyzer, so it's useless.Plus it's so versatile / complicated, and the manual so thick... it takes a PhD and 6 months of training to get it to do what I did in a few minutes with a scope.....I am sure it does fancy things that I will never need, but for the basic stuff I need, it's way overkill and way too complicated.But I find it cute so I can't get myself to get rid of it....

author: pcprogrammer
author_rank: Super Contributor
timestamp: December 31, 2022, 08:23:12 pm
content: Quote from: Vince on December 31, 2022, 06:36:14 pmYes his videos are almost all 45 to 60 minutes long. I tend to skip to the bits I'm interested inMake sure to write protect your master disk. Open the slide on the small hole.https://electronicstechnician.tpub.com/14091/css/Write-Protect-Write-Enable-Slide-262.htmEdit: You do have nice toysA shame that the cable for it is missing.

author: TERRA Operative
author_rank: Super Contributor
timestamp: January 01, 2023, 04:09:22 am
content: Surely a cable isn't toooo hard to make, beyond the tedium of soldering so many connections?Or just use IDC connectors and do them all in one go.

author: m k
author_rank: Super Contributor
timestamp: January 01, 2023, 08:34:22 am
content: Quote from: Vince on December 31, 2022, 08:15:53 pmI've once made a Windows bit banging analyzer for parallel and serial port but can't remember how fast it was.Today's free alternative should be available.Nowadays new construction should include an embedded MCU as a source connection.It could send blocks that the receiving computer rearranges.Shouldn't be overly complicated project, I can do the software if you're a hardware guinea pig.

author: Vince
author_rank: Super Contributor
timestamp: January 02, 2023, 08:24:18 pm
content: Quote from: TERRA Operative on January 01, 2023, 04:09:22 amYou are assuming it's a straight cable aren't you !But we don't know that...I did get the service manual back then, to try to figure it out. I don't remember I managed to get an answer to that question. All I remember is that the manual was so thick and overwhelming, it discouraged me from going any further with this instrument, I just didn't feel smart enough to make use of it, frankly.But I guess I could reconsider the situation... maybe it's a straight cable. If it is, I will price the parts and if it's affordable, might make a cable and see if we can have some fun with that analyser...

author: Vince
author_rank: Super Contributor
timestamp: January 02, 2023, 08:27:27 pm
content: Quote from: m k on January 01, 2023, 08:34:22 amNo pigs here !I will just buy a ready made analyzer, these affordable compact USB thingies every one buys. It's good bang for buck, and smart enough to do the basic stuff I need it to do.It's on my ToBuy list, with another millions things of course.

author: Vince
author_rank: Super Contributor
timestamp: January 02, 2023, 08:34:31 pm
content: Quote from: pcprogrammer on December 31, 2022, 08:23:12 pmOK I have watched his video !!!Wow... it was Shariar grade : fast paced, speaks at the speed of light, barely the time to breathe, and packed with interesting and relevant stuff... so much so that the 55 minutes feel like 5 minutes.Excellent video, thanks for the pointer !I am the perfect audience for this video... this Adrian really looks like he knows his business with all the old machines he worked on...All I need now is a video that's slower paced, calm, and targeted specifically and entirely on how to operate that IMD S/W, concretely.But I feel confident enough to start messing with disks and drives and IMD now....The only mistake I can't afford to make, is to wipe or damage or mess with my precious system disk.... sure, but OTOH how could I possibly damage it, since I will enable the write protect thingy on the disk, and of course will only ever ask IMD to make read operations on that disk, no write operations whatsoever.... so what could go wrong ?OK I am motivated, I will soon start playing with all that, stay tuned....

author: m k
author_rank: Super Contributor
timestamp: January 03, 2023, 06:58:06 am
content: Me too.I'll pack a bit for those who don't.Starting from the top.Topmost is a track, one round starting and ending with an index hole, green floppy of the video still has it.First important parameter is here, the rotation speed.The drive is pretty much just a spinner, the controller does practically everything.So the rotation speed must be so slow that all data can be written before the index hole appears again.On the other hand the speed, writing or rotation, can't be too fast or the head can't flip those bits of ferro magnetic material on the disk.It must also obviously match with the other drive that occupies the other end of the information exchange.Next are sectors, just partial of a round track, like the name says.This is the level where software operates.Only special thing here is interleave, it's just an order of those sectors.Early day operations were so slow that interleave was sector count.So in practice sectors were against the rotation direction and only one sector was read during one round.Here only meaningful parameter is minimal interleave, but even that can't really be solid.There is always a possibility that operation is interrupted and later is too late.So interleave is specified by a formatter and controller does what it can with it.Back in the day it wasn't unusual that reading a disk was slower than expected, then one possibility was that the disk was formatted as 1:1 interleave and the puter couldn't match it.At this level there are two kind of operations.Sector operation and track operation, format is a track operation and the rest can be either.Track operation means that even if your goal is just a sector the whole track is actually operated, means also that writing is slower since all must be read first.Next level down is addendum data that the track and its sectors have.It can be used by some low level software, but even if that is the case it's usually for internal use only.Also, all that data is still just regular data, it's just outside of the data area the upper level uses as data.Early days Shugart and IBM were the main parts of the industry and their addendum data was very much enough so nobody really disagreed.Later some nuances appeared but basics are still there.The yellow background picturehttps://hp9845.net/9845_backup/projects/fdio/A bit below that picture there are white background pictures of Shugart industry standard interfaces.As you can see there's only one pin for read and write, and when you continue you'll see it's actually very low level interface.The level is actually so low that you're hooked to the head directly, the drive does some level shiftings but that is all.So now we are at the lowest level that possibly is less known.A bit above yellow background picture is a white background picture that explains it quite well.Those bits and timings are what you're finally coding with your drive emulator.Means also that your emulator file is much bigger than what is the actual data content of higher level.Nowadays new emulator construction could easily use a byte or more for a single disk bit.One thing the video didn't cover, but it didn't do much with crackers either.Drive interface is not so standard that you can always expect it to be a correct one.One irritable difference is drive ready and disk change, pins 2 and 34.One extra,the red stick Adrian is poking his puter parts is actually an adjustment tool.And end of a pointer is a hex key for stuff like adjustable coil with ferrite heart, usually used in CRTs.

author: Vince
author_rank: Super Contributor
timestamp: January 03, 2023, 11:46:43 pm
content: OK we got progress this evening ! But it's 00H45 here and I am exhausted and really must go to bed so I will be quick sorry.I started playing with IMD / ImageDisk to get some practice operating it.Using the HD drive in the vintage machine to begin with. so I first messed with some random HD floppies.I eventually was successful in reading one (stumbled upon the first install disk for Windows 3.11 , that will do), analyzing it, make an IMD image file from it, and using the image to write it to a blank HD floppy.That floppy would then work.... woohoo.So then I moved on to reading the precious boot disk that came with the programmer. Yes, it's an SD disk but if I understood well what Robert and Adrian said... the smaller heads of the HD drive should be able to read the SD disk just fine, and reading that disk is all I want / need to do. I made sure the disk was write protected just in case, and it was.So off I went, I analyzed that disk with IMD, it detected it as I expected it to : 16 sectors of 256 bytes rather than the usual 512byes sectors on a regular computer disk.Then I read the disk to make an image of it... and sadly it found 6 tracks it failed to read : #37, 61 to 64, and 77, all only bad on one side of the disk, not both.So the first half of the disk is good, might be why it manages to boot regardless, I guess.So then I installed that " HxC floppy simulator S/W " that Adrian showed in his video, so that I can see the contents of the disk.I wanted to see if it was full of garbage or if the read was indeed successful and there were some meaningful stuff in there.Meaning I easily found : found an awful lot of ASCII text in there, as I had hoped !I found at a glance :1) The version number displayed during boot on the video output : " 5.40AP ", so that adds up. T2) Found evidence that this boot disk is most likely for a 5000 model not a 3000 one !So the label on th disk is 100% wrong then. It's not just the revision number they got wrong (it says v5.5ARP) but they alos got the model number wrong !3) Strings showing a list of PAL/GAL chips, and EPROM 27XXX chips hmmm !!!4) tons of strings that make up the countless menus and messages in this thing, related to programming, data transfer etc...So it's all very interesting ! I have a programmer whose F/W thinks it's a 5000 model, with a boot disk that also is meant for a 5000 ! Weird, but super cool.No wonder why the MSDOS S/W was not happy seeing a 5000 model when it was only designed for the 3000B model !It's also clear that the list of chips the programmer can handle, and the definition for all the menus / UI, are stored on the disk, not in the programmer's F/W.SO now the next step is to write a few different boot images to a DD disk and try them on the programmer.But that will require to remove the SD drive from the programmer and put it in the Vintage PC.From what I read on the French forum, it's not quite clear if that drive can even work on a PC. It may or may not. It may only work on Amiga systems.HxC detected the image disk as using either Amiga or ISO MFM or ISO FM standards, which confirms the Amiga thing at the least, but does not tell me if it might work on a regular PC machine...That will be for tomorrow !EDIT : suddenly I realize : I don't think I came across strings describing all the 4 letter commands used to control the programmer via the serial port... so either they were written in the sectors that IMD failed to read, or it's implemented in the programmer's F/W. Can't wait to have one of those cheap USB chip programmers to read the programmers EPROM, to see if the serial commands are in there, and what else might be there as well. My gut feeling is that the F/W mostly contains only the stuff to handle the remote operation via serial port and GPIB, and also the // port (3 choices, how luxurious...), and not much else. The EPROM is not a big one IIRC.

author: m k
author_rank: Super Contributor
timestamp: January 04, 2023, 07:44:02 am
content: Quote from: Vince on January 03, 2023, 11:46:43 pmIt's not stone carved.Back in the day things were a bit different, even that everything were pretty small, compared to what we have now.It's quite possible that one part is not altered and keeps its old numbers when other part is giving new numbers to all.So a marketing issue and clearly invisible is actually nothing at all.QuoteAmiga is very different, one easier possibility is ready/change difference.It's also possible that your read errors are deliberate, for that you need a sector image with some of addendum data.One used copy protection method was putting up wrong track or sector numbers.One other was swapping CRC data.On the other hand, four errors, one after the other is not a good sign.Flip the diskette door open and check the disk visually, can you see anything alarming.For what Amiga is very good is exactly these situations.Since it was a gaming machine first, it has a hard wired copy protection something.It's case is that it can read something it can't write, the name of the thing is long track(not GCR) and it reads from index to index no matter what and software does the rest.Against writing the same there is a hard wired timer that is flipping much earlier.First level of testing is pretty easy.Just swap drives and check how disks are spinning.Drive ready, disk change and motor on are what you can test without any actual readings.Scoping pins 2 and 34 will show something also.One other thing.In case you think your data is missing something, try XOR 0xFF everything.Text is obscured that way yes, but not enough, you'll learn to see its presence.

author: Vince
author_rank: Super Contributor
timestamp: January 05, 2023, 11:46:38 pm
content: Quote from: m k on January 04, 2023, 07:44:02 amOh no, that would be very nasty !!Quote from: m k on January 04, 2023, 07:44:02 amOK tried that. Removed a few specs of dust from the surface....and tried reading the disk again :1) All 6 tracks that read bad before, read just fine now ! ... but now I have a new read error, on track 76/1...... i.e. the track right next to the 77/1 that was bad before, so there must be something wrong in that area of the floppy.2) So removed one more speck or two of dust..... now 76/1 is good but it's now track 60/1 that's bad. No read error per se, instead if complains that " Could not determine interleave ". Whatever that means... it can't be good anyway, I guess...3) Seeing as the errors were random, the errors clearly could not be there intentionally, it was just a falky disk, but it seemed to improve the more I read it so... I though maybe if I read 100 times I might get lucky and eventually get a 100% error free read, at least once... I didn't have to wait 100 times though : the very next read attempt was the one ! 100% error free, look at that !!!Needles to say I now treasure this disk image... it will let me make good disks.The original disk looked indeed really bad.. sure the dusty did not help, but the disk surface itself looks very tired : lot of circular marks, as is the drive heads actually were dragging on the surface while operating... There are also a few "dots" tat look like tiny specks of dust, but aren't : they look like tiny dents in disc, as if the heads impacted/crashed into the disk while it was not rotating. I don't know if that's even technically possible, I am no drive expert... but it does look like that.So next, I wrote that good image, to a 1.0MB DD disk... using the HD drive in the PC. Disks are NOS so unlikely to have much "data" floating around that would confuse the programmer's DD drive. Worth a shot anyway. So I made that disk, then read it back with IMD... no errors. Then wanted to compare the two images to make sure they are identical, but IMD does not seem to offer this feature, crapSo I just went ahead and sticked the disk into the programmer to see if it could boot from it or what !Well... works just fine, it boots on it happily and I can still talk to the programmer using a terminal, still works perfectly !So that's cool, sanity checked passed with flying colours, we can create and write images now !That's all for now... 00H45 here, going to bed quick. But tomorrow is friday already, so we will have more time to play with this thing !Quote from: m k on January 04, 2023, 07:44:02 amHmmm, looks to me like you know the H/W part o these old drives quite well... hopefully with your help we can get something working over the week-end...Oh forgot... one last thing. I found it strange that a DD disk is 1.0MB but all the disk images I was given for the programmer were only 600+ KB i size. Such a waste a precious storage space just didn't make any sense. So I thought hey.. maybe it's formatting problem... 1.0MB might be valid only for PC formatted disks, but since the programmer uses a different format... the total available size might be different as well.So I made the calculation : Two sides, 80 tracks per side, 16 sectors per track, 256 bytes per sector.... 2 x 80 x 16 x 256 is about 650KB ! NOW it does compute !!!See you later.....

author: pcprogrammer
author_rank: Super Contributor
timestamp: January 06, 2023, 06:56:27 am
content: The 1.0MB is unformatted space. The formatting takes away parts to store data for things like error checking.http://209.68.14.80/ref/fdd/formatCapacity-c.html

author: m k
author_rank: Super Contributor
timestamp: January 06, 2023, 11:05:55 am
content: Quote from: Vince on January 05, 2023, 11:46:38 pmAround the board many have been banging their heads with these things through the years, so I'm sure somebody will be around and you'll be fine.For your floppy stuff,back in the day many things happened, open environment is open for happenings.The actual floppy era was even worse, like paper clipping a note to a one and then putting it under a pile of chronological mail.But for 360k floppy that was most likely just a business as usual.It's also possible that the reason for your read errors is finally the head and its dirt, those markings on the disk have donated some material.For that I had a flat plastic made J-hook, it reached behind the spinner part and with a sort of a cotton sock and some freon it did the job.Cleaner disk is for personal use only, any more than that and it becomes unpractical, J-hook is also much faster.For your possible drive things,since you have made a working copy your real problems are none.If your original drive stops working you can always change it to a PC drive.Some nuances may remain but you can read and write disks with your programmer.The earlier link with yellow background picture.There the bottom HP format, that's probably close to what your programmer is using.Few copy protections,one of the nastier one I can remember was where the disk was physically damaged by punching a hole to the data area.Obviously edges of the hole were not level so it had a possibility to damage the drive.It didn't help that the disk had to be accessed during every start and data was written over the hole.One other was for the hard disk, there data was written where normally was nothing.Means that you can't swap or format the drive because that extra data disappears and then the disk is not accepted anymore.Luckily it was just a plain text and a hacker nature of an eager repair man revealed that.

author: Vince
author_rank: Super Contributor
timestamp: January 06, 2023, 10:10:46 pm
content: OK, I pulled the floppy drive of both the programmer and the computer. Pics below.First the HD drive in the vintage computer : it's the usual flimsy / cheap style, made by ALPS. First strange/suspicious/ worrying thing I notice, is the total absence of any jumper at the back.Also, the sticker says it's an IBM part number.... so it ads up. Bloody IBM set the configuration of the drive in stone, to suit its Aptiva machine.Second, the programmer's DD drive. It's the opposite of the HD drive : weighs at least twice as much, beautiful die cast alloy chassis like the old 5.25" used to have,, cool stepper motor to spin the disc, and a big ass motor to move the head, in contrast with the minuscule ridicule tiny motor at the back of all these flimsy more modern drives.Also has plenty of jumpers, on the side not at the back, see pic. 6 of them, which read : S0 S1 S2 S3 SH AHI understand floppy controllers can address up to 4 drives so drives have jumpers to be set as one out of these 4, so I guess S0 to S3 is meant to tell the controller which drive number it is.Currently set to S0 which makes sense I guess. However good luck figuring out what SH and AH mean.Drive is from BASF, so German... but "Made in Japan" none the less.So first I tried plugging the HD drive into the programmer. Since that drive has zero jumpers, I didn't have much to think about.Programmer didn't like it at all : upon power it up, it beeps / complaigns, and does nothing at all with the drive, it just won't touch it.... no noise, no LED, nothing.Then more interesting, I plugged the DD drive into the old computer. No go either here : BIOS complains about it at boot and forces me to modify settings.BIOS offers me only 3 choices, none of which match the drive. I have to choose from :3.5" 1.44MB5.25" 360ko5.25" 1.2MBAt boot the BIOS recognizes it, or default to I should say maybe, 5.25" 1.2MB, as drive B not A !Whatever. I I booted with that setting. MS-DOS does boot, but when I try to select drive A:, it fails miserably so I have to go back to the hard drive instead.So it's not looking good at all, the DD drive is too custom and old to work with the custom BIOS of the custom motherboard of this 100% custom old IBM computer.Too much work figuring out the DD drive and IBM BIOS... too costly to buy a different vintage computer with a standard BIOS that could accommodate any floppy drive type...just so I can try to maybe, with no guarantee whatsoever, manage to make use of the oddball DD drive of the programmer.No... in the short term, the quickest and cheapest way out is to keep doing what I have just done yesterday : write the SD floppies with the HD drive, knowing my box of DD floppies is NOS so blank, no old data on them to mess things up when reading t back after having written an image on it. Worked just fine with the first boot disk yesterday, so although it's not reliable 100%, it appears to work well enough to let me go further with this programmer.... so that's what we will do.It's frustrating because as far as I understand it, that guy on the French forum who restored hi 5000 model, DID put the programmer's DD drive in his computer to write the image, and it worked just fine.... HOWEVER the drive in his programmer is NOT at like mine ! Look below, he took a pic of it : it looks very different to mine, and very very similar to your cheap HD drive, similar construction, and setting jumpers at the back, with different marking than mine, notably an " MM " jumper, a " READY " one and a " TTL / CMOS " one.Made in Japan by " CHINON ", model FZ-354.He did say that eventually this drive was faulty (would give errors towards the end of the disk) so he replaced it with bog standard DD drive which modified a little bit IIRC.So I guess his programmer was a bit more recent than mine.Anyway, so now the next step is to write a DD boot disk (with the HD drive then) for the ROM3000B image that I was given, which matches what the MS-DOS remote control S/W expects and is meant to work with exclusively.But before that, I must figure out how to convert the image file into the IMD file format so IMD can make use of it. I saw a few convert utilities that came with IMD. There is one called " BIN2IMD " for example. Trouble is, I don't know what is the file format of the image files I was given... I don't know what formats exist out there. Is there any to find out ? Maybe read the image file with a HEX editor to see if there are some metadata at the beginning of the file with some ASCII text telling us what format is being used ?!I don't know...

author: m k
author_rank: Super Contributor
timestamp: January 07, 2023, 10:54:21 am
content: Your DD drive booted using your HD drive made disk.Your DD drive can't read HD contents.So your new disk is DD.SH/AH seems to be head load.AH is automatic, so no need to worry.It's an old thing and hardly any new drive has any.Alps DF354H has both densities.So it can do currant DD disks.Both 3.5" drives are 80 track machines.80 and 40 track differences are 5.25" stuff.3.5" DD and HD differences are writing density, not track density and disk quality or capacity.3.5" DD has 9 sectors when HD has 18, that's PC's 512 byte sectors.So your 16*256 is bit less than PC's 720k formatted DD disk.Connect HD drive to programmer using connector after twisted section.Connect DD drive to PC using straight cable but swap short from S0 to S1.HD drive knows that DD disks are available but programmer doesn't know that HD exists.If HD drive behaves the programmer is completely happy.Now that you have that new boot disk, try reading it with Linux, nothing special needed.At least old PC controller has 256 byte sectors but Widows is not supporting it.

author: Vince
author_rank: Super Contributor
timestamp: January 07, 2023, 06:41:19 pm
content: OK !!!Thanks MK for the help, we now have results here at Vince's Lab, I am pleased to report !1) Programmer's DD drive now works in the old PC2) I was able to use IMD to successfully write the system disk image to a DD disk3) Then tried that disk : plugged the DD drive back into the programmer : it can boot from it just fine and I can talk to the programmer with the Terminal just fine... it works !So that's super cool ! I can now WRITE proper DD disks, making progress here !4) No joy with using the HD drive in the programmer though, it just beeps at it in a very condescending way that I dislike...I think the controller board in the programmer just is not modern or sophisticaed enough, or simply not setup to handle an HD drive and that's it.So I will keep having to swap the DD drive from the programmer to the PC, and back... or just keep writing them with the HD drive since the DD disks are blank/NOS and it appears to read back just fine on the DD drive.... that will make my life easier for now. Anyway, I don't have to write a millions disks anyway... I have only 3 or 4 disk images to try out, so I will just make these 3/4 four DD disks then I am done, I will be able t leave that DD drive in the programmer for good, where it belongs.Would be cool if I could find a DD drive to buy somewhere... if someone in the Euro zone (i.e. no customs and cheap shipping...) has one gathering dust.....OK so now I need to write the images I was passed, using IMD... so first I need to figure out what format these images are using, so I can try to cnvert them into the IMD format. Lightbulb moment = maybe I could just use that HxC S/W ? As adrian said it can handle lots of image files format... maybe it will auto detect my images, and then rewrite them in the IMD format.... that would be cool wouldn'it...OK that's some more to play with.Oh forgot : I also added a floppy drive to my main / Linux computer !Will help me work on disks directly from my main computer rather than having to transfer stuff via the network to the vintage PC so I can use its drive.Also, I have been meaning to add a USB attached floppy drive for some time now, to read screen captures from my Tektronix TDS544A scope ! Well, no need for a USB anything now, I have an actual drive available !Forgot #2 : MK, yes that would be super cool to be able to read the DD disks on my main Linux machine indeed !However I don't know how to do that. I guess I need to use the MOUNT command and tell it what file system to use... but since it's a custom file system, I don't know how to tell Linux the parameters to use for that to work... Need to do some googling / reading and forum asking I guess... but yes if we can do that, imagine how marvelous that would be to actually be able to see all the files in these, open them, write to them without causing CRC errors.... FANTASTIC !!!ON ANOTHER NOTE !Changing subject now... I spent an hour looking at the MSDOS S/W on a HEX Editor, I just can't help. It was interesting. Here is a summary of my findings, looking at all the ASCII strings I could find :1) The first 75% of the file are binary, not one string. Probabyl the "packed" executable that DC1MC found in that file.2) I see mention of a " ULIS " compiler... does that ring a bell DC1MC ??3) The S/W can- Read/write chips, set start and end addresses, set programming voltages, and detect a good variety of electrical fault conditions (shorts of all kinds...), check if the part is blank, verify / rad back the chip, check CRC.- Modify the settings of the UART- Use the DD drive to format disks, and copy them : "insert source disk... remove it, insert target disk " etc...- Checks that the programmer booted properly. My programmer returns "00" when asked about that, and a return value of 00 IIRC is a kinda standard value to mean that everything went well eh ? So that's good.- Can check if the H/W of the programmer is OK : "System ROM " (The 6502 CPU's EPROM I guess), as well DRAM and SRAM and also "Hardware"... I guess that refers to the 3 analog I/O boards.- A string that says : "Insert PC S/W Disk #3" that's bad... means I might be asked to insert a disk I don't have, in order to be able this or that...- A string that says : "Requires Board IO2_5" : so that's bad as well, means some stuff can only be done with this board. Either they mean a different board than the one I have, or they mean just a newer revision of a board that's already there. I guess "IO2_5 means " second analog I./O board (there are 3 of them), version 5 ? something like that... I could pull the boards to see what markings are on them to help suss this out, I guess...- A string that says : "Function not implemented in programmer " . Now that's interesting... the S/W seemed to be meant to interact strictly with a ROM300B model, so it should be able to take for granted what features the programmer can or cannot handle... This maybe means that it CAN handle more than just the ROM3000B model ? That's interesting....It can handle the following input file formats, most of which I have never heard of, because well, I am not that old I guess... Note the three Tektronix formats, cool but weird / surprising !BinaryASCII - BNPFASCII - BHLFASCII - B10FASCII - OctalASCII - HexMOTOROLA ExormacsINTEL HEX - MCS 86HP 64000 absoluteTEKTRO S8000TEKTRO S8002Extended TEKHEXSIGNETICS absoluteTEXAS SDSMACMOSTEKFAIRCHILDRCA COSMAC- There seems to be this concept of a "Board" file. I see strings like"No Board file ! ""Storing Board file""Restoring Board file""Transmit Board file".So I am thinking maybe this refers to a set of parameters sent to the programmer to tell it how to configure all of its I/O board in order to work with this or that particular chip.Just a shot in the dark...- Found two blocks of text that list 4 letter commands (what PCprogrammer must have seen the other day).I rewrote them and ordered them alphabetically, 49 of them. This makes it easier to see that there are some lone commands (like BOOT and HELO that we already knew about) but that the bulk of them are spread into a few groups of related commands, which all start with the same two letters. Here it is.BDBLBDCKBDILBDLOBDPRBDPSBDVEBDVFBOOTCFPRCFPSCFRSCFTCCFVPCLOSCLTPDFPAFDDDFDDIFDFRFDL2FDLBFDLDFDLOFDW2FDWBFDWDFDWRHELOINREINTRMECKMEFIMEMOOPENOPTPPRFURSFRRSPARSRBRSRERSTRRSTYRSVETIWCTSBDTSDRTSROTSSRSo I guess they decided to use the first two letters to designate the subject/object being worked on, and the last two letters code the type of action that's going to be applied to that object. Sounds like a reasonable / plausible assumption.Anyway, we can see that one of the group starts with "BDxx" .... BD like... BoarD eh ? !So we have a set of commands to work with these "board" thingies.One group starts with "FDxx", so that could mean "Floppy Drive/Disk" I guess...Then "RSxx "group could mean "Receive Stream" ? So the "TS" group would be for Transmitting then.The "MExx" group maybe has to do with MEmory.. maybe commands to test the programmers RAM at power up.At this point I think it's time to look at the 5000 manuals I was passed, to see if the commands listed there, matches the ones I found here, how to use them, and if there are more commands than what I see here.So you see ? We can learn a lot of things, and gather clues, just by having a quick look with a HEX editor... I just love HEX editors !!!

author: m k
author_rank: Super Contributor
timestamp: January 07, 2023, 08:31:19 pm
content: Quote from: Vince on January 07, 2023, 06:41:19 pmYour BASF drive with its head load setting is so old that it's archaic.If programmer's controller is equally old it's poking in the dark with possibly any drive you may find.One info was that some BASF drives have RDY to pin 6, PC drive is missing that.Is the programmer equally upset if you try it without any drive?There are not very many possibilities and if you have a spare cable to destroy you can start doing some connections.You can also remove the cover of HD drive, there should be at least a place for jumpers, try to find drive select 0 or first or 1st of 4.People have modified Alps DF354H to work with Amiga so it's not that different.QuoteIt may not finally be that custom.I wouldn't be very surprised if it's recognized right away.You can also try some live distros.Some years ago Knoppix had a very capable H/W sniffer.

author: Vince
author_rank: Super Contributor
timestamp: January 07, 2023, 10:27:14 pm
content: Quote from: m k on January 07, 2023, 08:31:19 pmOh you misunderstood I think !I am looking for more MODERN DD drive, to install in the vintage PC not the programmer !So the PC should be able to handle that.The goal is to have a "modern" DD drive in the PC so that I can leave the ancient DD drive in the programmer where it belooooongs.This way I would not have to swap the programmers all the time between the PC and the programmer, because it's a pain !!!Quote from: m k on January 07, 2023, 08:31:19 pmWell I don't have the video output (not possible, too much mess on the bench atm), but as far as the sound track is concerned then yes, it behaves exactly the same : one loud BEEP and that's all....Quote from: m k on January 07, 2023, 08:31:19 pmOh hell no, no reason to waste time and effort messing with that, given that I do not HAVE to...Again I think it's just that the floppy controller in the programmer is just not capable of handling that HD drive.Quote from: m k on January 07, 2023, 08:31:19 pmHmmm.. clever, didn't think of that. Alas I cracked it open no jumpers to be found, there is no room for that inside, the mechanical stuff takes all the space.Quote from: m k on January 07, 2023, 08:31:19 pmInteresting....Quote from: m k on January 07, 2023, 08:31:19 pmAlas no luck. I checked /etc/fstab to see if it was set to use a predefined file system, but no, it looks like it's in " AUTO " mode :/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0... which sounds promising. Unfortunately it fails to mount the disk, MOUNT returns an error code #32 which means " Failed to read superblock ", whatever is a " super block "....OK I have some bad news : I stilll don't know how to convert the few disk image SI have to the IMD format, but what I thought I could try to do at least, right now real quick... is to have a look at these images with a HEX editor. Turns out it works just fine. So I loaded the image that supposedly is for the ROM3000B, as it was shipped in the same directory as the PC S/W that requires, and the latter requires a ROM3000B model as we all know by now.... So the bad news is that the ASCII strings in that image look more like.... a 5000 model, version 7.0AP .....So I am doomed, I have ZERO 3000B images !Anyway, while I was in there, I checked for a slit of commands, and found one :It's not 100% the same as what I found in the PC S/W EXE file : the system disk is missing some commands, but also has some that the PC S/W does not...Here it is summarized :Absent from the disk :BDPSCLOSCLTPOPENOPTPAbsent from the PC S/WCFAIEEWREERDRSLITSPRIt's getting late already, 23H30, that's all for today, satuday is already over, time flies when I am working on this programmerMore to come tomorrow hopefully...

author: m k
author_rank: Super Contributor
timestamp: January 08, 2023, 12:41:25 pm
content: Quote from: Vince on January 07, 2023, 10:27:14 pmGood for me, but even better for you.You don't need to do that, your HD drive will do authentic DD disks, it's a dual mode machine.It's a bit rate, a length of a bit, that is different between those formats, your HD drive can do it.It's clocking bits in, not rotation speed that is the factor.Inside the drive,close to pin 1 of the interface connector are 3 solder spot jumpers, round pads with a cut in the middle, now DS1 is shorted there.Front side, the corner opposite to write protect hole, there are small push buttons, or maybe one and the other corner has two.Buttons are write protect, disk present and DD/HD disk.Force that DD/HD button down and you have a permanent DD drive, no matter what disks you are using.QuoteI wouldn't be so sure.Possibly the HD drive is just not present, that's a good sign.You can change that DS1/DS0 selection permanently and continue using the drive in PC with the 2nd connector of the cable.With some luck that's all you need to do.Generally I would be more concerned about the well being of that BASF drive than anything else.If you can't find a replacement your programmer's days are numbered.On the other hand, those drives are extremely reliable, maybe something else breaks first.I read that some drives have some leaking caps.If you want to check the initial state of the drive in the programmer check levels of pins 2, 4, 6 and 34.You can also check the same with interface cable disconnected, those low side pins are not very standard so their direction can change.Newer interfaces have much more differences but I guess those cases can be left aside.Is the earlier mentioned big zip file available somewhere?

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 01:54:10 pm
content: Thanks for the info, might be looking that because I now fear the DD drive might be bad... the programmer now refuse to boot no matter what. It will seemingly read the disk for a minute, like it always does during a successful boot, execept that now once done reading the disk, it emits one BEEP. At that point I can still talk to it via the Terminal / serial port, however the only command it will accept now is BOOT. If I try to type any other command, it will not even let type the command in full : as soo as I type the first letter, just the first letter (not even hit "Return" to validate).... it will immediately reply with ERR #1 as it always does when it does not know a command.So I can type BOOT and that's it, to which it replies with " BOOT 0F " so indeed there is a boot error code... then it tries to boot again, fails again. So I type "BOOT" again, and it returns " BOOT 25 ", another boot error code then.... boots again but this time I remove the disk from the drive to see what it would do. It BEEPs again, and throws " BOOT 1E ", yet another error code, all by itself this time though = I don't even have to type BOOT for the programmer to return the error code.I tried two more bot disks, which used to work fine : I get the exact same behaviour. so it's not a disk problem.The programmer itself seems responsive as I explained... it's just that it's not happy with it gets from the drive apparently... for some reason.So I am hoping the programmer itself is fine, and it's just a floppy drive problem... or just a bad cable who knows.At any rate, the programmer is now a door stop so I can't move forward until I fix this boot issue... IF I can fix it that isI must admit I am extremely depressed.... was going so well so far, and now in a split second it all dark and gloomyI tried reseating the ribbon cable, no luck.Will try replacing it.Will try installing the drive into the PC to see if it still works. MSDOS can't use it of course, but I can use IMD to write and read images to DD disks and see if that still works or not. That should tell me if the drive is still good. If it is then I am in big trouble because that means the problem is in the programmer itself, and I doubt I can find the problem....too complicated, inaccessible boards... All I could do is replace tantalum and aluminium caps, to rule that out, but other than thanI must give more details about how it all happened though, in case someone finds a clue in there :The programmer started misbehaving while I was trying to throw at him every serial command I found last night. So I just tried them one by one methodically, and took note of the result. I had only time to try maybe 70% of the commands before the programmer went kaput. I tried every command but TSPR TSRO TSSR and the FDxx group of commands.Below is a compilation / cleaned up terminal output, of the successful commands :BOOT 00HELO 00 30 00 5.00 5.40 APEERD 00 F0/O3870742/CV / OK/16/11/87INRE 00INTR 00RSLI 000001 BINARY0002 ASCII - BNPF0003 ASCII - BHLF0004 ASCII - B10F0005 ASCII - OCTAL0006 ASCII - HEXA0007 MOTOROLA EXORCISER0008 MOTOROLA EXORMAX0009 INTEL hexa - MDS000A INTEL hexa - MCS-86000B HP 64000 absolute000C HP 64000 + absolute000D TEKTRO - S8000000E TEKTRO - S8002000F SIGNETICS absolute0010 TEXAS SDSMAC0011 MOSTEK0012 FAIRCHILD0013 MICROTEK (MICE)0014 DEC-LDA0015 RCA COSMAC0016 Extended TEKHEX0017 Intel hex MCS86bisThat RSLI command was such a joy... returned lots of data, a full list of al the accepted file formats, x17 of them no less.Anyway, the problems started when I typed teh MECK command : the programmer did not respond... so I waited... waited.... thinking OK if MECK stands for "Memory Check" it could take any amounts of time... depending on how much RAM there is, and how thourough a test the CPU is doing (various patterns, bit shiffting etc... ) and hell maybe CPU found RAM errors and it's slowing it even more. But after 10 to 15 minutes I decided it was none the less getting suspiciously loooong... so I gave up and power cycled the programmer.It booted fine and I carried on tested more commands. Then when I got to test the TSDR command is when the programmer started losing it for good :The first time I send it the TSDR command, the programmer took 30 seconds to respond, with " TSDR 00", which in itself is fine. It means it spent 30 seconds doing whatever, then this whatever turned out to give satisfaction hence the 00 return code. So I didn't think too much of it.BUT.. then I sent him this same command again, just to see...and that's when I lost the poor programmer : again it was not responding for 30 seconds, fine... but after these 30 seconds, instead of returning a 00 code, what it did was access the disk drive for a minute or so, just like would happen during a power up / boot sequence... then it stopped accessing the drive, and would not return anything to the terminal, it had become unresponsive. So I power cycled it and then we get to the point that I described at the beginning : fails to boot. Does read teh disk for a minute as normal, but then BEEP and return error codes at the terminal, over and over again.Soi it looks like sending him this MECK and TSDR commands killed it, how can that be...So that's where I am at now, not looking good eh !!!

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 01:58:54 pm
content: EDIT ! forgot, MK (or anyone who wants it) , the ZIP archive I was passed regarding this programmer, is just a tad too big to be attached here : weighs 5.1M but the size limit here is 5,000KB ie 4.88MB.I tried anyway but yeah, no go.So just PM me with your e-mail address and I will send it to you.EDIT #2 : OK I just uploaded the ZIP file to my Google " Drive " file hosting service. I never used it and don't know if others without a Google / Gmail account can view it though... I did what I could to make it "public" with the options I found.... try this link tell me if that works...https://drive.google.com/file/d/166ueXaKpcjJgb0fc_IeghnZM3TZEcqET/view?usp=sharing

author: pcprogrammer
author_rank: Super Contributor
timestamp: January 08, 2023, 03:25:17 pm
content: Hi Vince,the link works for me, but I do have a google account.To bad the programmer is out of order now.About the disk drive there are emulators for it, but don't know if they can do the special format your disks have. If I remember correctly Adrian Black did a video about it.I bought a Gotek a while back for a Yamaha synthesizer, but instead of emulating DD disks it was doing HD disk and it did not work. Believe there is some open source firmware available for it to emulate all sorts of disk formats, but have not looked into that any further.Any how just sharing some information

author: pcprogrammer
author_rank: Super Contributor
timestamp: January 08, 2023, 03:29:08 pm
content: Hi Vince,one more thought, did you try to write the disk images you have in that zip file with "dd" on linux. It might be that they are just raw disk images made that way.Cheers,Peter

author: Robert763
author_rank: Super Contributor
timestamp: January 08, 2023, 05:24:19 pm
content: Hi Vince,As you have been working wih at least one dirty disk it would be worth cleaning the heads on the drive. I assume you dont have a head cleaning disc. The alternative is to use a strip of paper. Stiff is good mabe 100-120 gm/sm. Cut a strip, add a couple of drops of isopropyl alcohol. Just moisten the paper, don't soak it. just slide the paper back and forth between the heads. Don't apply any pressure. If there is visible dirt on the paper swap to a new strip. Make sure the heads have dried completly before putting a disk in.Robert G8RPI.

author: m k
author_rank: Super Contributor
timestamp: January 08, 2023, 05:38:53 pm
content: File came just fine without account logged in.ROM3000.img is a standard raw image, HxC will read it and then you can export it to imd format and write using ImageDisk.You could do that with linux dd since it's an exact dd output file, but for that you need a correctly formatted disk.TSDR,maybe it's a TeSt DRive and includes a write test.

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 06:00:00 pm
content: OK, been trying to troubleshoot this for the past 3 hours now...First tried to check if the DD drive was at fault or not, so :- I transfered it to the PC along with is original ribbon cable, so as to test the complete setup.- IMD chocked on it : when I tried to run an analysis, it simply froze immediately, had to reboot the PC.- Then I tried writing an image to the disk. This time IMD did not freeze, but it didn't try to spin the disk, it immediately showed an error : " Failed to receive interrupt from FDC ".. something along those lines.- So I thought hey, maybe a duff cable. So instead I used the cable from the PC, then swithced the DD drive to S1 instead of S0 because somehow the cable in the PC is twisted even though it can only connect one drive not two, go figure.- Well that did it : IMD is now happy with the drive. I wrote an image file to the disk, and rad it back , with success. Zero errors or anything out of the ordinary.So the drive looks good and it's just a bad cable, I was overjoyed.So I pulled another cable from my stock.... but it would not plug into the FDC board somehow.... then I eventually realized that was because... well I am sure MK and PCprogrammer know why... this old cable had one of its pins FILLED with a plastic plug. So çof course it could not plug properly....So I tried yet another cable, this time with no plug in it... but it too would not go in.Access to the header on the board is next to impossible : the rear panel of the programmer is so close to the connector, you can't see what you are doing and can barely manoeuvre your fingers in there, it's a total nightmare. So I could not get the freaking connector in, no matter what. Pulled an inspection mirror out of my toolbox, a flash light, and inspected the pins... one was bent. Used an angle dentist pick to straighten it... was a pin but worked.Now I could plug the cable.... but the programmer still beeps just 3 seconds after power up and does not even try to do anything with the drive : no spinning, no LEDs no nothing.So I unplug it and inspect the pins again with a mirror.... there see that somehow one of them is PUSHED IN quite a bit, so of course not making a reliable contact, or no contact at all.I guess this was due to me trying to plug that cable that had a plug in one of the pins... the plug just pushed the corresponding pin on the socket on the board.So only way to fix this is to take the FDC board out, which is no fun at all.Once the board was extracted, I could push the pin back into place. Put the board back in, plug the ribbon cable... no joy, programmer still beeps immediately and ignores the drive.Now throw a BOOT error code #26 at the terminal... that's new, yet another code.... so we have so far 4 BOOT error codes then : 1E, OF, 25 and 26. Great.....So I am not happy.... I just don't know what to do... which is not good. It means I will button it back up in agner, put it aside for several years then evnetually scrapit, which would be a shame given how close we were to getting something done with this thing, pfff...So I will try to concentrate on the bright sides :- preicous programemrs DD drive appears to still work just fine- We have made severa good, error free copies of the boot disk.- Despite all these boot problems, the CPU / programmers remains alive and responsive at all times : it still talks to me via the terminal.This project is getting really messy.... the vintage PC and programmer in bits all over the bench, and that's without a monitor attached to the programmer's video output.So since it looks like this is gonna stay on my bench for a while... I need to make this mess. less messy.I need to be able to monitor the video output with the programmer's "lid" in place, no big breadboard anymore, and no external power supply powering the GBS video converter board, and no huge 30+ inch monitor.I need to make as I said before, a tiny PCB to replace the brad board. I need to shove the GBS bvoard inside the programmer, I think it might fit, and power it via the programmers 5V supply. I need to get a tiny VGA monitor that takes no space. Either an old 14/15" , early LCD computer monitor, or even better, may be cheap modern tiny 10" or something, LCD screen, after all the built-in CRT monitor of the 5000 model is tiny as well, so hey...I need to button up the vintage PC and get a 15" LCD for it as well, to gain space on the bench.I was thinking maybe just the one PC monitor and share it with the programmer with a switch... but I really want to be able to see both video output at the same time.Then I need to make space on the bench generally... so that's easier said than done. But I have at least a couple square feet of components to sort on the left side of the bench... need to get cracking sorting them. I really need to get some gear out of this house to gain space, it's getting critical... my big haul the other day really put me in trouble in this regardOK so the plan now...1) Need to be able to monitor the video output at all times while trying to debug this thing. So need to order a selection of small and tiny proto boards to replace my boards.2) Look in the 5000 documentation to see if I can find what the BOOT error codes mean.3) No more playing with disk images for now.We have a good known to work boot disk(s), we don't need any more disks to work on our boot problem...4) I am well pissed.

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 06:03:28 pm
content: Quote from: Robert763 on January 08, 2023, 05:24:19 pmHi Robert,Oops our posts collided... my bad fr taking so long to write my messages.Sadly no easy way out for me, it's not a cleaning problem... as I just posted, the programmer doe snot even TRY to rad the disk, doe snot even spin it. That, plus the fact that I tested the drive on the PC and it reads and writes images flawlessly. So looks I have an actual problem

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 06:13:32 pm
content: Quote from: m k on January 08, 2023, 05:38:53 pmGood to know ! So now I know I can use this Google Drive thing to share files with people with people without them having to create an account to any website. PLus, since it is MY drive... the link will not time out / disappear in a week or a month or 6 like it does on third party hosting websites... nope. As long as I don't delete it myself from Google Drive thing, it will still be there in years.Quote from: m k on January 08, 2023, 05:38:53 pmYep I did actually just that last night !But I have not tried writing that file using IMD because... well, shit happened last night as you now know, so I had much bigger problems to think about !Quote from: m k on January 08, 2023, 05:38:53 pmI don't understand... I thought the whole point of dd was to make a binary image of a disk, just like IMD does, so there was no need to format the disk. Image would contain whatever formatting was there originally... just like I was able to make boot disk using IMD on DD disks that were blank, or maybe pre-formatted but definitely not with the format the programmer uses...Quote from: m k on January 08, 2023, 05:38:53 pmThat's an idea !

author: m k
author_rank: Super Contributor
timestamp: January 08, 2023, 06:22:47 pm
content: And you have a correctly positioned drive select jumper?

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 06:45:24 pm
content: First I tried S1 not S0, because all my cables are too short to plug the drive on the non twisted connector.Then I thought OK maybe the FDC in the programmer can only work if the drive is set to S0, so I managed to relocate the drive so that I was juuuuust abotu able to plug a straight cable to the drive. Just.Still, no joy.However, now I think about it, I never tried using a straight cable in the PC.. because well, the drive was working find with the twisted cable that was already in place, so why bother.So I think I will try to do that... just in case somehow, the drive somehow developed a fault that makes it fail to work in S0. Not likely, but who knows... at least I would be able to say I tried absolutely every thing.... when you don't know what the problem is, you need to try absolutely every thing you can think of... because if you don't, Murphy will make sure that the actual problem was the ONE thing you did not think or care to try out.... eh ?Stay tuned.

author: m k
author_rank: Super Contributor
timestamp: January 08, 2023, 06:58:15 pm
content: My intuition says that it's still a bad contact somewhere.Can you see that all connections are visually ok when all things are in place?About dd,it read blocks, no matter what, but blocks must be there.ImageDisk is a normal data reading and writing software but it is using disk controller to its limit.For example, it can't create sectors any longer than controller accepts or support.If you check that earlier link and its yellow background picture there are those extra bytes.Those are partially coming from the controller and nothing can change that.dd is not reading or writing any of those extra bytes.Normally hard disk blocks are always there but that has not been the case earlier.Back in the day when hard disk had a different interface the situation was like with floppies.You had to do FDISK first, and it did some real work, like formatted tracks.Only after that you were able to partition the drive and format it again, but that format was practically read only.Bad sectors were also something totally different thing than today.Some other nuances from the past.SSSD Single Side Single Density, 5.25" 35 tracks, 160k 300rpm.DSSD Double Side Single Density, 5.25" 35 tracks, 320k 300rpm.SSDD Single Side Double Density, 5.25" 40 tracks, 180k 300rpm.DSDD Double Side Double Density, 5.25" 40 tracks, 360k 300rpm.SSQD Single Side Quad Density, 5.25" 80 tracks, 320k 300rpm.DSQD Double Side Quad Density, 5.25" 80 tracks, 640k 300rpm.DSHD Double Side High Density, 5.25" 80 tracks, 1.2M 360rpm.DSDD Double Side Double Density, 3.5" 80 tracks, 720k 300rpm.DSHD Double Side High Density, 3.5" 80 tracks, 1.2M 360rpm, NEC.DSHD Double Side High Density, 3.5" 80 tracks, 1.44M 300rpm.

author: Vince
author_rank: Super Contributor
timestamp: January 08, 2023, 10:38:40 pm
content: OK, 23H45 time to stop working on the thing, back to work soon...Spent time doing all sorts of tests on the vintage PC, swapping drives, floppies, cables, BIOS settings... I think I covered it all.I am now starting to think that my earlier assumption that the straight floppy cable that came with the programmer, was bad.... was wrong.Turns out that the problem is neither the drive nor its cable... nope. After countless experiments, it turns out believe it or not, that the problem is the old PC itself !This IBM with proprietary PSU, motherboard and BIOS and cases and everything... which is already known to have compatibility issues with mundane stuff that worked just fine in every other PC under the sun of back in the day.... also does crazy shit with the floppy drives !I now understand why this PC came with this strange floppy cable that's twisted YET has only one plug, it can only connect to a single drive.. yet it's twisted.Turns out, the computer will NOT work if you try to use a straight cable with the drive set to be the primary drive ! Nope !Does not matter if it's my DD drive, or the OEM IBM branded HD drive, or any of the jelly bean HD drives I have in my junk boxes...If you use a straight cable, the computer fails to boot. The BIOS forces you to visit him, and there you will see that it decided to use the following settings :Drive A = NOT INSTALLED !!!Drive B = 1.2MB 5.25" !!!It does that no matter what drive type I give it.So then I rectify the settings by hand, so it looks like :Drive A = 3.5" 1.44MB (the only option for 3.5" drives, but works fine for the DD drive as well no worries)Drive B = NOT INSTALLEDSo I save these settings and reboot and... nope, computer fails to boot again and again the BIOS resets the settings to the weird stuff I just described, it really insists.So I insist as well : I force it to boot and load MS-DOS, but of course it does not work : drives no matter which one, cause IMD to hang / crash if you try to access the drive to do anything.So this means I can not use the PC to test if the DD drive works fine with its straight cable as Drive A, so as to rule out a cable or drive selection issue within the drive itself.So I need to get / buy a different vintage PC, one that's not a proprietary shit IBM... but rather one that uses standard PSU and motherboard and BIOS. More cost. I hope I can find a decent one for cheap locally.Tried using the DD drive as drive B on the programmer but no joy, still beeps at me at power up.ALSOI read the user manual for the 5000. Turns out I don't have 3 different manuals in the end.... no, it's just one big manual, Word document, but they split it into 3 pieces. One of the 3 contains all the stuff about using the serial port remote control. Lots of good pornographic stuff in there, which confirms what we figured out so far.My conclusion is that the two commands that caused problems and hung the programmer... should have been harmless.First it hung when I ran the MECK command. This command let's the user calculate the CRC of a given block of data within the user RAM. So you are supposed to follow the command with start/end address parameters, then it will return the Checksum. So what the programmer was supposed to do is reply ERR #1 because the command was invalid since I failed to supply the required parameters.Instead it just hung. Not normal.Then the next problem was when I ran the TSDR command. The group of commands that start with TSxx is used to perform tests on the programmer's H/W, for diagnostics purposes.There are 5 of these commands to test the DRAM, SRAM, CPU ROM, the removable test fixture where you plug the chip to be programmed, and another command to test some module I think you can plug instead of the test fixture.... whatever. None of these commands require parameters. You just type the command name, the programmer tests the DRAM (in my case) and once done it returns 00 to say that the DRAM tested OK (or not)... and it DID do that the first time I typed this command ! It's only the second time I issued it, that it started working on the floppy drive then crash, then fail to boot again and again and again....Reading the description of some commands, at a quick glance, it looks like it IS possible to mess up the programmer if you use some commands the wrong way, or not in the right order.... so possibly I could have messed it up. HOWEVER it should all have cleared up upon power cycling it, as there is no non-volatile memory in this programmer that I can remember of !And anyway, if the programmer CAN be rendered non-bootable just by typing some random crap on the serial port, WOW that's a crappy product !So I don't believe that it is it...I now think there is a genuine problem and that it's nothing to do with the drive or cable or floppy.A while back when I started working on this programmer, I noticed that if I shorted the 5V rail, it would reboot itself. Not so surprising I hear you say...So I think, maybe, that's what happened when I typed that TSDR command.... not because of the command itself, but just that as a coincidence, at the same time maybe some tantalum cap died and shorted the supply, causing the programmer to reboot... but it can't boot now because maybe the failed cap caused more damage around it when it died. Either that, or its absence (open circuit / no decoupling anymore) caused some issue with the integrity of some vital digital signal... most likely in the FDC board of course....Now I remember it, on that French forum they said that the FDC board had a vital cap used for timing, that liked to fail and caused the FDC / boot to fail !So I will just pull all 5 boards out of the programmer and inspect all the tantalum and alu cap I can find.... back to basics I say !One other member with boot problems on that forum also said he had to replace a couple TTL chips, but didn't give any details....Forgot to say : the manual gives a list / description of tons of error codes but of course does not cover the ones I get...So maybe they are not "user level" codes, but more low level codes for debug purposes, destined to the engineers designing this thing.This further reinforces the hypothesis of a board failure....So for now that's my best guess, please cross all your fingers....

author: retiredfeline
author_rank: Frequent Contributor
timestamp: January 09, 2023, 02:10:48 am
content: Hi Vince,There is a reason for the twisted floppy cable. Here's an explanation:https://www.nostalgianerd.com/why-are-floppy-cables-twisted/So the twist is needed even if there is only one drive, A:Thanks for a very entertaining story. Your persistence is legendary. I'm wishing you successful results.

author: m k
author_rank: Super Contributor
timestamp: January 09, 2023, 09:27:16 am
content: Dang, my bad, I've overlooked that cable twist.Thanks to retiredfeline for pointing that out.But I still can't get in to my head that PC drive selects are 2nd and 3rd, not 2nd and 1st.Was the 5.25" twist thinner.So PC side DS0 is wrong.Drive pins used to be, and still are for programmer's drive10 1st DS12 2nd DS14 3rd DS16 Mtr OnSo straight cable goes so that 2nd DS and Mtr On are connected.Twisted goes so that Mtr On goes to 1st DS and 2nd DS goes to 3rd DS.If PC drive has no drive select then cable must be altered for programmer use.There straight cable's drive side 1st DS must be cut and connect to 2nd DS.In case of possible 2nd drive better cut 2nd DS also.I have two out going Fujitsu-Siemens PCs, but w/o ISA and mechanically less standard so not recommended, including non-standard power with possible leaking caps.Anyway, I took one FD out, it's Mitsumi D353M3D and it has selections DL1 and DL2 where DL2 is shorted, also DEN1-4 but there are two shorts so they are most likely density stuff, it also has only four down side interface pins.But DL1/2 are not connected to drive select lines, so no enlightenment.Pins 12 and 16 has something there, but not shorted together, when 10 and 14 are pretty NC.Earlier mentioned other Mitsumi has similar construction so didn't open it.Earlier mentioned Panasonic then has D0/D1.That bent connector pin then, it may be permanently nasty.Not electrically, but mechanically it may have a tendency to pull back.It may also be sneaky and pull back only a bit but still enough to be a trouble maker.E,a cut.

author: Vince
author_rank: Super Contributor
timestamp: January 09, 2023, 07:56:25 pm
content: Thanks for that chaps.Wow... this drive selection problem is incredibly messy and confusing !I am glad you understand it...stick around please !I now find it a miracle that floppy drives could work a tall in computers... with so much room for things to NOT work !Anyway... it should be simple in my programmer.Drive was set to (D)S0, using a straight cable.It worked fine.... then all of a sudden did not... but the drive is fine, and I tried 3 different straight cable (or twisted as well), nothing works.... so as I said it looks more like a controller issue than a drive or ribbon cable issue.The bent pin on the connector, well I am the one who stupidly bent it, it was not bent at the time that the drive/boot failed.There is ONE last test I can do, stupid me.... again the last and most important test I must do is test the original straight cable that came with the programmer, coupled with the DD drive set to S0.... well I know where I can find a PC to do that ! .. well, not the vintage PC sadly, but... well my main Linux PC should be just fine for that !So let me try that out and we will soon be able to rule out (or not...) both the DD drive and its original cable. Once that's done I will have piece of mind and will embark into working on the floppy controller board....Stay tuned...

author: Vince
author_rank: Super Contributor
timestamp: January 09, 2023, 09:49:01 pm
content: OK that was waste of time... my Linux PC is doing weird floppy stuff as well.I give up, I am done for now, need a break.I will resume work on this thing once I have finished up a few long overdue little projects that will allow me to remove some stuff from the bench, gain some space to work properly and more confortably on this bulky transformer. So far I have been in quick 'n dirty mode, but clearly we are past this stage and we are deep into this thing now. I need a longer term "bench" solution... not the current mess.. I have reached the limits of what is humanly possible.Need to spend some time finding a decent Vintage Win9X PC that's not a proprietary thing. Need to order proto boards to tidy up the video output for the programmer, etc etc....So the project will be on pause for a little bit the time to do all that... then it can resume with better working conditions....Thank you for your help so far, and see you soon !

author: m k
author_rank: Super Contributor
timestamp: January 10, 2023, 08:52:27 am
content: Follow retiredfeline's link and its RGB(K) pin picture.Put programmer's drive to S1 for straight cable, then it's drive B.For straight cable and drive A you use S2, but you must also connect drive's Mtr On pin 16 to pin 10 S0.Drives can also be single pin selected, then you can use S0 and drive itself uses its motor as it sees necessary.Interface also used to have terminators, but quick googling didn't do any good.So the 3.5" drive recollection I have, with clearly user accessible slide switch with stamped positions 1 and 2, may include a selection of those terminators and so the switch is very likely something else than just simple drive selection pins connection.Included picture is a cable from earlier mentioned scrap.The other twist I was remembering was for hard drives.Adrian's video has a moment where he is showing a promo board of new controller supporting 4 drives.That is the construction that was available at the beginning of times, and before any 3.5" stuff.There all your programmer drive's S0-3 are available and Motor On is always Motor On.With the old style controller and straight cable, it's very possible that current PC 3.5" drives can only be used as drive B.But that is not enough if termination is present, then one drive must be connected as PC's drive A and place it as last of the cabling, if the termination selection is, like it seems, automatic.So in that environment a cable hack seems to be inevitable, but if that actually is the case then some drive selection and termination dongles should be already available.

author: Vince
author_rank: Super Contributor
timestamp: January 10, 2023, 08:15:31 pm
content: Quote from: retiredfeline on January 09, 2023, 02:10:48 amJust watched the video, thanks for the pointer... so the twist goes to drive A not B !... except for my programmer which works with drive set as S0 yet uses a straight cable... because well, custom FDC... so when it's custom you do bacically whatever you like...OK thanks chaps for this ton of info. Hopefully it will slowly diffuse into my brain in the next few weeks as I am clearing / preparing the bench for Season #2 of this programmer saga.See you then....

author: Vince
author_rank: Super Contributor
timestamp: January 10, 2023, 10:47:49 pm
content: OK, I " fixed " it.... well,I unfucked it rather.... as I thought it was a FDC board issue....... would you believe it but... it's perfectly possible to insert that board upside down, for it to slide all the way in, and you not noticing anything...... would you believe it but.... once I put the board up side.. up... it now works much better !So the programmer can now work the disk again, it reads it at boot no worries.Well I mean it still fails to boot of course, we are now back to problem N-1, where it cycles between BOOT 0F error and BOOT 25 error.However after some more experiments, paying more attention.... I think it's very possible that BOOT 0F is not a boot error per se, but merely the programmer saying "OK I am now starting to boot, I will rock that floppy for a minute and tell you what ! "... then a minute later once it's done reading the disk, it returns BOOT 25.My gut feeling is that BOOT 25 is the only genuine error code, not BOOT 0F...So it's quite a relief... I am now out of this floppy drive selection nightmare.... cable is fine and drive too. Programmer itself needs fixing now.So I have just finished buttoning the programmer and old PC back up, and all that mess of serial and floppy cables scattered all over then bench and more.Stay tuned for round #2 in a few weeks probably.It's amazing all the things we did and achieved in the first round, in just a few days / weeks.It started as a completely unknown black box, hopeless door stop that Google could not even find a picture of, never mind any technical info...... to where we are now.See you soon !

author: m k
author_rank: Super Contributor
timestamp: January 11, 2023, 09:28:01 am
content: Good, better continue with positive vibes.I've seen an upside down VGA connector.For PC controller I'd say that IT is the custom one and programmer's one is the standard and the real thing.Unfortunately time has passed so much that yesterday's custom is today's new standard and the old one is just something exotic.HxC controller side has only one Mtr On, other end has 0 and 1 shorted, DS0 is also cut and it is connected to DS2 of the other end.It also seems that drive decorations are more from elsewhere to PC so the needed cable hack dongle is missing.But a starting point is available.https://www.ebay.com/itm/334686826552Then one more for the road,a density pin, it's complicated, so for it a drive has more jumpers.Since 5.25" disk has no indicator the controller must do that.So one possible direction is in, from drive's point of view.Since 3.5" disk has an indicator the other possible direction is out.But since both disk sizes have also cases where no information is needed the third option is no density signal.Unfortunately interfaces can also have different density polarities.So the last thing is positive or negative signal.Or second last.Since there are others than PC, there are also other interests.So to boost own hardware sales Disk Change pin 34 wont do, its position is elsewhere.One repositioned one there is pin 2, the density pin.BTW,I'm confused with the Anglo concept of floppy.I've learned two words, limpy and cracker.

author: Robert763
author_rank: Super Contributor
timestamp: January 11, 2023, 12:40:01 pm
content: I've "never" plugged in anything upside downThe whole floppy twist thing was suppoosed to make things easy for field service droids. They didn't have to bother changing jumpers.Well done.

author: m k
author_rank: Super Contributor
timestamp: January 23, 2023, 03:10:16 pm
content: Seems that the floppy is HP 64k style.More in earlier zip and source directory there.Code:0100 4c 10 b0 JMP LAB_b0100103 56 20 31 ds "V 1.96 F "2e 39 3620 46 20010c b9 b7 af a3 ds B9,B7,AF,A3 ; FHP\0110 a9 1d LDA #0x1d0112 8d 00 80 STA DAT_80000115 a9 b0 LDA #0xb00117 8d 01 80 STA DAT_8001011a 4c 6e b0 JMP LAB_b06eSo 0xb000 is loading address, next part of the same section is for 0x9000.1st area of the boot disk is 0-3k hex.After that is the first file.Code:address0x00000 , 75 50 72 6F 73 73 31 2E 39 36 19 03 94 AA, uPross1.96 19 03 19940x0000e , 20 1E AA, 8222?...0x00100 , boot code0x00474 , end code...0x00580 , code continue0x00e3c , end code...0x01000 , system disk loader0x0154a , end code, block size 0x4000 starting with checksum0x03000 0, 2B 5D FF FF 00 00 00 000x07000 1, 5E 26 FF FF 01 FF FF FF0x0b000 2, 4D AB FF FF 02 FF FF FF0x0f000 3, DD 89 FF FF 03 FF FF FF0x13000 4, 29 E1 FF FF 04 FF FF FF0x17000 5, 14 83 FF FF 05 FF FF FF0x1b000 6, 7E DB FF FF 06 FF FF FF0x1f000 7, 75 C7 FF FF 07 FF FF FF0x23000 8, 2C 80 FF FF 08 FF FF FF0x27000 9, 0E 12 FF FF 09 00 00 000x2b000 A, FF FF FF FF 0A FF FF FF0x2d800 A, FF FF FF FF 0A FF FF FF0x2f000 B, AE 87 FF FF 0B FF FF FF...0x47000 11, 4D D0 FF FF 11 FF FF FF0x49200 11, FF FF FF FF 11 FF FF FF...0x6f000 1B, C2 38 FF FF 1B FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00, picture?...0x7b000 1E, 50 76 FF FF 1E 00 00 00 4C 0E 40 4C 10 40 18 60 18 60 AA AA AA AA AA, jump, jump, return, return, empty function?0x7f000 1F, AE DE FF FF 1F FF FF FF0x83000 2E, 63 76 FF FF 2E FF FF FF0x87000 3D, B5 CC FF FF 3D FF FF FF0x8b000 36, 42 5F FF FF 36 FF FF FF0x8f000 , 58 7D AA AA AA AA AA AA0x93000 , 58 7D AA AA AA AA AA AA0x97000 , 58 7D AA AA AA AA AA AA0x9b000 , 58 7D AA AA AA AA AA AA0x9c000 , 58 7D AA AA AA AA AA AA

author: Vince
author_rank: Super Contributor
timestamp: January 26, 2023, 10:30:26 pm
content: I don't understand how you got that assembly code ?You mean you "mounted" the system disk image file as an HP64K and had success with that reading data from it and disassembling the code ?Well done... now just show me how to do that !Yes there is some extremely cool stuff in that ZIP file I posted on my Google drive, the two most interesting ones of course being the two DOC files at the root of the folder : "Logiciel du ROM 5000" and "Overlay1".These documents are more than cool, they are priceless... they are actually documents meant for internal consumption only. It's a kind of cookbook that the S/W devs at Micropross, wrote to help themselves. It summarizes the very practical, concrete things they need to do to develop programs / applications for the programmer. So it's really nuts and bolts, vintage porn. It feels like we are there in their offices, working on developing this programmer with them, incredible...It's all in French of course, since it was for their own in house use. Littered with gigantic horrific spelling mistakes, they guy who wrote these documents clearly was illiterate, makes my eyes bleed when I read him. I feel bad for him.Anyway, it's meant for their devs so I don't get everything it says but at least we can understand some things...1) The H/W for the 5000 and my 3000 model is indeed 100% identical. Absolutely 100% identical. There is only one H/W.2) However it looks like the F/W might have some differences, since it looks like they use different linking scripts to build a 3000 or 5000 object file.3) We have massive porn in the largest of the DOC files : a detailed memory map ! Same map for the 3000/5000. We have details like the address of the registers used to set the amplitude of the various programming voltages that the programmer can generate. How cool is that. We even know what bit to toggle to turn the buzzer on and off hmmm...4) The programmer has 1MB of memory. 512K is used as "user" RAM, that's where the user stores data it reads or writes to/from a chip.5) The other 512K is used by the programmer. That's where it stores the programs it loads from the system disk.6) They used a 6502 CPU emulator which can be seen on the picture above, very bulky, inserted vertically into the connector that normally hosts the programming fixture with its ZIF socket.7) The emulator is connected to a 64K HP computer. That's what they used to write their programs, then they download them into the emulator. So you were right about the 64K HP thing. They also use a Windows machine but not sure if they use it to write code or not. Looks like they used it to translate the "absolute" object file created on the 64K HP, to some other file format which they could then write onto the system disk... using small disk utilities that they wrote themselves, which are included in the ZIP file, along with their C source files ! Told you, it's all just vintage porn.They explain how the system disk works, how it's structured :1) They confirm what we already thought we knew : double sided, 80 tracks per side, 16 sectors of 256 bytes (rather than 512 on a PC). So 640KB total.2) From what I understand, it looks like there is no file system riding over that low level formatting. So no MSDOS "FAT" or any other file system that one might think of. So no point wasting time trying to mount the floppy image in Linux and hope that I could see individual files in there, edit and manipulate them... no such luck. I guess it makes sense : the 6502 CPU is not a power house and moreover has only a tiny 16KB EPROM holding its F/W. So not much room to implement a file system library... and also fit all the other stuff it needs to do obviously !So instead it looks like the CPU reads data directly, using the tracks and sectors as its "file system", to structure / organize the data on the disk.3) As I thought, given how small the F/W is, all the "programs" / features are stored on the system disk and loaded from there.4) They organize the disk into a data unit they call a "MAP". A map is 4 tracks long, so 4x4KB = 16KB. So they could potentially fit 40 of them on a disk, but they only use 32 maps because well... 32x16 = 512KB which as explained earlier, is the amount of RAM they gave the CPU to work with.5) The first 16KB on the disk are not used to store "maps"/programs. Makes sense I guess. The programmer needs to "boot" from the disk, so the start of the disk must be used to store some system information... at the very least, it must tell the programmer if the system disk is for a 3000 or a 5000 model, and what version of it.6) You can have as many maps / programs as you want, so potentially no limit on expanding the programmers functionality. What you do is simply store these extra programs on a separate disk and you ask the user to insert it in the drive. Then you load the map into the system's 512KB memory... which obviously means you need to overwrite an existing map/program.So you boot from the system disk, read all 32 MAPS from it, fill the 512KB of RAM with it all. Then if you want to access a program from another disk, of course you need to overwrite some other program that was previously loaded form the first disk. Constant sum game...7) As the development of the programmer went on, they changed their mind on what map number corresponded to what program, which wreaked havoc and probably explains why not all 5000 boot disks work on all versions of the 5000 model...So lots of cool stuff in this ZIP file indeed !

author: m k
author_rank: Super Contributor
timestamp: January 27, 2023, 06:10:43 pm
content: For disassember stuff I have an old ghidra, it support 6502.For hex stuff I have HxD, it support different line lengths.But even with a capable disassember reading the code is still manual labor.Expectation is also that you're familiar with it in general, and separately for what it is meant to.So for a newcomer it will take time, and then it take some more.What I did was pretty straight forward, I dumped the whole boot image to ghidra.Luckily the code is partially static so jump addresses will give away the correct location.Unluckily I did it in wrong order and read those source codes only afterwards.The floppy, yes, it's very primitive, no filesystem.No names either, or different sizes, just static 0x4000 each, after the 1st one and before the reserved end.Source directory stuff uses old INT 13h calls for floppy operations, so that must be supported if those EXEs are used.They also swap floppy parameters, so after EXE hang you may need to boot.

author: Vince
author_rank: Super Contributor
timestamp: January 27, 2023, 07:33:46 pm
content: Thanks, sounds cool, will try and play with 6502 disassemblers then...

author: m k
author_rank: Super Contributor
timestamp: January 27, 2023, 08:19:03 pm
content: Don't do what I did.Chop the image to peaces we know are the "files" and continue from there.Combine first section so that 0x1000-0x2fff first and 0x100-0xfff second.Then load them to base address 0x9000.One 6502 special,text can be code and code can be text.Other real mode special,code can alter code.

author: Vince
author_rank: Super Contributor
timestamp: January 27, 2023, 09:11:56 pm
content: Yes... divide and conquer, sounds like plan.... except I don't know how to chop a file nor stick bits together, but I guess in Linux this must be easy once you know how to do it... as alwaysI guess I can use the 'dd' command to chop the file.. IF you can give it an offset... I don't know if dd can use offset or if it can only read a file from the its very beginning. I shall be investigating....

author: Vince
author_rank: Super Contributor
timestamp: January 27, 2023, 09:21:53 pm
content: Oh looks like dd can do it, I just looked at available parameters, below.Looks like it's the tool for the job.I can indeed specify an offset when reading the image file (using the "SKIP" parameter), but also specify an offset when writing (using the " SEEK" parameter)... which is to say I can concatenate two blocks of data together : I just need to tell dd to start writing the second block to the end of the first one, that's all I think...You can specify the block size, so 4K in my case, then just specify a number of blocks rather than actual size... how convenient.One can even use either decimal or "binary" notation, so either say 1kB (1,000 bytes) or 1K (1,024 bytes). You can even use K/M/G/T prefixes, how practical. Hmmm... sounds good to me, long live dd !Usage: dd ...or: dd OPTIONCopy a file, converting and formatting according to the operands.bs=BYTES read and write up to BYTES bytes at a timecbs=BYTES convert BYTES bytes at a timeconv=CONVS convert the file as per the comma separated symbol listcount=N copy only N input blocksibs=BYTES read up to BYTES bytes at a time (default: 512)if=FILE read from FILE instead of stdiniflag=FLAGS read as per the comma separated symbol listobs=BYTES write BYTES bytes at a time (default: 512)of=FILE write to FILE instead of stdoutoflag=FLAGS write as per the comma separated symbol listseek=N skip N obs-sized blocks at start of outputskip=N skip N ibs-sized blocks at start of inputstatus=LEVEL The LEVEL of information to print to stderr;'none' suppresses everything but error messages,'noxfer' suppresses the final transfer statistics,'progress' shows periodic transfer statisticsN and BYTES may be followed by the following multiplicative suffixes:c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =MGB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.

author: pcprogrammer
author_rank: Super Contributor
timestamp: January 28, 2023, 05:48:24 am
content: Quote from: Vince on January 27, 2023, 09:11:56 pmOn linux wxHexEditor is your friend

author: Vince
author_rank: Super Contributor
timestamp: January 28, 2023, 08:39:50 am
content: Thanks for the suggestion, will give it a try.

author: m k
author_rank: Super Contributor
timestamp: January 28, 2023, 11:33:54 am
content: You must have a hex editor, without it you can't see what you can't see.And then edition is just a copy/paste thing.Also, leave those first checksum and file number 8 bytes there.It seems that all of it is needed for correct positioning.Flipped bits I must take back.They are something to do with text but maybe not exactly it.Some are possibly extra letters, those out of basic Latin set.Many places have C1 C2 C2 C2 C2 C2 C2 C3 as a first text part.Latest character sets are based on DEC Multinational, no good.Old DOS was IBM graphics, no good either.Maybe it's HP something, but flipped bits are >======<.

author: m k
author_rank: Super Contributor
timestamp: January 29, 2023, 12:09:11 pm
content: First two below are relocated from 0x8b000 to 0x4000.There 0x400b and 0x400d have jump addresses in ROM when 0x400f has a jump to nowhere.Then 0x4049 has a code modifying code example.The latter two are from the boot section.There 0x942a and 0x942e can easily be some text stuff.But 0x9472 and knowledge of the use of the code is telling different, what?(it's already around here somewhere, not far)Seems that some sections are using illegal instruction.Found also one JAM so maybe it's something else.E,seems that text is early version of Roman-8 where Ax and Bx are used for controls.Code:4008 4c 27 40 JMP LAB_4027WORD_400b+1 XREF[1,1]: 4049(R), 404f(R)WORD_400b400b 68 ef dw EF68hWORD_400d+1 XREF[1,1]: 405f(R), 4065(R)WORD_400d400d 5c ef dw EF5Ch*************************************************************** FUNCTION ***************************************************************undefined FUN_400f()undefined A:1 <RETURN>FUN_400f+1 XREF[1,4]: FUN_4301:4312(c), 404c(W),FUN_400f+2 4052(W), 4062(W), 4068(W)FUN_400f400f 4c 00 00 JMP PORTACode:4049 ad 0b 40 LDA WORD_400b = EF68h404c 8d 10 40 STA FUN_400f+1404f ad 0c 40 LDA WORD_400b+1 = null4052 8d 11 40 STA FUN_400f+2Just some separation for clarity.Code:s_=60_942b XREF[1,1]: 9472(R), 9472(R)s_.=60_942a942a 2e 3d 36 30 ds ".=60"s_!"#_942f XREF[1,1]: 947f(R), 947f(R)s__!"#_942e942e 20 21 22 23 ds " !\"#"Code:LAB_9472 XREF: 947d(j)9472 bd 2a 94 LDA s_.=60_942a,X = ".=60"9475 cd 3d 86 CMP DAT_863d9478 f0 05 BEQ LAB_947f947a e8 INX947b e0 04 CPX #0x4947d d0 f3 BNE LAB_9472LAB_947f XREF: 9478(j)947f bd 2e 94 LDA 0x942e,X=>s_!"#_942e+1 = "!\"#"

author: Vince
author_rank: Super Contributor
timestamp: January 29, 2023, 02:45:26 pm
content: Thanks for your work !Sadly I am nowhere near being able to put that to practice.But that's fine... that's the point of having a dedicated thread... all the info people give is safe / archived, one can always scroll back to dig out older info.As for code being data or vice versa, I guess it's fairly easy to figure out ? I mean, if it's data, the "code" will look weird, all over the shop, but if it's actually code, I guess one should be able to recognize it.I mean, I am hardly an assembly guru, the only assembly I wrote were a couple programs, 500 lines each tops, for school projects 25+ years ago, and it was for an Intel 8051 CPU not a 6502... but still, I have recollections... and I guess every CPU has similar instructions and similar ways of naming the mnemonics...So looking at the code in the boot section, it looks like :- Load some variable- compare it with whatever- test the result and branch- increment something- compare it with whatever- test the result and branchSo looks like typical code for a loop inside another loop, no ?

author: m k
author_rank: Super Contributor
timestamp: January 29, 2023, 05:30:15 pm
content: Back in the day 6502 text code was cool.Above text stuff can be accepted input something and 60 thing a secret special parameter.But no, location 863d seems to be a file number and the code a renumbering thing for those late file numbers.If you want most out of the disassembler you should include boot section and ROM to all file parts.File part is loaded to 0x4000-0x7fff, 0x8000-8fff then is its RAM space.But it is also jumping and calling stuff from 0x9000-0xffff.One source directory thing in zip is blocking ROM area so it should be available somehow somewhere.

author: papardelle
author_rank: Newbie
timestamp: May 04, 2024, 12:35:22 pm
content: Hello all,Even if this topic is a bit old, I'm posting here some news.I found this blog and posts by chance, so I registered.I'm one of the engineers who developped the Rom 5000/Rom 3000 devices. I don't take time to read all the posts, but perhaps I could help you on some topics, even if it's a very lod story. I don't have archives on the hardware parts, but I still have most of the sources of the software.Should you be interested, let me know.

author: Vince
author_rank: Super Contributor
timestamp: May 04, 2024, 06:15:02 pm
content: Hello Papardelle !Wow, thank you so much for stopping by, indeed !!Information on these machines are so extremely rare that I will welcome absolutely ANYTHING you have up your sleeves !You said you only have S/W left ? Were you a S/W engineer who developped said S/W ?Or did you also work on the H/W and Firmware part of the project ?Even if you did not, maybe you remember bits of information about the H/W, from discussions with your colleague at the coffee machine eh... so even though you don't have any HY/W related documents left, doesn't mean you are unable to help this the H/W side of thingsHow much data do you have related to this machine ? Could you upload it to some on-line storage facility ? A Google Drive or whatever people could access ?this machine is very old so I doubt you will go to jail for sharing the information...Maybe we could talk over the hone about this ?It's more practical than typing long messages here maybe... less work at least.I will send you a PM with my info...BTW, in case you don't know, there is a French technical forum that also discusses the ROM 5000:https://forum.system-cfg.com/viewtopic.php?f=31&t=5743It's 10 year old and only 8 pages long.This was the only place on the web that I found, that talked about this machine.... it helped me start on my project, and I eventually realised that my 3000 was technically the same machine as the 5000, just headless. I introduced my ROM 3000 on page #5. It appears I am the only one who own a 3000 models, the other guys on that forum have 5000, lucky them !Then I created my own page here on EEVBlog about my ROM 3000, to document and archive all my work on it. For now I am the reverse engineering phase... so any help you can provide will be helpful.Don't worry I am not going to bombard you with questions...For now, my main problem is to get a proper video display from the internal video output, as it appears to use a proprietary protocol. Using a CGA adapter I can get "something", but it's not 100% perfect : the display rolls over the top by a few lines, and I also thing that a couple lines from the bottom aprt of the screen , are missing... which is annoying as these are the lines that display boot error codes... so I need to get these lines back to help me fix this machine...I have not worked on this machine for well over a year, judging by the time stamp of my latest message here... shame on me.Thing is, I have so many other projects going on, electronics related or not....But OK, I will try to prioritize this project and put it back on the bench !!!Thanks again for lending a hand, much appreciated !

author: m k
author_rank: Super Contributor
timestamp: May 05, 2024, 08:24:23 am
content: I'd like to have a source code, if possible.After some reading I could give some educated guesses for why and how.Maybe also a new function or two would be possible.E,Link to 15kHz monitorshttps://15khz.net/Other possibility is to lift the status line.Since we have access to source we can dig up the byte where vertical position of status line is selected.You can always program new zeros to EPROM, so least significant 1 to 0 and status line goes higher.That change is also so simple that it can be made on the field, so to speak.Just connect all pins and finally do a single address programming.Better make a backup first.Maybe the previous become a bit moot at that point.Origo is many times low left.Can't remember for sure, but recollection is that this picture is text line based.For graphical representation this zeroing may not work.With source that is not a problem, but new ROM is a must, I can send if old image is somewhere, can't remember.

author: papardelle
author_rank: Newbie
timestamp: May 05, 2024, 05:22:04 pm
content: That's unbelievable that some people around the world is interested by this old machine! That's electropaleontology...Let me some time to find and gather the information I could have...

author: papardelle
author_rank: Newbie
timestamp: May 06, 2024, 02:32:13 pm
content: "The bad news : it IS indeed French ! ". It is funny.Yes, it's french!You really did a huge job, I wonder if I have anything else to help you.The ROM5000 is a device programmer, and we spent years to add more and more programmable devices to the library. In the last decades of the XXth century, there were so many new devices!The ROM3000 is a version of the ROM5000, without screen and keyboard, as at the time many customers asked for a remote controlled programmer instead of a stand alone.But both machine share the same remote control.Some documentation is available at:https://www.dropbox.com/scl/fi/chlg8mkwc6mq4fy08w54y/ROM5000.zip?rlkey=c6hp39l33jwonsr6ax70jg43a&st=fjmag1lf&dl=0- Logiciel du ROM 5000: a short guide to new developpers working on this device programmer. It's written in french, let me know if you need a translation. It contains a memory map of the ROM 5000, you may find it of some interest.- User Manual for ROM5000- sources: source files for the ROM5000. 6502 assembler. That's a jungle. All comments in french. For video part, see VIDxxx. I doubt you find anything useful.- map.zip : The 6502 have 64 Kb adressable, that's not enough. Addresses from 4000 to 7FFF are mapped, so depending on the device to be programmed, a 'map' is selected to adress the correct page. This allow to extend the adressable space.Unfortunately, no hardware documentation.The disks are not PC compatible, as far as I remember the size of the sector differs (256 vs 512), but I know there was an utility to read or write ROM 5000 disks on the PC.About Micropross: I joined Micropross a few month after it has been created, I learned at the same university that the founder. Micropross was really a small company, and when the ROM 5000 has been designed (1985), the company should be 12 people or around. We never were more than 50 people.About the video: Yes, there is a character generator, I remember I filled the PROM by myself, even designing my own characters (Micropross logo for example)!Two UARTS: one is for remote control, the second one is to connect the development system which will send the data to be programmed."Littered with gigantic horrific spelling mistakes,": Indeed. One of the technician was unable to write correctly... except for 6502! He was probably our best programmer, so we don't worry about the mistakes.

author: Vince
author_rank: Super Contributor
timestamp: May 11, 2024, 06:05:37 pm
content: Wow, sorry for the late replay Papardelle !Been very busy here the recent days... calming down now.Thanks a lot for the documentation !The user manual and programers' guide I already had, but the source code and very detailed maps on the system disk, I didn't have !Quote from: papardelle on May 06, 2024, 02:32:13 pmMaybe you do ! Who knows... please stick around, subscribe to this topic and watch my progress (hopefully there will be some).Maybe you can help here and there along the way...I would hate for you to disappear now ! It's a miracle enough that you posted here to help me... let's make this miracle last as long as possibe... stay with me in this journey ! It's not like it will take you much time to 'handle" is it... a few messages here and there that's all.Quote from: papardelle on May 06, 2024, 02:32:13 pmThat's very interesting right there Papardelle !I mean, I assumed the 300 was a cut down / cheaper version, hence I was afraid it would lack some features/ functionalities compared to the 5000, hence that the 500 user manual might not apply 100%.But if the 3000 is nothing like that as you say, then I understand it offers 100% the same features as the 5000.... so far I was only HOPING it might be the case, when I saw that my 3000, with NO boot dist in the floppy drive, would display "ROM 5000" on the screen rather than ROM 3000...But now looks like it's not a hope/supposition anymore, but rather a fact !That's incredible news !I can then rely on the 5000 user manual !Quote from: papardelle on May 06, 2024, 02:32:13 pmFantastic once again ! I can rely on the 5000 programming guide there too then !Quote from: papardelle on May 06, 2024, 02:32:13 pmNo need for translation, I am French as my avatar suggestsQuote from: papardelle on May 06, 2024, 02:32:13 pmIt's a GEM !It's incredible to be abel to read the commented source code all you people wrote for this machine back in the day !Reading through thoses source files feels like I was there 30 years ago next to you, watching type the code and chatting with you about it, so incredible !!The in-line comments and also the comments in the change log at the top of the files, just crack me up, you guys had some sense iof humor, never a boring source file !!!I particularly one file that implemented some memory chip. An entry in change log was like "Trying ti implement that new XX chip from XX Mfg, it's a pain in the ass I can't get it to work, I GIVE UP ! If you want to give it a try GOOD LUCK ! "Something like that !Quote from: papardelle on May 06, 2024, 02:32:13 pmYes indeed that was it. I have a document Word called "Overlay" that talks about it, and explains how to map the last 4 maps into memory.I also have the C source code for the utilities you describe.Quote from: papardelle on May 06, 2024, 02:32:13 pmWow, designing such a complex machine and with so much assembly code... I find it quite an achievement for such a small team !You people must have been very motivated !!Quote from: papardelle on May 06, 2024, 02:32:13 pmThanks for that ! I was wondering what the second port was for.All I could see was that the UART chip in the machine, according its datasheet, featured a SINGLE serial port... so I assumed the CPU had to multiplex the two ports, hence it could only use one or the other, but not both at the same time.So to sum it up.. thank you so much Papardelle !Please stay with me in the coming months as I resume work on this lovely machine.....now that I found you, I don't want to let you go away !So, I will try to resume work onit real fast.The first thing I need is to figure out a way to get a proper display, since my EGA/VGA arcade game adapter gives me "some" picture, but not 100% correct.Oh, question about the source code : it looks like it's the code only for the system/boot disk right ? You don't have the code for the CPU itself, I mean the firmware inside the CPU' EPROM chip ?Code Jungle ? Yes indeed, 404 files total !However, I am not deterred... just yet.I see that many files are duplicates : one is for French language, and then there is one for English language.So I guess teh brings it down from 400 to 200+ files, much better eh ?!Then I will try sort these 200 files further. I will open them up one by one.I will find all those that correspond to programming specific chips, and set them aside.That will bring the count down to maybe 50 files left... then those 50 I will try to understand what they do and further sort them.

author: papardelle
author_rank: Newbie
timestamp: May 27, 2024, 02:36:25 pm
content: Hi Vince & all,I'm sorry I don't visit this blog more often.Perhaps I could let you my email, if you have urgent requests. Is it safe to post it here?In your post #163, you see an emulator on the ROM5000. It is not an emulator.Let me tell the story.In the early eighties, Micropross developped a gang programmer very easy to use only two push buttons for all operations. Eight sockets, each of them can be a source or a target. You can copy one EPROM to 7 others, or a set of two to 3 set of two, or a set of four to another set of four. You can choose from 2516, 2716, 2532, 2732, 2764, 27128. That was the ROM2000, our first step in the programming devices world.Then we developped the ROM5000, which programmed not only EPROMs, but also bipolar PROMs, which all have different programming algorithms. The first version should support perhaps thirty to fifty different devices. The ROM 5000 had a small magnetic tape used as mass storage.More and more programmable devices coming on the market, so we developped the ROM 5000 D, the D stands for Disk, which replaced the magnetic tape. The programming module is now removable to accomodate SMD devices or exotic pinouts.EPROMS on DIP socket were not allowed in sensitive applications, like high-speed train or Airbus, the EPROM are soldered directly on the PCB. So to program the devices, you must use the signals available on the connector, that is in-situ programming. That is what you see on the picture in your post #163, the board on the module is a board embedded in the TGV, french high speed train.But in this case, the programming algorithm must accomodate the specific hardware of the board to be programmed. We invented a description of the board the user can use to develop its own programming algorithm (it has been accepted as a standard for avionics as ARINC 614 standard). This language was ULIS (Universal Language for In Situ)More and more demand for in-situ programming, thus we developped in-situ programmers, the PRECIS range: Precis B for boards, Precis M for modules (OBRM in avionics), Precis S for small boards, Precis Z for ... smart cards, with a new language inspired by the Basic, ULIS B!Indeed, smart cards manufacturers were looking for a programmer were they could define their own programming algorithm, for confidentiality reasons.More and more demand for smart cards programmers, thus we developped the STAR range, dedicated to contact smart cards. Then the smartcards became contactless, we developped the CLASS range to test and program contactless smart cards and micro-modules.More and more involved in the test of contact and contactless devices, Micropross developped the software around our hardware to test the interoperability of all contact and contactless cards and readers.Thus, this lead us to test also mobile phones and our products have been implemented at all major mobile phones manufacturers.That's all, folks!I found a box with some programmable devices, they may be blank, programmed, or destroyed. Are you interested?There are mainly EPROMS, from 2516 to 27C400, some EEPROMs, two one chip (87C51 and the famous 68705, which need a full story!), a few PALs (10L8, 20RA10, 22V10 etc) and PROMs (24S10, 74LS123, etc), also some SMD devices (MACH 210, EPM5032).Let me know if you need it.

author: m k
author_rank: Super Contributor
timestamp: May 27, 2024, 05:30:58 pm
content: I'm quite sure I can find a place for 14S10.

author: Vince
author_rank: Super Contributor
timestamp: May 28, 2024, 08:47:17 pm
content: Hi Papardelle, sorry again for the delay !Quote from: papardelle on May 27, 2024, 02:36:25 pmOh, what you can do is click on the little "Notify" button at the bottom of the page.This way you won't have to visit the forum all the time to check for nex messages here : instead you will receive a notification e-mail automatically whenever there is something new to read on this topic ! Zero overhead !Quote from: papardelle on May 27, 2024, 02:36:25 pmNo don't post your e-mail here, anyone could read it, including Google bots, ChatGPT and the Russian bots, bad things could happen !However private messages is fine : I will send you one in a minute as soon as I am done writing this message.We can then exchange e-mails this way.Quote from: papardelle on May 27, 2024, 02:36:25 pmWOW ! Thanks for the memories and history of the company, that was fascinating !!See ? I knew you had much more to share than you originally thought !It's funny that your colleague who wrote that programmer's guide, used that TGV board to illustrate the cover page, rather than, say, the HP 64K system that was used to develop the system.Quote from: papardelle on May 27, 2024, 02:36:25 pmOH ! That's interesting again !On the other / French forum, system-cfg.com, on the ROM 5000 topic, there is a guy who said he bought a ROM2700 !https://forum.system-cfg.com/viewtopic.php?p=220620#p220620It looks really like a nice machine ! I just love the big keys, they don't make them like this anymore !Looks like this ROM2700 is a more modern version/development of the ROM200 ? It's got an LCD display and a comprehensive keypad, and the owner says that the machine came with a CD-ROM containing the S/W to transfer data from a computer to the programmer.Quote from: papardelle on May 27, 2024, 02:36:25 pmOh wow yes, I sure want them ! I just love any and all programmable devices !!!It will be super cool to have a variety of devices to test on my ROM3000 once I get it to work !MK can have the 14S10 if he wants... if I ever need some he will just send some back my way !I don't even know what the 14S10 is.. Google can't find a (relevant) datasheet for it... but if MK wants them so bad, I guess it's some rare, unobtainium chip that must be used in some machine that people are still interested today ! An old arcade machine or vintage computer MK ??

author: coromonadalix
author_rank: Super Contributor
timestamp: May 28, 2024, 09:52:16 pm
content: have you recovered the available files on this french forum ?I'm native frenchattached here

author: m k
author_rank: Super Contributor
timestamp: May 29, 2024, 09:10:24 am
content: Quote from: Vince on May 28, 2024, 08:47:17 pmYou may also have a place for it.It's one of those field programmable PROMs, where you burn out internal tungsten fuses and change bits from 0 to 1.24S10 and 14S10 are cousins, 3-state and open collector outputs.(eyes)82S129 74S287 24S10 14S1082S126 74S387 24SA10(not 187)I've also checked those sources few times, but my French is lacking.Some text manipulation things I found, but cursor positioning is not straight forward, at least in names and numbers.E,property mixup.E2,more files.And it's possibly that 24S10 that is more relevant.E3,less files.PDF is from Datasheet Archive, but can't figure out the search phrase.E4,dang, 187 is a mask ROM.

author: Vince
author_rank: Super Contributor
timestamp: May 29, 2024, 08:13:02 pm
content: Quote from: coromonadalix on May 28, 2024, 09:52:16 pmYep I have all that.

author: Vince
author_rank: Super Contributor
timestamp: May 29, 2024, 08:17:03 pm
content: Quote from: m k on May 29, 2024, 09:10:24 amI am bit confused now... what are those 'E' iterations ?Do you still want those chips ?Are they mask ROM i.e. useless to us ?

author: m k
author_rank: Super Contributor
timestamp: May 30, 2024, 11:21:34 am
content: Yes, still want it, 24S10 that is.And it's even better now since the earlier OC output knowledge was inaccurate.Upper line of the earlier post is 3-state and lower OC outputs.We can figure out the rest when you get them.Generally old PROM types are good to have, PALs are much less needed around old TE, I guess.For 87C51, I think I've seen one in HP 3478A.The mentioned mask ROM is my pokings around the net and nothing to do with other things.But are you sure you don't need that 24S10 your self?I have a recollection that you may need one, but the sign is not bright.It's sometimes used as a substitute to discrete logic chips, design time is probably somewhere before PAL chips, early '80s I guess.Usual place is an address bus where output side is logically complex, those are faster than regular ROMs.E is edit.Keep'em or not is always a thing.

author: Vince
author_rank: Super Contributor
timestamp: May 30, 2024, 04:03:01 pm
content: You are instilling doubt in me now, MK... I am starting to find thse 24S10 sexy as hell... maybe I will keep some of them... depends how much there are in all ! We shall see !The 80C51 I am impatient to get my hands on... as it will bring back some memories.In 1996 at school they started teaching us micros and assembly language on a (actual/vanilla) 80C51 development board, with 64K of external memory.Half of the was an EPROM containing a monitor, the other half was a 32K RAM chip into which the monitor would download the user program.Then the next year in 1997 we were blessed : we had a different dev board... still 8051 based but this time a super duper variant of it : the 80C552 !Was the state of the art 8051 back then... fancy PLCC package, PWM, lots of I/O, ADC, I2C, even a H/W multiplier IIRC but don't quote me on that...it was a monster back then !