Emulating the DX7 the HARD way. Part 1.

Поділитися
Вставка
  • Опубліковано 26 лип 2024
  • chipresearch episode 0x07
    00:00 Intro
    02:00 Goals
    02:43 Sub CPU
    05:21 Main CPU
    06:23 Address Map Investigation
    07:59 Cartridges
    11:09 Firmware Analysis
    14:42 Skeleton MAME Driver
    18:24 End of part 1
    Get chipsynth OPS7 here plogue.com/products/chipsynth...
    Tracks used:
    GGS V - OPS7
    Apoplexia - U OPS7T M8
    madbrain - Blue Tangerine
    From the official chipsynth OPS7 launch album
    / chipsynth-ops7
    Channel intro/outro:
    Apoplexia - Vega Genesis
    From the official chipsynth MD launch album
    toycompany.bandcamp.com/album...
    Follow me / plgdavid
    Follow Hubert / mrmadbrain
    Support us by getting an OPS7 license (or gifting one to a musician friend!)
    Thank you!
  • Наука та технологія

КОМЕНТАРІ • 125

  • @mvh2275
    @mvh2275 Рік тому +8

    I just purchased the Chipsynth OPS7. This software is incredible. I have the original DX7 and my initial impression is the software just blows the thing away. You guys did an outstanding job and thank you for bringing it to the market at a reasonable/affordable price.
    My thoughts - cheers

  • @oliro
    @oliro 2 роки тому +12

    I don't think you talk too much. When I was coding I often found the solution I was looking for when someone on a UA-cam video was diverging off the subject to explain a particular pain in the a%% he had to solve, which often time he's not the only one to have to deal with it. I think details like that makes it even more useful.

  • @Aidan_Lawrence
    @Aidan_Lawrence 2 роки тому +26

    YES! What an incredible feat of reverse-engineering. Not only is your work terrific, but it’s so awesome to have a high-quality overview of the DX7’s hardware and software. It’s surprisingly difficult to even find high-quality photos of the mainboard, let alone a full dissection of the synth. In a way, it feels like this iconic synth was just properly “preserved” and I love that.
    SOOOO cool and congratulations!

    • @plgDavid
      @plgDavid  2 роки тому +3

      This reads wonderfully and brings so much joy to my heart and mind.

  • @SynaMax
    @SynaMax 2 роки тому +18

    Seeing the DX7 in MESS debugger reminds me of the little bit of debugging work I've done with the Fairlight CMI MESS/MAME skeleton driver; I hope that will get MIDI and audio functionality one day. Thank you so much for your hard work and research; I can't wait to buy OPS7!

    • @plgDavid
      @plgDavid  2 роки тому +5

      Yes I followed that (and still do) the Fairlight is another monster to emulate. Props!

  • @owenpalmer6540
    @owenpalmer6540 2 роки тому +5

    Stuck around till the end; eager for part 2

  • @Lantertronics
    @Lantertronics 2 роки тому +2

    What an amazing bit of sleuthing!

  • @beat2009
    @beat2009 2 роки тому +6

    This is amazing. Can't wait for the next part.

  • @SoundAuthor
    @SoundAuthor 2 роки тому +10

    I really admire your attention to detail here. I didn't understand much of it, but your razor-sharp focus on the modeling is really inspiring.

  • @idiotisterecords
    @idiotisterecords 2 роки тому +2

    You have no idea how much this effort means to me, I lost my TX7 and could immediately tell you nailed this!

  • @johnsaunders6510
    @johnsaunders6510 2 роки тому +2

    Thanks for the deep dive. I used to have a DX7 when they first came out and it was a wonder. Amazing it was using mostly off the shelf parts.

  • @Robert_Babicz
    @Robert_Babicz 2 роки тому +2

    so cool

  • @IRONSILVER22
    @IRONSILVER22 2 роки тому +4

    Top notch stuff, looking forward to the next installment. The extended sy-77 waveforms will be a totally sweet, especially considering that there is very little emulation for anything in the SY range. Thank you for your hard work!

    • @samplehunter
      @samplehunter 2 роки тому +1

      There was an ancient vst plugin which tried to emulate the FM core of an SY77. I think its name was VX7. I remember it was quite unfinished and still very buggy and was not further developed.

  • @ircluzar
    @ircluzar 2 роки тому +4

    awesome stuff, looking forwards to part 2

  • @iyatemu
    @iyatemu 2 роки тому +6

    >Part 1
    Oh good, it gets longer.

  • @neonvoid
    @neonvoid Рік тому

    Incredible achievement, congratulations.

  • @mikosoft
    @mikosoft 7 місяців тому

    I never knew DX7 was actually a full on computer, interesting stuff. Also I'm glad I had basic course in microprocessor design at university and I can actually understand what's going on

  • @rendragd
    @rendragd 2 роки тому +2

    Ahhh...takes me back to early eighties engineering school and my AppleII synth project...

  • @BigSneakySnake
    @BigSneakySnake 2 роки тому +1

    Thanks for the deep dive, I'm looking forward to future videos :)

  • @nookcyan
    @nookcyan 2 роки тому +2

    Awesome information, thanks a lot David!

  • @fredconte
    @fredconte 2 роки тому +2

    no words to describe your journey - fantastic content!

  • @expertmax32
    @expertmax32 2 роки тому +1

    Tout simplement génial !! J'ai bien hâte de visionner la 2ieme partie.

  • @moliver_xxii
    @moliver_xxii 2 роки тому +1

    can't wait for part 2 amazing job!

  • @jerzilla3795
    @jerzilla3795 2 роки тому

    This was awesome. Can’t wait for the next video!

  • @MintythecatIsABeast
    @MintythecatIsABeast 2 роки тому +2

    Very good to see and you've clearly done lots of detective work on the DX7. I recently got my DX7 out having got my hands on a DT7. I was in a music shop the other week and the guy int here - helpful that he was - showed me a few current day FM Synths. None of them sounded like a DX7 - all too clean and without the right character. I know the sound of a DX7 and it's entirely non-PC :D It's great to see your work in emulating and investigating these older machines. And yes, we did indeed use 138 all the time in those days :D

  • @electronash
    @electronash 2 роки тому +1

    This is neat. I love stuff like this.
    Have you done much work with the LA32 / D-50 yet?
    I did a basic register map for the LA32 a while back. I think MUNT basically does HLE for the actual synthesis part.
    I hooked up an FPGA board to the LA32 on a D-20 board, and had the FPGA output a hex dump of a small RAM block via VGA. The RAM block mirrored the register writes to the LA32, so I could see in realtime when I changed the patch parameters like ADSR etc.
    The ultimate aim would be to do a full D-50 core on FPGA, but it's quite a big project.
    I'd love to work on that again if I ever get chance, but it's a bit low on the priority list atm.
    Don't worry, btw, I think most people watching do enjoy the more in-depth nerdy details. ;)

  • @SpaceDisease
    @SpaceDisease 2 роки тому

    Wild stuff. Glad to see ppl doing the work to create a dx VST that actually sounds big and sharp!

  • @pinusniron8935
    @pinusniron8935 2 роки тому +1

    Very good

  • @PJFox-lo8pi
    @PJFox-lo8pi 2 роки тому

    Looking forward to the next part! Thanks.

  • @LenPopp
    @LenPopp 2 роки тому

    I'd love to see a part 2 video! I'm trying to figure out how to make a DX7-like module for my homebrew synth, and this is good info.

  • @midierror
    @midierror 2 роки тому +4

    Amazing work David, love this! My mind boggles at how deep you go into this stuff, your dedication is really inspiring and the results sound frikkin awesome!

    • @plgDavid
      @plgDavid  2 роки тому +3

      Thank you so much! Part curiosity, part obsession, part challenge.

  • @francoisbasquin6974
    @francoisbasquin6974 2 роки тому

    Je fais partie des 5 qui sont restés jusqu'à la fin, et j'attends avec impatience le prochain épisode! 😁 Merci David

  • @juno6
    @juno6 2 роки тому +1

    Very interesting data!!!

  • @jameshagerman
    @jameshagerman 2 роки тому +2

    Ack!! You were just getting into the good bits! I've got an Ensoniq VFX and ESQ-1 and am working through understanding the existing MAME emulations. Knowing more about how you performed RE on the DX7 chips is super interesting! Keep up the good work!

    • @plgDavid
      @plgDavid  2 роки тому +3

      I should eventually finish part2. It takes a lot of time.

  • @patto2k358
    @patto2k358 2 роки тому

    Thank you for sharing!

  • @synchromesh
    @synchromesh 2 роки тому

    Subscribed! Great stuff, I'd love to see you go through your Vectrex as well. :)

  • @WARDISWARD
    @WARDISWARD 2 роки тому +1

    Plogue is to chip emulation as u-he ,cytomic and softube are to analog emulation
    These are the big boys !!

  • @BaumInventions
    @BaumInventions 2 роки тому +6

    Wow. That is really cool to see... I am reverse engineering a Alesis 90s Drumcomputer at the moment... Not to deep... just to understand the way patches and samples and the Hardware is controlled... I found hardware access to the ports in the code and was wondering how always 3 bits got frequently controlled in the same way but not the rest. i took apart everything and found out that the 3 bits control the 3 datalines going to a 74HC138 ...And that chip is controlling with 3 inputs all the chip select of each perepherial like Display etc. Basically the same you found out at 7:05 ... I guess they are all just cooking with water :D

    • @plgDavid
      @plgDavid  2 роки тому +3

      Ha great stuff. yes 74*138 and 139 are the bread and butter of 80's computer/arcade design!

  • @chrisliddiard725
    @chrisliddiard725 2 роки тому

    Facinating ... I hadn't heard of IDA your reverse engineering tool, so that alone was worth the ticket. Maybe a dedicated video on how that works might be in order. Thanks for sharing.

  • @euglossine4ever
    @euglossine4ever 2 роки тому

    This is amazing

  • @ArtemioUrbina
    @ArtemioUrbina 2 роки тому +2

    Thanks for making this, I wish you wouldn't limit yourself and made this 1 or two hour long =)

    • @plgDavid
      @plgDavid  2 роки тому

      Its hard to find the right level of complexity. I know that I could go much deeper and many of you would enjoy it still. Haha

    • @ArtemioUrbina
      @ArtemioUrbina 2 роки тому

      @@plgDavid indeed, but this is great as a taste for many not familiar with a lot of what's involved and a good taste for those who do. Thanks for making it

    • @TreyMotes
      @TreyMotes 2 роки тому

      @@plgDavid I think going mega long is perfectly acceptable on your personal channel. The shorter stuff is fine for the main Plogue channel.

  • @Bianchi77
    @Bianchi77 2 роки тому

    Nice video, thanks:)

  • @corri303
    @corri303 2 роки тому

    awesome stuff

  • @OllyWoo
    @OllyWoo 2 роки тому +2

    This is amazing, David, I basically spent most of my life trying to build my own DX7 😜 I got as far as writing the firmware of the TX81Z for a 32 bit Arduino using a Chinese YM2151 and YM2414B. I was going to use my analyzer on the TX81Z to find out the undocumented codes of the latter chip but thankfully someone in Japan had already reengineered the firmware. Can't wait for part 2 😀

    • @plgDavid
      @plgDavid  2 роки тому +1

      Fun right? I go both straight recycled and remarked YM2151 and YM2414B from China too (I have a video on that). We have our own reverse engineering of the DX100 and TX81Z firmware. Maybe one day we will make something with that ;)

    • @OllyWoo
      @OllyWoo 2 роки тому

      @@plgDavid that would be amazing. Also, I did watch your fake chip video, and indeed some of my chips seem legit and some have the same factory date and are too smooth 😉 I always thought they were cloning the chips not recycling them. Hoped you were making a hardware rebuild tbh, I think there is a market for a small desktop module as well. For now, I got myself a TX802 earlier this year 😜

    • @plgDavid
      @plgDavid  2 роки тому +2

      @@OllyWoo I have various hardware FM synth prototypes and possible partnerships. Time will tell

  • @rm-studios
    @rm-studios Рік тому

    You’re a damn genius, sir!

    • @plgDavid
      @plgDavid  Рік тому +1

      Thanks but not really, just very very obsessive haha

  • @samplehunter
    @samplehunter 2 роки тому

    Now I'm excited to see the upcoming Parts. Ever wondered why they needed two chips and if these 32 algorithms were hard coded or if the OPS could do custom algorithms.

    • @plgDavid
      @plgDavid  2 роки тому

      Algs are indeed hardcoded in the silicon gates

  • @nrdesign1991
    @nrdesign1991 2 роки тому +3

    I've had my fair share of playing the DX 7, both a real unit and Dexed. It's a very versatile synth if you respect its limits.

  • @Algoritmarte
    @Algoritmarte 2 роки тому

    Simply i.m.p.r.e.s.s.i.v .e. !!!

  • @Lantertronics
    @Lantertronics 2 роки тому

    I'm still here! :)

  • @martingerken7094
    @martingerken7094 2 роки тому +1

    Thanks for all the nerdy details. I was please to see some of my hobbies move nearer to each other: calssical video game emulation and synth! I'd be happy if you'd give some details of how DEXED works...

    • @plgDavid
      @plgDavid  2 роки тому +1

      Thanks! But I havent looked at the DEXED code at all. This is 100% independent research

    • @martingerken7094
      @martingerken7094 2 роки тому

      @@plgDavid ok, thanks. Can anyone else point to the technical background of Dexed?

  • @pwmodulation467
    @pwmodulation467 6 місяців тому

    David this video is incredible, do you plan to release Part 2 anytime soon where you explore the EGS and the OPS?

    • @plgDavid
      @plgDavid  6 місяців тому

      Thanks. I learned my lesson not to ever say a part 2 is coming. It would be a month of work more or less. And I’m incredibly busy with out new products :/

  • @MrOuija-rr8kq
    @MrOuija-rr8kq 2 роки тому

    Synthesizers get ‘Nam flashbacks when they hear NIN

  • @HenriDeCarvalho
    @HenriDeCarvalho 2 роки тому

    @ 15:00... Arturia, Novation, Ableton, Spectrasonics, Roland, IT ingenier' s

    • @HenriDeCarvalho
      @HenriDeCarvalho 2 роки тому

      Just joking, not into the game but always interristing to understand how it works

  • @lundsweden
    @lundsweden 3 місяці тому +1

    The DX7 is the one we all remember, but didn't the DX9 (cut down 4 OP) the DX1 (mega expensive version with massive case, better UI and weighted keyboard) and DX5 all released in 1983, and all worked pretty much the same way?

    • @plgDavid
      @plgDavid  3 місяці тому +1

      Yes, though the DX9 is voluntarily down powered

    • @lundsweden
      @lundsweden 3 місяці тому +1

      @@plgDavid Do you mean it has the same chips as a DX7, but is intentionally "feature reduced" by Yamaha?

    • @plgDavid
      @plgDavid  3 місяці тому +1

      @@lundsweden precisely. Want to make a short on that. Might do it soon

  • @spectralknights2
    @spectralknights2 2 роки тому +1

    Nice. Thanks for making this. I hope u also make ensoniq SQ80, even though arturia made it recently

    • @spectralknights2
      @spectralknights2 2 роки тому +2

      I just love the sound of it's 8bit wavetable and not too many emulation out there.

    • @jackcimino8822
      @jackcimino8822 2 роки тому

      I rather have DW8000. Sounds so crisp and can mimic many synths of its time.

    • @jackcimino8822
      @jackcimino8822 Рік тому

      @@chinossynthesizer705 What do that have to do with what I said? Plogue is making a SID chip emulation, as well as a Famicom and TX81Z synth.

    • @chinossynthesizer705
      @chinossynthesizer705 Рік тому

      @@jackcimino8822 korg dw8000 is overrated 😴

    • @jackcimino8822
      @jackcimino8822 Рік тому

      @@chinossynthesizer705 Nope, you are! Aside from the lack of PWM, the DW8k and its successor, DSS-1 are underappreciated. You can mimic PWM on the DSS-1 using the modulation delay as a flanger

  • @mechatomb2921
    @mechatomb2921 2 роки тому +1

    Gonna eat up this series and get some C/C++ Knowledge down lmao.
    DX7 was something I hated bc of the presets, but once I got into FM synthesis I had a newfound respect for the synth architecture and the lo-fi dacs.
    One thing that makes FM shine is modulating it in real time. WIth Dexed it's super easy with automations. With the Digitone (only 4op.) you get into some wild territory thanks to the ready access to live tweaking in the sequencer.
    Stuff like AdLib Tracker, RADTracker, DefleMask, M8 Tracker (Headless or the hardware version), DAFM, MEGAFM, etc. really give you more ability to push them to the max.

  • @isaacanthonydj4124
    @isaacanthonydj4124 2 роки тому

    you can plug your iPhone into the newer Roland synthesizers, and use them to control DEXED on it's own channel on your synthesizer. It's pretty slick...

  • @lifescansdarkly
    @lifescansdarkly 2 роки тому

    Thank you so much for your dedication to recreating this classic with all its idiosyncrasies! Two questions for you:
    1: In some OPS7 comparisons I've heard, the hardware DX7 had a slightly sharper sound. This could be down to differences in reference hardware, but I'm wondering if it might be due to velocity mapping. I know the DX7 keybed can only output up to 100 velocity, vs. modern keybeds which output up to 127. Would you recommend remapping or limiting the velocity info we're sending to OPS7 for maximum authenticity?
    2: I'd like to use OPS7 to recreate a TX816 in the box. When you're changing master tune on each of the TX modules, you have a range of +/- 64, with each step corresponding to about 1.2 cents (technically 1.171875 cents, but who's counting). Does OPS7 allow us to change master tune in fractions of a cent? And/or can you use the TX mode of changing tune in 1.2 cent increments? This is getting into the realm of the *super* nitpicky but I have such great memories of that lush sound and would love to be able to recreate it perfectly.

    • @plgDavid
      @plgDavid  2 роки тому

      hey so
      1) Its a convoluted topic for sure with many variables. OPS7's Firmware Behavior settings include Velocity mode where you can choose the velocity calcs made by the original keyboard when receiving external MIDI OR when hitting the keys - and it IS possible to get values higher than 100 if you whack it dangerously. Thats just how the sub cpu and main cpu does it that could have been better.
      2)There are about 5 million settings you can tweak for pitch/tuning in OPS7. We didnt want to limit ourselves to just the firmware precision but to the EGS/OPS precision there. SO you can not only use the same MASTER TUNING knob of a real DX7, but also retune using MTS-ESP or Scala scales or a combination of all.

    • @plgDavid
      @plgDavid  2 роки тому

      If you want to emulate subtle detune between virtual TF1 units (of a TX816/TX216), better to load multiple instances and adjust to taste.

    • @lifescansdarkly
      @lifescansdarkly 2 роки тому

      @@plgDavid Amazing, thank you for your response! I'll be purchasing the synth this weekend, looking forward to diving in.

    • @lifescansdarkly
      @lifescansdarkly 2 роки тому

      @@plgDavid I've been playing with the VST today, and I really have to commend you on your work here. It's done what all the other DX emulations have failed to do, capturing that digital edge and fuzz that was the hallmark of the sound. I stacked up 8 instances to create a TX816 and compared it to some recordings of the hardware unit I used to own, and it's pretty much indistinguishable. Thank you!

  • @MauricioPiomboChanel
    @MauricioPiomboChanel 2 роки тому

    Come on!!!

  • @fkthewhat
    @fkthewhat 2 роки тому +1

    Would love to know how to use this knowledge to make a midi controller for the DX7 (with the ability to edit parameters on the fly without notes being cut off etc)

    • @plgDavid
      @plgDavid  2 роки тому +1

      That only happens if you send a full patch to the DX7. Individual single param sysex do not interrupt voices.

    • @anonymous_friend
      @anonymous_friend Рік тому

      @@plgDavid So this can be done? Have you tried to use patch base to design a touch pad midi controller for a dx7?

    • @plgDavid
      @plgDavid  Рік тому

      @@anonymous_friend afraid not

  • @ArtFluids
    @ArtFluids 2 роки тому

    Could all this FM chip research be used to make a super-accurate Adlib/OPL3 General MIDI plugin? Some way for us to play back old DOS game MIDI files with extreme accuracy?

    • @plgDavid
      @plgDavid  2 роки тому +2

      chipsynth PortaFM already plays OPL3 vgms, so yeah _technically_ we have bit accurate cores that could do that.

    • @ArtFluids
      @ArtFluids 2 роки тому

      @@plgDavid I guess someone would just have to dump the General MIDI programs/patches from the old Adlib board. I have no idea where to look for that. I mean, software like DOSBox must have those patches in there somewhere.

  • @TechM3X
    @TechM3X 2 роки тому

    It would be cool if you could include the option to emulate 24 bit D/A Converters in addition to add the additional chip emulation required to power the Yamaha DX5

    • @plgDavid
      @plgDavid  2 роки тому +2

      Technically the DX5 is not that far off from OPS7, like the DX5 we have two sets of EGS/OPS pairs (in A and B banks). The core maths do not have more precision than 15bits however. So DX7II got the max out of those maths.

  • @alex-esc
    @alex-esc 2 роки тому

    1:49 the licc

    • @plgDavid
      @plgDavid  2 роки тому +2

      One of the tracks on MD's compilation ended with this, I thought it was a fun tongue in cheek thing to use for the splash. Being doing that ever since. Also fan of @Adam Neely

  • @eobet
    @eobet 7 місяців тому

    Stumbled upon this so I’ll ask here as well… any plans for CLAP and MPE support?

    • @plgDavid
      @plgDavid  7 місяців тому +1

      MPE has been there since day one. CLAP is in beta in our forums. Regards

  • @arxaaron
    @arxaaron 2 роки тому

    Has part II ever materialized?? (not finding on search)

    • @plgDavid
      @plgDavid  2 роки тому

      No. Making part I kind of burnt me out. Not sure when it will be finished.

    • @arxaaron
      @arxaaron 2 роки тому

      @@plgDavid Understood... and understandable. The level of reverse engineering you are doing is awe inspiring.
      (: I know just enough of the tech to hang in an ride out the whole video.. :). I have a DX21 myself and assume that most of the DX7 tech is also applied in scaled down form there. I'm (very slowly) working on developing MPE instruments that could utilize your synth engines, so I'll be following your progress.

  • @acreil
    @acreil 2 роки тому

    Now do the GS-1. And the ELX-1.

    • @plgDavid
      @plgDavid  2 роки тому

      I'll answer the other comment in the company channel.

  • @bhamadicharef
    @bhamadicharef Рік тому

    Any hints where is "Emulating the DX7 the HARD way. Part 2" ?! 🙂

    • @plgDavid
      @plgDavid  Рік тому

      Making part one (and the synth itself) burned me quite a lot and needed a break. I have half of part 2 shot, but there is a whole lot of work to be done and my time is requested on the next synth a lot

    • @bhamadicharef
      @bhamadicharef Рік тому

      @@plgDavid what are the Mame modules you contributed ? Cannot find David searching github

  • @6581punk
    @6581punk 2 роки тому +1

    I thought being as techy as you are there would be Linux versions of your VSTs.

    • @tssf
      @tssf 2 роки тому +4

      Why stretch the resources of a company so thin to support a platform less than a low percentage of your customer base would actually use? That's like lower priority than supporting a niche feature that no one would use in the product

    • @TreyMotes
      @TreyMotes 2 роки тому +2

      @@tssf You are right, but there is one reason Linux support would be great. The potential to run the plugin on something like a Raspberry Pi and create a clean nice DX7 solution when paired with a cheap MIDI controller.

    • @tssf
      @tssf 2 роки тому

      @@TreyMotes can't argue with that, that would be really cool. I know David is making a neat portable synth in a cartridge for Famicom, wonder if dx7 will be in it too?
      But yeah no doubt it'd be awesome to have a portable version of the entire chipsynth suite and maybe put it into a tiny little dx7 clone or something

    • @tssf
      @tssf 2 роки тому

      But ARM Linux is even more niche than Linux ;)

    • @plgDavid
      @plgDavid  2 роки тому +3

      @@TreyMotes Hey. Making a Linux version just to eventually port to ARM hardware is not necessary here. All our chipsynth cores already run fine on a STM32H7. I made all those examples on my twitter earlier this summer. The issue with Linux is the variety of distros and UI toolkits. We have our own custom UI classes and would want to do the same on Linux and its an pretty significant endeavor. I would rather do hardware tbh.

  • @eliasknaapinen
    @eliasknaapinen 2 роки тому

    The content of this video is incredible, but next time please no background music. It just distracts from the content it self.

    • @plgDavid
      @plgDavid  2 роки тому

      Interesting others have complained of the opposite on some of my older vids

  • @pepinillosazucarados6743
    @pepinillosazucarados6743 2 роки тому

    FOR ME THE BEST EMULATION ON SOFTWARE IS THE ARTURIA DX7

  • @albionpatterns3986
    @albionpatterns3986 2 роки тому

    How to waste your life away... Dude unplug your damn toys and GO OUTSIDE

    • @plgDavid
      @plgDavid  2 роки тому +5

      😂

    • @anonymous_friend
      @anonymous_friend Рік тому

      We need more people like him. A lot of people have no usable skills.