-
Content count
2,138 -
Joined
-
Last visited
-
Days Won
5
Everything posted by Zerosquare
-
Hum, I... like you too
-
The 74HC245 fits the bill.
-
Correct. Correct. It's called wired-AND diode logic. Yes, there's an error in the PDF : pin 6 and 14 of the 74HC244 have been swapped. You can use the description in the official docs and the pad schematic from the Jaguar FAQ if you prefer, as they're easier to read : Q: What's the wiring schematic for the Jaguar controller? A: Uwe Roeger (uwer@aragon.bb.bawue.de) reverse-engineered the Jaguar controller port and dissected a Jaguar controller to provide the following circuit diagram: Padport 4 Padport 3 Padport 2 Padport 1 (yellow) (orange) (red) (brown) 74HC244 | | | | ______ | | | | R1 4k7 | | | | | | | | | Padport 6 Pause -------|----------|----------|----------+----- 2| -|)- |18- (blue) | | | | | | | +---|------+---|------+---|------+ R2 4k7 | | | | | | | | | | | | | Padport 10 "A"--|<-+ "B"--|<-+ "C"--|<-+ Opt -|<-+---+----- 4| -|)- |16- (black) | | | | | | | +---|------+---|------+---|------+ R3 4k7 | | | | | | | | | | | | | Padport 11 Right-|<-+ "1"--|<-+ "2"--|<-+ "3"--|<-+---+----- 6| -|)- |14- (grey) | | | | | | | +---|------+---|------+---|------+ R4 4k7 | | | | | | | | | | | | | Padport 12 Left -|<-+ "4"--|<-+ "5"--|<-+ "6"--|<-+---+----- 8| -|)- |12- (l.blue) | | | | | | | +---|------+---|------+---|------+ R5 4k7 | | | | | | | | | | | | | Padport 13 Down -|<-+ "7"--|<-+ "8"--|<-+ "9"--|<-+---+-----11| -|)- |9-- (pink) | | | | | | | +---|------+---|------+---|------+ R6 4k7 | | | | | | | | | | | | | Padport 14 Up --|<-+ "*"--|<-+ "0"--|<-+ "#"--|<-+---+-----13| -|)- |7-- (white) |______| Padport 9: Ground (violet) -- Pin 1,10,15,17,19 on 74HC244 Padport 7: +5 VDC (green) -- Pin 20 on 74HC244 SYMBOL KEY ========== --|<-- 1N4148 Diode + Wire connexion Rx 4k7 Standard resistor, 4700 Ohms, .25 Watts (all resistors are pull-ups; i.e. tied to +5VDC on one end) Padport numbers correspond to those on a standard 15-pin SUB-D plug. The colors of the wires may be different in other versions of the controller.
-
Happy birthday to both
-
Apologies if this is well-known. I noticed something recently : Atari messed up with the Jaguar audio subsytem. (Some of you will say it's not suprising ) The Jaguar Technical Reference Manual v8 claims that the Word Strobe signal is high for the RIGHT channel, but according to the audio DAC datasheet, Word Strobe should be high for the LEFT channel. There are two consequences : The left and right channel are swapped. I.e. the L_I2S (LTXD, $F1A148) register should be called R_I2S (RTXD, $F1A14C) and vice-versa. Try it -- if you write to L_I2S only, the sound will be coming from the RIGHT speaker. (I always thought I had something wrong in my cabling, turns out it's not the case). As the DAC expects data for the left channel before the right channel for a given sample, the I²S interrupt should be configured to occur on the RISING edge of Word Strobe, i.e. the SMODE register should be set to %001101. Also, a related piece of advice : the I²S interrupt occurs shortly before sending the data to the DAC, so it's important to update the data registers as early as possible. If you don't, since the right data is sent first much later than the left data, it may happen than the left channel gets the data for the previous sample, while the right channel gets the data for the current sample. In other words, the channels will be out of phase by 1 sample. Personally, I use code like this for the I²S interrupt : (r2 and r3 are constants ; r2 = $F1A14C, r3 = $F1A148) i2s_int: store r0, (r2) store r1, (r3) movei #i2s_int_2, r30 jump (r30) nop nop (...) i2s_int_2: ; --- code to save the flags register (it's not affected by the stores) --- ;--- code to compute the left sample in r0 and the right sample in r1 --- ;--- code to restore the flags register and return from the interrupt ---
-
Those last few days, I started playing with audio again. First thing : apparently, Atari eventually realized something was wrong. The left/right channels swapping bug is actually documented in the later versions of the documentation (I used the scans from Tyrant, which are the most recent version I know about - the JagRef revision 8 PDF is actually an older version). Well... "documented" is a strong word. They removed the timing diagrams, added alternate definitions of the registers called L_DAC and R_DAC, and some text saying "Note that these registers have right and left swapped on purpose". You didn't think Atari would have admitted they'd made a mistake, did you ? It seems the mistake was discovered quite early, because definitions for L_DAC and R_DAC can be found in Jaguar.inc files dating back to 1993, and they are correct (L_DAC = $F1A14C and R_DAC = $F1A148). Note that the definitions of L_I2S/R_I2S, LTXD/RTXD and LRXD/RRXD have not been changed. So if you don't want your channels to be swapped, you should use L_DAC and R_DAC instead of those. Another related and interesting question : which register should be written first, L_DAC or R_DAC ? The Atari sample code writes to R_DAC first. I tried both, and it doesn't seem to make any difference. So this part of the puzzle looks pretty clear now. But there's still something strange about the SMODE register. Atari sample code enables the interrupt on the falling edge of Word Strobe. Before, I thought they got it wrong, and that it should be set to the rising edge instead. But it appears that it depends on the sample rate. For low sample rates, the channels are in-phase with the rising edge setting, and out of phase by one sample with the falling edge setting. For high sample rates, it works the other way ! So back to square one... The Jaguar is definitely a mysterious animal (by the way, if you think a delay of one sample between two audio channels is negligible, check this article. Sony had a similar bug in some of their MiniDisc players, and it can indeed cause problems.)
-
jeux amateurs: quelles limites graphiques? UP 04 juin
Zerosquare replied to gaban's topic in Graphism
Ça consiste à construire un décor en assemblant des "blocs" de graphismes sur une grille, comme ceci : Ça peut être un scroll à parallaxe classique (plusieurs plans superposés qu'on fait défiler à des vitesses différentes pour simuler la profondeur -- le plus proche est celui qui avance le plus vite), mais ça m'étonnerait parce qu'il faudrait une grande quantité de plans pour avoir un effet de cette qualité, à en juger par la vidéo. Je pense plutôt que c'est une animation précalculée d'une dizaine ou d'une vingtaine d'images, vu que le fond se répète régulièrement. Ça utilise beaucoup de mémoire, mais sur Neo-Geo les cartouches sont justement énormes... -
I converted the files to binary (using a program written in 5 minutes ^^), and all of them display fine using the tool I posted yesterday. CRY15 and RGB15 files also work when using mixed-mode. So maybe there's something wrong with your display code, or your assembler is somehow generating junk... Here are the files in binary form if it's useful : space.zip
-
jeux amateurs: quelles limites graphiques? UP 04 juin
Zerosquare replied to gaban's topic in Graphism
Sur Jaguar, la difficulté est équivalente. Sur ce point, tu peux faire quasiment ce que tu veux : un plan unique, une grille avec des tiles, un plan fixe + des sprites par dessus pour les endroits qui sont animés... Grosso modo, tu peux considérer que tu as un nombre de sprites illimité (dans la limite du raisonnable !), avec les tailles, positions et ordre de superposition que tu veux. SuperFly DX (un jeu amateur sorti récemment) est un bon exemple de ce qu'il est possible de faire : (ça commence à 1:00). Là j'avoue que je n'ai pas trop saisi... la vidéo en temps que tel tu peux oublier, il n'y aura jamais assez d'espace mémoire pour la stocker. Pour ce qui est de la 3D, je ne vois pas trop ce à quoi tu fais référence. Tu aurais un exemple (une vidéo, idéalement) ? -
Here's a quickly-made viewer / converter for CRY, RGB16 and mixed-mode pictures : view_jag.zip Check readme.txt inside the archive to see how it is used. Seb : I never used mixed mode, sorry.
-
You're welcome SebRmv : to view CRY pictures on a PC, there's JagView, but it displays the colors slightly wrongly (so it's not a good tool for debugging). If I can find some time, I'll make a PC viewer for CRY files.
-
Sounds like a fun idea
-
Here's a fixed version which should handle transparency correctly : bmp_cry.zip Usage is : bmp_cry input_file.bmp output_file.cry Only uncompressed 24-bit BMP files are supported. Lines in the output file directly follow each other (in other words, they're not padded to an integer number of phrases). And here's a version without the dithering : bmp_cry_nodither.zip
-
Never mind, it's working fine now
-
A.C. is finished and two new games are started !!
Zerosquare replied to GT Turbo's topic in Software
And here are my photos : http://zerosquare.free.fr/ac_2010/. Photos/videos from other people can be found in the first post of this topic. -
I know about that bug, and it's even mentioned in the mail I sent you Basically it's because my converter uses dithering (Floyd-Steinberg, to be exact) to avoid color banding artifacts, so perfect accuracy is not guaranteed. I added a special case to fix the transparency issue in my (unreleased) RGB16 converter, but I didn't backport it to the CRY one. I'll do it as soon as I can (I thought that SebRmv's converter handled it and worked fine, that's why I didn't release mine). Strange. This one is an unknown bug. I'll look into it. It sure does
-
A.C. is finished and two new games are started !!
Zerosquare replied to GT Turbo's topic in Software
And here are the screenshots. Black Hole by Fadest : Dragibug Attack by Matmook : And the new C.V.S.D title screen : -
Nice Is the website supposed to be ready yet ? All I see is a static picture...
-
C'est pas le même que celui de Silicium en effet, même s'ils sont collectionneurs tous les deux
-
Don't forget Xerus too
-
Since it seems that some of us are tired of pressing buttons again and again, here's something to help : a Jaguar pad autofire mod. It includes a potentiometer to choose the fire rate, and an optional switch to disable the autofire mode. The autofire only affects the B button ; other buttons work normally. The mod can either be installed inside a Jaguar pad, or built as an external pass-through box, for those who don't want to modify their controllers. Warning : this has not been tested yet, as I don't have all the components. The topic will be updated once I get time to actually buy what's needed and build a prototype. Here's a preliminary schematic : Feel free to comment
-
Nah, your's fine too
-
Joyeux anniversaire
-
Thanks to overridex, a Linux version is now available See the post above for details.