Jump to content

Windless

Members
  • Posts

    178
  • Joined

  • Last visited

Everything posted by Windless

  1. I think both levels and admissible impedances would be different, from a few mv for phono (which requires a specific preamp with a rather high impedance) to pro line level (about 2.8V PtoP) and headphone level (which should be able to source enough current for a 20 ohm load). https://en.wikipedia.org/wiki/Line_level
  2. Applying a 10db gain then removing negativ values seem good enough to make a rather precise detection.
  3. Ok, this version is a bit more readable and made me realise something : there is absolutely no weird "sometimes 3 bits sometime more" signal generation, the thing is that with a 44.1kHz samling, you get a sample avery 22.68µs, so you get about 12 samples for a 0 bit, so only 12 diffferent values. And about 19 for a 1. I only though I have wierd quantization on y axis because I zoomed too much and saw a very normal quantization on x axis ^^
  4. Side B is a bit different : - there are lot of places where the signal amplitude get lower for less than 1 seconde. On some on this place the 1s can count more than 24 levels, so the generator is definitively not 3 bits - the overall amplitude is close to the max (when it is less than half the max amplitude on side A, except on the part at 1:15s). Did you use some normalization on the records ?
  5. See schematics : https://github.com/rglenn/unocart2600-pcb/blob/master/unocart-2600-pcb-schematic.pdf (as expected, it's the Serial Wire Debug port for debuging / programmig)
  6. Thank you. I just gave it a quick view (other projects to finish before I work on that, you know how it is), but I gave it a quick look : If I use the same vocabulary used in kevtris' mappers docucmentation, we quickly find : - The preamble is a rather nice sinusoid, with just a bit of modulation but nothing hard to scan. Its level is lower than the bits that comme after it, the zero is almost the same. The frequency is close to 400Hz though, not 750Hz as in kevtris's doc. - The synchronization is easy to spot, and as on all recorded bits it seems to have been generated with a 3bit source (8 levels sinusoid) but the discrete level have variation. Can't say if it's due to imperfection of the ADC you used or the DAC they used, or something else. 0 bits are 270µs average (doc says min 158, max 317, optimum at 227) and 1s about 400µs (317-2450, optimal 340). At 41.6s, things go wrong. Probably you could edit this part and check if you manage to load the second part , or check if the band seem to have some physical issue at this place (since the problem occures on both sides) And then after log of 0s, at 1:15, what seems to be another synchroization phase starts, but this one starts loses amplitud until it reaches about 1/3 of normal one, then regain. That's weird. Also it seems that when 1s saturate most of the time in other places (you can see only 7 levels), on this place they do not (8 different levels). So it looks like this was really present at the origin, not some effect of the tape aging. (not sure about this) BTW, with respect to sampling this with an mcu, the good new is that we may manage to do it only with static level adaptation (read : clamping diode). I saw no signal supperposed to this one that needs filtering.
  7. I tried to download .wav files of original tapes, but the one I found are all pretty clean (no white noise, very sharp transitions, ...), I thing they all have been decoded and rencoded. Does someone have bare digitized version ? I want to see if I can test the filter part.
  8. I found two different "Supercharger BIOS (1982)" roms (on said to be 'Starpath', the other "Arcadia Corporation", 2K). I tryed them both in stella with a .2K extension or a .AR extension, but they both reach an illegal instruction pretty soon. Shouldn't I at least reach the "press play" menu ? I did not found the source code of the tape loading part of the bios, so I'm trying to find where it begins with stella (I think I vould trap reads on $FFF9 as a good start ?)
  9. Ok... I *did* find the page, but didn't see the "show more" link to have the .bin ^^. Thanks !
  10. I like the question. Can you connect it to a pin of the microcontroller ? Ignoring the fact there is no jack connector on the current design, I *think* that : *if* your sound source meets the consumer standard (-10dB of a 1.144V), the lower part of the signal would be -0.447V. If you connect 2600 ground to source ground, that would be une the microcontroller's specification (min is -0.3V). You could connect the source ground to a tesion divider bridge 0.447V above the 2600's GND, bout you probably want some opto isolation and level adaptation just to be sure About using the ADC. The minimum tension guaranteed to be detected as a 1 by the microcontroller (I took the stm32f407 datasheet) is by design 0.45Vdd + 0.3 (1.422V), but tested in production to be ok a 0.7V. You probably do not need the ADC to adapt for signal level if you choosed to use some opto coupler and/or level adaptation. If you just used a diode to cut negativ voltage and want to detect the crossing of about 0.2 ou 0.3, that could help. the ADC conversion time is about 17µs. The supercharger needs to detect a pusle that is min 158µs ad distinguish it with one which is at least 90µs longer, so that might work. But since you probably want to adapt the signal first, digital input would be way simper/faster. If you want to run the games, first thing you would have to emulate the supercharger's bankswitching scheme. I have not looked at the source (not even the documentation) to see if it does. It would need to make the bit available to 2600's databus and serve the original BIOS binary. That sound possible. In addition to level adaptation, there are probably lot of other cleaning that must be done (frequency band filter at least) if you want the cartridge to work not only with a digital source using cleaned wav files but also with old audio tapes read on an old player. I juste started looking at the code of the bios to see how much of the error detection / correctdion it tries to do. IIRC the "stella gets a new brain" CD includs a study of the bios. Is it available somewhere ? For now I take most information from http://stella.wikidot.com/starpath-supercharger but probably at some time you will need to read the code.
  11. Late at night yesterday I ordered some Atari 2600 cartridge slot breakout, so I could make some tests before I decide/find which pins to use and route the board. This morning (way too early) I gave a "quick" try at some idea and... ended up with something I should have ordered instead of the breakout board. (of course the breakout board is a better generic breakout board, but ordering my design and using it as a breakout board would mean i would have tested my own board and maybe kept it if it is ok ^^). I was planning to decorate the board with scan of robots people draw me, but once I visualized the pcb with black soldermask, some abvious other idea came, which goes well for a cheap/scam card ^^
  12. Current status : I made some estimation about the time it will take to translate the data on separated pins of the BlackPill, make them usable as 12bits address and 8bits data, and that should fit in the 300ns a 2MHz MOS 6502 gives you to answer with data once the address is available. I made symbols and footprint fot the BlackPill under Kicad and checked I could fit 4 pcb in a 100x100 rectangle.
  13. The ScamCart2600 is an ongoing project aimaing at creating a cheap development cartridge for the Atari 2600. Instead of storing the binaries on a luxury SD card with an $1 expensive SD card reader or $2 wifi module, it will be sent via USB. The target it to be able to build the cart for less than 7€ for one piece. Maybe 4€ including shipping for a 10-20 units batch. Why this name ? I first wated to make a really cheap devboard using the spare Bluepill many already have and call it the SpareCart2600, but I failed and ordered a BlackPill. This more than doubled the price of the project. It's a scam. The cart will be very limited : I definitively don't plan to implement more than the 4K an E7 scheme because that's all I use. It is not designed for fancy 3D printed or repurposed case. More knowledgeable people than I am already made really great carts that work and have been tested. They are of course a bit more expensive, but @electrotrains already announced he is working on the 2600PicorCart which is basically the same idea. I wouldn't adive anybody to get interested in my project rather than my. (to be honnest, I thought about gaving up my project when he announced his, but he convinced me that we would never have too much options ) Finally, the shape of the PCB itself is designed so you can fit 4 in a standard 100x100mm cheap pcb size. Manufacturers don't accept panelisation on the cheap offer, but if you get llucky sometimes they just accept it instead of loosing time discussing with you via email. It is also a bit dangerous : not all clones of the BlackPill have a protection diod on Vusb which is required kind of required (except if you always power it via the usb cable and don't solder a diode on the cart's pcb). I had to not connect all the 5V pins together because some older version of the BlackPill have a GND pin which is a +5V pin on most versions, but the other +5V pin on the BlackPill is a GND on some BluePill clones... There also are some old versions of the BlackPill where a button on the board directly ties a pin to GND. The 6502 may not like that. There might be some other quirks I'm not aware of. By calling this card "ScamCart2600", I hope it will keep away people who are looking for a safe device. Are you doing everything wrong ? I will try to make *some* thigs right : The code and source and documentation will be opensource, free for not commercial use I spent lot of time looking for a cheap and easy to source board that has enough 5V Compliant pins and that runs fast enough and requires few ans easy soldering. If I manage to make the "upload all code via usb and keep it in ram" thing work, I'll open pull request to existing projects
  14. I send you a DM to explain the idea ^^
  15. Thanks @alex_79 ! I did not thought the metal shield as causing trouble, but now I have my solution !
  16. Hi, I need four female DB9 connector to test some idea using the controler ports on 2600s. I need them cheap because that's probably a thing I'll spend way too much time on and never use once it's done. I need a custom wiring, no ready-made cable will do. The chip option on aliexpress have this housing : https://www.aliexpress.com/item/1005004819213915.html, but I'm afraid the plastic protrusion that retains the connector in the housing when you pull it will prevent from inserting the cable far enough in the 2600. Did someone already test them ? Another option would be to use a crimp connector (e.g. https://www.aliexpress.com/item/33013632335.html) but I can't find the required wire diameter / ribbon pitch. Any idea ? Also since I need custom wiring (removing some wire, crossing some others), do you thing it is possible to use not a ribbon cable but e.g. some individual wire of a cat5 cable ? Any other idea ? (apart from "not using any housing" which may be the best option anyway ^^) Thank you, w.
  17. You can't do an RF to HDMI converter on the cartridge because the RF signal is not routed to the cartridge. What was suggested is that you could monitor the bus for data sent to the TIA (graphic chip of the 2600) and then emulate the chip to recreate the picture in the cartridge and generate an HDMI signal from that. Since the TIA is the hardest part to emulate*, I'd rather just completely emulate the 2600, eventually putting an emulator in an original case. But emulating the TIA on a cartridge is still a fun project and if anybody does it - i'll be happy to read the project's log * : the 6502 and RIOT are almost completely known, the TIA is the part that behaves diffferently from version to version and might even change a few out-of-spec behaviour depending on supply voltage or temperture - the other will also but those can't be triggered from 2600 code AFAIK
  18. Do you plan to release the schematic / pcb / code on github soon ? I think I'll try to order a pcb, adding a diod and maybe test a thinig or two.
  19. Ok, that definitively explains why. I was thinking of my bluepill based version more as a development cartridge that would be permanently connected to the computer and would only store the data in SRAM, hence having a diode ^^
  20. I also have a question about the warning about not plugin the USB cable when the cartridge is in the console : if you power the rapsberry pico via Vsys an not Vusb, wouldn't you just need a diode on the pcb to prev the USB port from trying to power the VCS when it is switched off ? (anyway, the port should be able to power it ^^)
  21. Very cool project. I really like the idea of having a sub $10 dev cartridge. I started gathering informations about the possibility to make one on a blue pill while working on my current project, and for almost the same reason than for this other project, I decided that for just a few more cents than a bluepill, this one would be a very nice match (plus the form factor is so nice ) https://fr.aliexpress.com/item/1005005303669884.html. I have one of these pinkish-purple cheap pico clones (actually an exact clone of WeAct Studio's pico nearly-clone) . I can test the pcb on three different SECAM VCS (an older one with NTSC TIA, two with the PAL one). I'd be happy to share the cost.
  22. There is no clear an detailed explanations I know of, but there is enough information to make the modification on these two threads : - https://forums.atariage.com/topic/245189-converting-a-secam-atari-2600-to-pal-or-ntsc/ - https://forums.atariage.com/topic/293400-shape-of-the-output-signal-on-tia-pin/ They are for the PAL version but the NTSC one would basically use the same mod with different crystals I think.
  23. I have 3 2600 (all secam). I could not tune any of them on my two "samsung big lcd TV" which can receive "old analogue" channels as well as DVB-T ("digital channels"). I could tune the three of them on a 95 era crt TV (that I bought for 10€ used), the TV has a digital tuner (make with discreet components) but was made to tune old TV signal that could easily drift. Once it was done, I could turn the potentiometers on the 2600's modulator until the signal was precisely centered on the specified channel frequency, and then could tune it on the modern TVs. That still does not solve the problem of getting an NTSC model in europe. For this, you can either : - find someone who travel to the usa and is willing to buy and bring back one - find an older SECAM model with an NTSC TIA and make the modification that is described somewhere on this site to get the full 128 color palette instead of the 8 one Of course that's not really easy, but coding for the 2600 is going to take you some efforts too. If you want to keep it as simple as possible, emulator might be the solution you are looking for.
  24. Hi, The PAL specification gives a period of 64µs for a line (15.625kHz) with 12µs of hblank (18.8%). The TIA generates a line every 228 cycles, that should mean a 3.5625MHz clock which is close to what we find. The TIA as 160 visible pixels during the 228 pixel clock ticks of a line, so blank is almost 30% of the line. That is totally out of specification of averything I could find in any documentation. I would then expect the picture to have blanked borders on each side, but it does not on my TV. How is this explained ? Did I miss something ? Are most TV more tolerant than the specification tells ? If yes, how can the TV find the proper length of the visible part (it can't depend on luminosity alone because else black columns on the side would trick it into enlarging the picture... it could distinguish the darker-than-black from black, but IIRC the blanking signal is not routed on all 2600, some just rely on black on lum0/1/2 ?) thank you, W.
  25. Hi, I try to understand video signals. SECAM apparently takes signal colors from two succesive lines, which are send with a rotated phase, and average them. Hence the color resolution is halved, but any phase shifting that would occure during transmission is canceled. So I wanted to try generating pairs of different line to see what the resulting color would be, and I not completely understand what I see : - color are not completely mixed, odd and even lines have slightly different (hard to tell on the picture, but easily noticed IRL. On the picture you see that the diagonal -which has same color on each line- is more uniform than the other squares - alterning colors A and B do not give the same result as alterning B and A (e.g. column 4 line 6 is orange, when column 6 line 4 is green) - and most abviously : the first third of the screen is purple (even on the area which just "altern" color zero and color zero...) What can explain these results ? Is the purple thing some artefact of an auto adjustement of the phase / amplitude ? Is my TV broken ? (non alterning pictures look very normal !) For some historical copy-pastin reasons, my code uses color $4E to $40 for the columns and $0E to $00 for the lines. The SECAM 2600 only uses the luminosity and should completely ignore the four high bits, but could the activation of the COL delay circuit induce some small dephasing / amplitude variation on the LUM pins that, once converted to SECAM, give these colors ? (these 2600 has an NTSC TIA, I've not tried it on my PAL-TIA SECAM 2600 yet) For reference,I attach how STELLA shows the same code runing in SECAM mode : really different from what I get. testcolors4k.4k testcolors.asm Edit : do not believe any comment in the code, I just randomly copy pasted and edited pieces of other programs.
×
×
  • Create New...