-
Posts
178 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Community Map
Everything posted by Windless
-
Thank you! So nice to see the code running on real hardware and not an emulator! w. PS : I modified the formware so the `Detect Offline ROMs` is always avaible. This allows to not erase the sector 5 before flashing and keep the settings (else, the pluscart resets to ntsc each time I flashed )
-
Ok, last update : The boot selection jumper was faulty. After replacing it with another one, the image displays on the 2600 \o/. The ESP-S01, even with the shorted capacitor removed, does not work : no answer on serial port with a PC, and the PlusCart keep showing (+) if it is connected. I noticed it has a missing component. I've order new ones that I should recive in a few weeks. Since I have neither wifi nor sdcard reader for now, is there a way to build a firmware that could get the rom via USB / UART, or to build the firmware with an "offline rom" of mine ? (currently the "offline rom" menu only dhow one garbage rom with garbage name)
-
I re-checked each connection from gold-fingers to cpu pins: they are all ok and I found no shortcircuit, but it still does not work. Hoping to be able to debug something, I started to read the code and, if I understood correctly, with no esp 01s connected the code on the STM32 should be stuck in "emulate cartridge firmware". So I modified it like this hoping to see a blinking led, but the led just stays on (I tried several max values for the counter, I also tried removing the call to `HAL_GPIO_TogglePin`, the leds stays ON). There were an option to choose if I wanted to build the wifi or sdcard version, but when I used STM32CubeMX to set the PE0 as OUPUT I lost this option. Should this modification make the LED blink when it is not even connected to the 2600 (just powered via usb) ? If not, can you guide me in finding where I should try to put the code ? (once it works, I want to modify the code so it alway return the opcode for `NOP` on DATA, so I can check with the oscilloscop that Ax lines are going from 0 to 13^2-1 and Dx lines give the opcode)
-
I re-checked everything from scratch : - the shorted pin were not PE15 and PB10 but D2, D4 and D5. The problem was that I used a bit of solder past because I did not have flux - this usually works for thru-hole component but there the hot paste flowed on the other side and made a brige... I lost at least an hour - the ESP-S01 seems to be dead : one of the capacitor read 0 ohms, maybe it was it which smell so hot (it was very badly soldered, probably the solder melted because of the heat ?). I removed the capacitor, but I can't get an answer from the module with an UART - USB adapter (I ordered another one) - to check every connection from the gold fingers to the STM32, I downloaded the files from github and I can't open the files in pcbs\PlusCart with the lastest kicad. So I used the ones in pcbs\unified-smd-pcb and everything seems fine, except Dx is on port C instead of E, and C8-15 do not repeat C0-7 on my pluscart 1.2. Next step : re-solder some pins (I first tried to remove all the solder to separate the STM32f407 board from the pluscard, but since that was too hard I find another way to remove the short. So now some pins lake solder) and try the cart (without the ESP module)
-
yes. yes also. Wih both jumpers I have the expected behaviour (blinking led). I'll try to make a firmware that just blink a led to test the card, but I'll have to wait for a few days (I just hate CubeMX, and can't install rust on my company's laptop... maybe I can ssh to a raspberry and install rust on it tomorrow though )
-
I have a pluscart 1.2 which never worked. The ESP32 on it turn very hot (you just smell it's too hot !). Today since I fixed two of my 2600, I wanted to give it another try. I remade each solder, and it still got hot. So I removed the ESP32 and flashed the STM32F47 to v2.3.17 firmware and CubeProgrammer said it went fine. When I put it in either of the two repaired 2600, nothing happens : the TV behave excatly as if I switch the console ON without any cartridge (the image is random, change at each off/on). Are there some troubleshooting insructions ? For now I've found a short between the 3.3V and EN pin on the ESP connector (on the geen pcb side) - which seems normal - and one between PE15 and PB10 (which seems not, but this in not one place where I put too much solder and I manage to remove nearly all of it without removing the short)
-
Just in case someone else comes to this thread trying to tune his/her secam VCS : - The older one, with NTSC TIA and Astec International UM1288-1 modlator, was on UHF 591.25MHz, which is exactly channel 36 in France and Western Europe. - The newer one, with PAL TIA an modulator directly implemented on the PCB, was on VHF 56.25MHz, which is really close to channel 3 in France (56.15MHz). Both use SECAM L/L'. None could be tuned using the "channel" feature of the TV. I don't understand why.
-
Ok, got a "new" TV and... it worked ! I now have 8 suprinsingly terrible colors to play with That allowed me to make some tests and it found : - Great to have a TV with available service manual : I could activate the "frequency" tuning mode which worked (when chanel mode did not). I also could center the screen, and I cna change the image height depending on how much lines I want to VCS to be able to display. - Though I partly fixed the power switches, they still have a weird behavior where they sometimes do not "click" when pushed. This is when the DMM will read 2.5V or so instead of 12V between ground the 7805 In pin. - I can't read a 592MHz carrier with the probes that are provided with a cheap oscilloscope (Rigol D1054Z) - The modulator has three pins : left is "DC Coupled image", middle is +5V, and left is sound on a carrier. So, next steps : - Tune the modulators so they are centered well enough to be tunable in "channel" mode for TVs that don't offer sub-MHz fine tuning - Try make the PlusCart V1.2 work. I have one which I suspected was not working but now I'm sure - Mod to SCART composite or RGB output - Start working again on getting the full 128 color of the NTSC chip on a SCART RGB output.
-
Ok... guess I'll have to open a Book I manage to find something better on the input of the modulator : H and V sync : what looks like consecutiv lines without a colorburst : (it's unclear to me if early secam required color burst) I still could not find a datasheet for the astec 1288-1 modulator, but found one for the 1285-8 and page 2 it says "AC coupled signal" (I don't know what it is) must be between 0 and 5V, and "DC coupled input" is expected to be really close to what I see :
-
If what I am observing is indeed a secam composite signal (attenuate because of the probes) - and it seems ok to me that the modulator is just taking a valid input signal in either in pal, secam or ntsc and modulate the carrier frequency with it - does it mean that I could just ge the entry signal of the modulator, adapt the impedance with a PNP transitor and a few resistors, and feed it via the RCA or SCART entry of any TV and voila ?
-
Looking at the datasheet of my oscilloscope probes, the voltage derating is about 1/6 at 3MHz. The amplitude on the last screenshot is about 450mV. If I multuiply this by 6, that gives 2.7V, when the average tension is 2.83V. That seems to be a perfect match. Is this what I'm observing, or is it not how voltage derating and digital oscilloscops work ?
-
I did not thought of the pull resistor, thank you ! I solved the mystery about the VSync : The SYNC signal is not a steady LOW, it is apparently XORed with the HSync signal, my 100µs trigger period was to short. Reduction it to 25µs, I found the 3 lignes : So everything seems to be ok on the TIA output. But I still can't tune the output of the modulator on the TV nor even find the signal with my scope (maybe because I've no idea what I'm looking for ^^). I checked the entry of the modulator, and did not try to decipher the signal but I find something oscillating around 2.5V which seems a bit weak but here too I really don't know what I should be expecting and have no working 2600 I can compare with : Maybe next step is to try an RGB scart output from LUM0/1/2 and VSYNC since they all seem ok ? Does someone know if this is the expected input for the modulator ?
-
apparently some old ones are on UHF 36 and newer ones could use VH 05-06. Since I was not sure which frequence that was, I tried using my oscilloscope bout could not find any signal (wrong inpedance ? wrong setting ?). So I continued probing, using a diffferent cartridge ("RealSportsTM TENNIS" ), and I'm not sure I understand all the results : SYNC (pin 2) kind of make sense : it goes LOW for 4.6 or 4.7µs, and that repeat for each line (64µs). But it seems to alway goe that way, I could not capture a more than 10µs low signal that I think should be there every 10ms for start of frame yet. This seems to indicate that the kernel is not running !RDY (pin 3) seems normal : every 1/100s (every half-frame at 50Hz), a repeating pattern probably shows that synch is used during the visibl part of the kernel, and other portions are synched with the timer. This seems to show that the kernel IS running. COL (pin 9) is always 0V, what is exepected on a SECAM board BLK (pin 6) does not seem to show anything more than some artifacts (230mV) caused by the output on LUM lines. This is really weird if the game is indeed running, or am I missing something ? : LUM 0, 1 and 2 (pins 8, 5 and 7) show a patter that repeats every half frame Does someone understand better than me what is happening ? Is there a way to chef the frequency of the modulator ?
-
Ok, I tried the 2600 with a game cartridge, the PSU, and an antenna cable to the TV, and still could not tune anything (still on this rather recent flat screen TV). After at least 15 minute of trying to tune it, the 6502, the TIA and the 7805 were completely cold... First thing : which frequency should I try to tune to ? the modulator is an Astec International UM1288-1, with numbers 8127 stamped on it, but I could not find any information online to translate this into a frenquency. Second thing : if this is not a tuning probleme (the cold chips make me think it might no be), where should I continue the diagnostic ?
-
Some more investigation : the powerswitch seems to be oxydised. On full ON position, the DMM find either an infinite resistance or 100 to 500 ohms. It also varies a lot when the switch is touched. If I do not completely push it to ON, there is an almost stable position where I get 10 ohms. It seems to be possible to take the switch appart and clean it, but cleaning won't probably be enough, is there a way to remake the plating ? Edit : yes ! that was the problem. After cleaning with a cotton bud and methylated spirits as seen here, it now read one or two ohm, and plugins the PSU I find 11.5V on the pin 1 of the 7805 and 5.0V on pin 3 ! Next step : try get some picture on the screen again
-
I tested the PSU on another 2600 PCB, and it gives the same result (2.6V on between both in and out of the 7805). It seems my PSU just went bad sitting iddle in a box
-
Hi, I have a 2600 which I think is SECAM because: - I bought it in France (so it should not be NTSC) - It has a C010444D (which is NTSC if I'm not wrong ?) - My DMM find 0.22R between Pin 10 and +5V - It has three crystals I tried to tune it on a rather recent (less than 10 Y.O.) samsung flatscreen but could not get anything. So I opened started to look fo a potential probleme (before I can find a CRT TV) and : - Thought the adapter worked fined last time I used it (5-10 years ago), it's now a bit hard to read th 14.7V with the DMM (it seems their is some oxydation on the connector, any recommended way to fix that ?). Under a small load (680 ohm, I oly hav 1/4W resistors) it "drops" to 14.0V. - When I plug the adapter in the console without anything connected (no cartridge, no tv, no joysticks), the voltage between the pins of the connector reads 2.56V, and the ldo gives the same voltage on the in and out pins Where should I go from there : - Order a new PSU I guess ? I was going for this one, I think it's the proper connector, hopefully the right polarity ? - Replace the 7805 ? thanks, W.
-
Hi, I am writing some articles (in french) about coding for the 2600. In one of them, I explain why the PF1 register has its bits in reverse order when compared to PF0 and PF2 and for this I'd like to use part of the picture of the die that is on visual 6502. Unfortunately, the website provides no licensing information, and I tried four different email addresses and got no answer. (I already mailed the contact address in 2021 to propose help with restoring the wiki, but I got no answer and it is still down). Does anyone here know if there is a license available for these (or other) pictures of the TIA die ? Thanks, w.
-
The pal VCS as a weird palette with : - colors seems "interlaced" - there are 3 identical gradients of greys Today I took another look at this, and emited the hypothesis that color are arranged that way because it helps with generating the PAL signal. So I converted the palette to YUV, and here is how the $x0 colors (taken from wikipedia) are translated : What is there to be seen ? If you compare an odd numbered value with the next (even) one, you will get almost the same luminance, almost same V as the other color, and about opposite U (well, except for $40)... Could it mean that, instead of shifting the phase of the color, the pal TIA inverts the first bit of the colors on even lines to select a color that is already phase inverted ? That would also explain why we have two grey scales for $0x and $1x, but not why the last two lines of the palette are also greyscales. If I understand the Color Select Decode in the NTSC TIA (page 5) corectly, the delay cells are selected based one the color like this : Delay [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ] Color 2 3 4 5 6 7 8 9 A B C D E F Where E and F might give the same colors as 3 and 2. If we want an opposite phase for conecutiv color numbers, the PAL version might look like this : Delay [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ] Color 2 4 6 8 A C E F D B 9 7 5 3 but now colors 5 and 3 might be the same as 2 and 4. If you use a counter to generate a gradient, some colors might even be reversed. Could that be a reason to suppress colors E and F ? Or is there something in the timing of the PAL signal or in the speed of the cells (they don't seem to be synchronized with the 4,453125MHz clock ?*) that would prevent from having two more colors ? W. * : or are they ? I'm not strong with reading schematics !
-
Docs Tutorials and Tools for Atari 2600 Programming
Windless replied to kisrael's topic in Atari 2600 Programming
When I was learning about bank switching, I wrote this (a bit over verbose ^^) documentation. It is not completely finished (I don't dive into each switching scheme), but I can continue it if there is some interest : https://gitlab.com/FTregan/bank-switching-rom-atari-2600 -
Hi, When you want to modify code at runtime, the code has to be in RAM. Since RAM is random at switch-on, you need to copy the code from ROM to RAM and then modify it. But its address changes, that's where the RORG instruction comes handy : you can tell the assembler at which place the code will be in memory, so it can use the runtime, not compilation time, addresses. E.G. : RORG $80 ; RORGed address, tells the assembly "compile this code here, but do as if if were as $80" start: nop ; this might physically be at e.g. $1500 jmp .loop ; will compile a jump to $80, no $1500, so this code is ready to be copied in RAM at $80 end: This works fine. You then make a loop with (end-start) iterations to copy this code from $1500 to $80. (end-start) here will be ($84-$80=)$04, and for destination address of course you can use the start label ($80). But for source destination, you can't use start which as been RORGed, so I usually do something like this : physical_start: ; used as source address for the copy to RAM RORG $80 start: ... ; your code goes here end: ; (end-start+1) is the code length so I can now use physical_start as a source address since it has not been RORGed I was wondering if this is usually how people do it, if there are other ways, if some assemblers has a way of getting the physical address for a label (I could not find one in DASM documentation)...
-
mmm, ok, I made a few more test and the fact that stella in NTSC mode display about 228 lines doesn't seems to be tied to the fact that PAL has 228. In PAL mode, it also has extra lines. So if you are coding an intro screen with a non black background, I is the proper way to : - make an (NTSC) kernel with 230 colored lines and 32 VBLANKED lines (e.g. 14 UNDERSCAN and 16 OVERSCAN ?) so you don't get black borders in stella - make you don't display any important information in the 20 first / last lines of the kernel (because thought you colored them, they might no be visible on some TVs) ?
-
Hi, I'm trying to code a kernel with a non black barckground. If I understand correctly, stella will always display 228 lines regardless of NTSC / PAL / SECAM detection. The 36 extra line are displayed normally, i.e. if you switch VBLANK on, they will show black but if you don't you can normally use 228 lines in NTSC. Did I understand correctly ? Is this close to what will happen on a CRT monitor / TV or will the NTSC TV only display around 192 lines, ignoring (most of) the extra 36 lines or not showing borders if you VBLANK ? Thanks, w.
-
Looking for the rom that allowed to play all sound
Windless replied to Windless's topic in Atari 2600
ok, probleme solved (I used google image ). If someone needs it : https://www.masswerk.at/rc2018/04/studio2600/ -
Hi, A few years ago I found a rom which allowed to play every base sound shape at every possible frequency using a joystick. There was a version running in the same emulator used for 8Bit Workbench. Does someone know where I can find it now ? Thanks, w.
