I'm lazy and did the aluminum foil fix. Thank you! haha
@vidashramjit54993 күн бұрын
Hey
@benryves3 күн бұрын
Technically, it could do, though you'll need to do some experimentation of your own to get the response you're after. You can measure the resistance over time and see how much the resistance is changing (the force on the pads) as well as how quickly the resistance changes and from that translate to (for example) a MIDI velocity. That's what I did in this demo, though ultimately the ADC in the microcontroller I was using was not fast enough to provide good time resolution to make pads that responded well to quick strikes.
@saulgonzalez16455 күн бұрын
Thanks man! You saved me a raging headache
@batlin9 күн бұрын
Great to see the Archimedes doing something like this, even in emulation!
@copingflower19099 күн бұрын
Sadly while I did follow exactly how to do this I cracked off a tiny bit of the button due to the amount of force needed to take them out, that or I simply did it wrong
@benryves9 күн бұрын
Oh, I'm sorry! :( I've not encountered it myself yet with the DualShock 2, but I can see how it could happen if the plastic was getting brittle with age.
@scottreeser822511 күн бұрын
This saved me from completely losing my mind. Thank you sir!
@gbraadnlАй бұрын
Was looking for the pinout of the serial adapter, but wasn't able to find a clear instruction in your blog article. The PS2 keyboard adapter is a nice one ...
@benryvesАй бұрын
The serial pinout is at the top of Serial.asm (pin numbers are given for DE-9 ports on the Master System, pin numbers at the other end will depend on what serial device you're connecting to). Pins are described from the context of a DTE (so TxD and RTS are outputs from the Master System, RxD and CTS are inputs to the Master System).
@benryvesАй бұрын
I should probably also mention that if you're going to connect the Master System to anything that uses RS-232 you'd also need an interface circuit to adapt the voltages (e.g. MAX232 chip or equivalent) - I don't think the Master System would be very happy to have -12V dumped onto its controller ports!
@ruhrpottradioАй бұрын
As a cheap "Z80 computer "learning system", such a forgotten 8-bit "SEGA Master System" would be much more colorful, better and much cheaper than the previous boring CP/M Z80 "MBC" system. Such a fast "STM32F" MCU or a "PI PICO" MCU "chip" could significantly improve the graphics performance of all ancient RETRO TI9929 VDP "computers" aka ti99/4a, MSX1, Sega master system! Because they can then serve as a modern "VRAM emulator", including "TASK TIME" for further SPECIAL effects!
@ruhrpottradioАй бұрын
Thank you very much for your many good videos and the beautiful “BBC Basic” for this video game console! Unfortunately, I only programmed a "C64" with a 6510 30 years earlier, and I would very much like to turn this ancient 8-bit Z80 video game console into a real "pretty" Z80 learning system for all young "freaks" who also have it want to learn. As already said, I imagine using the expensive only 4 chip "Z80 MBC3" system HERE as a new CMOS CPU "addon"! and later the STMF4 "C64 Kungfu Flash" as the "VDP RAM" video "Addon" take in addition. Where a fast 10 Euro "STM32F" CHIP will "give" its internal RAM memory in order to "generate" enough "VRAM" as a new "so-called" good IQ "blitter" like the 16 BIT SNES/Amiga graphics "effects" back then ". Something like this is also interesting - as a DIY PROJECT - for all old "MSX 1" home computers that only have 16 KB of VRAM!
@pcheringАй бұрын
You diamond!! Been on this for 2 days 😂
@Mistawani2 ай бұрын
Thank you my guy.
@mr_noodler2 ай бұрын
Well done! Absolutely fascinating
@excrubulent2 ай бұрын
Okay two things, number one I absolutely plan to find a way to hook up a set of ADCs to a standard arduino to make a large number of responsive pads. I've been researching how to make velocity sensitive MIDI pads and this is one of the only useful results I've found. Secondly, what is that microcontroller? Is it the IC from an arduino or something else? Is there any good information on where to get these and how to do it? I'm looking at making some custom PCBs for my projects and having ICs instead of daughter boards would make them much cleaner.
@benryves2 ай бұрын
Thank you! The microcontroller here is an ATmega324P which is related to the chips found in some Arduino boards. The Arduino system tends to involve a bootloader preloaded onto that chip, a USB to serial interface to load a program onto the chip via the bootloader and a bunch of libraries to ease development in C, whereas here I'm just using the plain chip with no bootloader and no USB interface (I program it via the ICSP pins and an USBtinyISP) and I don't use the Arduino libraries, I write the code in plain C using avr-gcc as a compiler (the AVR datasheets are very clear on how to access on-chip peripherals like the ADC via their registers with plenty of sample code). In this case as I wanted to be a USB MIDI device I used the V-USB library which implements USB in software, if you search the web for "V-USB MIDI expression pedal with capacitive sensor" you should be able to find a good sample project that gives you an idea of how a USB-MIDI device using a cheaper AVR might look.
@excrubulent2 ай бұрын
@@benryves Thanks so much! This is great info, I can imagine actually making some viable professional-seeming products this way. And I've found the github project by that name, I think I can go from here. Thanks again :)
@GSXRRizla2 ай бұрын
I have zero knowledge of electronics but found your video interesting.... Out of curiosity is it possible to make the pads slightly larger, say 10cm by 10cm. I'm thinking how this could be used for less able people to stimulate certain reactions. Any response appreciated
@benryves2 ай бұрын
I'm not sure how well they'd scale up to larger sizes - you might have a smaller change in resistance so you might need to press harder or have a more sensitive circuit to measure them; alternatively you could try dividing the larger pad into a few smaller pads underneath. Could certainly be interesting to experiment with, at the time I was playing around with this I was trying to replicate the small pads on MIDI controllers so never tried anything bigger than what you see here.
@mr_Mmph2 ай бұрын
I was absolutely losing my mind trying to get a Dualshock2 back together for probably 15 minutes, this video was a life-saver
@funnywarzonebanter43812 ай бұрын
Hi mate nice video , question , what do you use to connect dreamcast to newer tv connection please
@benryves2 ай бұрын
Thank you! Personally I use a VGA cable, but I make sure that when I buy a TV it has a VGA connection on the back. Not all games are VGA-compatible so sometimes I swap to other cables (RGB SCART, S-Video, composite...) depending on the need. If your TV lacks any sort of analogue inputs (so it's just HDMI, for example) then there's a whole array of different products out there that can convert from analogue signals to HDMI - I use a GBS-8200 board with the gbs-control modifications for some of those, but there are commercial products like the OSSC or RetroTINK series. You've also got cheap cables specific to the Dreamcast that contain a VGA to HDMI converter (these unfortunately squish the picture horizontally, but at least they're cheaper and less involved than a dedicated scaler that would handle the picture properly) and if you want to go all-out there's the DCDigital mod that natively outputs a clean digital HDMI signal directly from the Dreamcast. Getting the best picture from old consoles is a complete science in itself, so maybe take a look at the RetroRGB channel here on KZfaq for example as they cover things in much more detail than I could in a comment here!
@diego123cruz2 ай бұрын
Where can i find bbc Basic for z80?
@benryves2 ай бұрын
I can't share links on here but put "bbc basic z80" into your favourite search engine and you should find it quite easily. The original author R. T. Russell hosts a generic CP/M version on his website and source code for it is also available on GitHub should you wish to port it to a different Z80 machine (i.e. not one running CP/M).
@diego123cruz2 ай бұрын
@@benryves Tks
@diego123cruz2 ай бұрын
How i Can compile this? Have you comand line, Pls?
@benryves2 ай бұрын
@@diego123cruz Assuming you mean BBC BASIC (Z80) that you've downloaded from GitHub, there's a Makefile so "make" should assemble the project, but that's the easy part. As well as development tools (like "make") you'll need z88dk. As I'm predominantly a Windows user I use Debian running inside WSL as my build environment as it tends to be rather easier to get working under Linux. The z88dk page has instructions on how to download and build it under Linux, though this is rather outside the scope of a KZfaq comment and I don't know how much you already know about setting up development tools under Linux.
@kapilso3 ай бұрын
Super work .
@6times3743 ай бұрын
Legend.
@electricelf-music3 ай бұрын
Very cool stuff
@TheGothicSecret3 ай бұрын
thank you a lot! helped.
@popfan95b3 ай бұрын
This is really fascinating! I wonder what the same program would look like on a more modern TV (i.e. one that the Light Phaser doesn't work with). It'd be interesting to see a visualization of how it attempts to parse the gun's position on that.
@benryves3 ай бұрын
Thank you! The light gun contains a light sensor (and amplifier) and sends a pulse to the console when it "sees" light (any light) via the controller port's TH pin. The program on the console can poll whether the gun currently see any light, and when it does it can read the VDP's free-running vertical counter register to determine which scanline the VDP is currently outputting to the TV to determine the vertical position. It can also read the horizontal counter register to determine the horizontal position, but as this would count up too quickly for the software running on the console to accurately keep up with this is automatically latched by the hardware when the TH line goes low rather than being free-running. This works on a CRT because the CRT isn't constantly illuminated, only a small extremely bright dot is illuminated at once (the position of which corresponding to the horizontal and vertical counters in the VDP) and it's our persistence of vision that makes it appear as a solid single image (albeit a slightly flickery one, at least here in 50Hz PAL-land). On a modern LCD TV the entire picture is constantly illuminated by a solid backlight which means there's no way to determine the aimed position on when the gun "sees" light as it will constantly see the same light, regardless of where it's aimed (though in practice the spot that you aim at on a modern LCD is a constant much lower brightness, rather than a sudden very bright spot on a CRT when the sweeping beam passes under the point you're aiming at, so it may not have enough brightness to trigger the light sensor in the gun in the first place).
@SK_parasite3 ай бұрын
Thx sir!!!!
@gxddxmnxt4 ай бұрын
wow, i am so lucky to have found someone who implemented MIDI receive on ATmega328p in C, thank you so much for sharing this!! btw this is an awesome project
@Acrylami4 ай бұрын
This worked!! Thank you so much
@dadsnotfunny4 ай бұрын
thanks mate
@Fork04 ай бұрын
I was having this problem for a while now and its finally fixed! Thank you so much!
@MffnMan5 ай бұрын
Very good! Thank you! I'm having the same issue with the one I just bought
@S-Video5 ай бұрын
Would this work on the TI-84 Plus CE?
@benryves5 ай бұрын
No, as the TI-84 Plus CE doesn't have the traditional link port (only USB) and isn't compatible with TI-83 Plus programs. You'd need a USB version of the "modem" and a TI-84 Plus CE-supporting client.
@S-Video5 ай бұрын
What about “TI-84 Plus”? Older copies of that one have a 2.5mm jack.
@benryves5 ай бұрын
@@S-VideoYes, that should be fine, as the TI-84 Plus is backwards-compatible with the TI-83 Plus. The "modem" part should work on any calculator with the old-style 2.5mm link port, but you may need to search for suitable terminal software for the calculator.
@1stdanclaire5 ай бұрын
Hi can i use this gun on a modem TV?
@benryves5 ай бұрын
It's a raster timing-based light gun (like most other light guns) so will only work with a CRT.
@Eeems5 ай бұрын
Experimental, being on by default, is not experimental.
@CatsNtoys6 ай бұрын
Bless you for the video
@dorkysouls6 ай бұрын
Thank you!!!
@retrogameattic7 ай бұрын
Heck yeah! Thanks for the tip! My head was spinning while trying to reassemble my controller properly.
@anderspeterson96247 ай бұрын
This is really clever now that i think about it, thanks!
@aidanb50218 ай бұрын
Thank you for making the code for this open source! Made my coding a whole lot easier!
@BestFirmwareAround8 ай бұрын
facing the same issue :) (did this many times in the past anyway)
@samghost139 ай бұрын
It was rushed to the market sadly... I was hoping for a Arcade Style Steering Wheel back then but : ( Thank you very much! This is really the best fix! Thank you again Sir!
@elpituyt9 ай бұрын
godsend
@shirty29 ай бұрын
Do you know if this will work with the Madcatz MC2 wheel? I’ve just purchased one and having the same issue. Thanks
@benryves9 ай бұрын
If the issue is the same then a fix using the same principle should indeed do the trick. If you mean this specific circuit and code then probably not, though, as it's designed to cater to the hardware and firmware of the Sega wheel so will likely need to be adjusted to whatever's going on inside the MadCatz MC2 wheel. Sorry that's a bit of a non-answer, but having never seen the MadCatz wheel I can't say for certain!
@cdigames9 ай бұрын
Ben! I linked this in a discord server, and a question came up about the usage of something like this with a Palm III, what are your thoughts?
@benryves9 ай бұрын
I don't see why not, you'd need some sort of terminal software on the Palm device (e.g. "Online" by Conklin Systems) and then a way to connect the modem to the Palm device. This project is based on RetroWiFiModem and just swaps out the serial UART code with code that uses the calculator's link protocol, the original RetroWiFiModem is likely a better starting point.
@petersords64359 ай бұрын
I think the reason the resistance is lower than expected(when unpressed) is becasue the width (length of the two side conducting bands) is longer - meaniing you can model is as more resistors going across the bands in parellel and hense loweing the resitance. For a bigger dynamic range - you may want to try reducing the width (side with the bands) and increasing the length (non-conductive dimension inbetween the conductive bands)
@LV48110 ай бұрын
I'm not gonna try it because I barely use my Racing Wheel but this is a very clever improvement. Thank you so much!
@maidenmopar11 ай бұрын
Could this be used with midi drum module rather than what you're using?
@benryves11 ай бұрын
If it was USB host compatible, I don't see why not. This was just hooked up to my PC as I don't have any standalone MIDI modules. You'd probably be better off picking up something like an LPD8 instead of rolling your own, though!
@benrish109511 ай бұрын
Nice work! Your pads look really good wrt cost and tactile feel. I have been experimenting with 72MHz STM32 micro which has 3 ADCs (up to 24 inputs). The peripheral bus runs at 84MHz and supports DMA transfer. I have it working as an oscilloscope driving a Nokia 5110 phone display. It gives pretty detailed piezo sensor graphs. It should work fine with 16 pads. One thing I noticed is that on current Akai gear the pads are externally multi-plexed. I am wondering if that is necessary these days now that low cost microcontrollers offer so much configurable I/O. I have some questions about your setup. Are your pads externally multiplexed? Is it stable mechanically and wrt ambient temperature? Have you noticed any cross talk (false triggers) between the pads? Also, I see below you bought an LPD8. What do you think of it as a midi controller? Would it be possible to hack into the pads or replace the micro without destroying it? Thanks, Ben
@benryves11 ай бұрын
Hi, sorry for the delay in getting back to you! I'm using the ADMUX built into the microcontroller rather than any external multiplexer (one of the performance limitations is only being able to sample one pad at a time). I never got around to saving the calibration data for pads so don't know how stable it would be in the long term. Never had any issues with cross-talk, though! The LPD8 is fine... once you insert some plastic shims between each rubber pad and the conductive membrane (I cut mine from a plastic sandwich wrapper). By default you need to hit the pads pretty hard to register, I guess they erred on the side of caution to avoid false triggers. Quite a few videos on KZfaq show similar mods (e.g. putting electrical tape in as a shim) so it's not specific to my unit. Not sure about hackability, but as the device speaks class-compliant USB-MIDI I'd be tempted to just use a USB host microcontroller rather than start cutting PCB traces.