Arduino Emulates a Commodore 64!

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ย. 2024

ความคิดเห็น • 197

  • @adriansdigitalbasement
    @adriansdigitalbasement 2 ปีที่แล้ว +98

    This was just amazing. So cool to see!! Awesome work I’ll need to give this a try!

    • @thealienontheinternet
      @thealienontheinternet 2 ปีที่แล้ว +7

      Hi Adrian! If you ever do, please consider making a video about it as well :)

    • @EdwinNoorlander
      @EdwinNoorlander 2 ปีที่แล้ว

      @@thealienontheinternet That is a good idee

    • @Eon119
      @Eon119 2 ปีที่แล้ว

      Adrian, this is definitely right up your street ❤

  • @ZacCrawforth
    @ZacCrawforth 2 ปีที่แล้ว +14

    I can't believe that's possible! Amazing! Thanks for showing this off.

  • @MarcelVeldhuizen
    @MarcelVeldhuizen 2 ปีที่แล้ว +3

    I also like the way you hooked up the power supply with the wire bridge on the breadboard. Thanks for this tip.

  • @dejanjet2269
    @dejanjet2269 2 ปีที่แล้ว +4

    I want to congratulate you on this excellent video
    I am proud that channel topic like this can initiate so many smart people to react and response... you have them all ;)
    Thank you and good luck !

  • @trainliker100
    @trainliker100 2 ปีที่แล้ว +6

    The Commodore 64 was handy for ALL sorts of things. One of the most amusing I discovered was in one of the typical "Computer Stores" back in the 1980's that sold IBM PC's and such. They had a Kiosk with a video display and some big buttons you push and it would give you varioius IBM PC sales pitches. I wondered what they were using and opened the door at the front of the cabinet bottom. This IBM PC sales display had a big laser disk controlled by (drumroll please) a Commodore 64.

  • @RobCai74
    @RobCai74 2 ปีที่แล้ว +9

    Great job! I just tried and it works like a charm! I would like to port it on an ESP32, may be it is even possible to add a storage on a micro SD... you got my subscription!

  • @The_Real_Grand_Nagus
    @The_Real_Grand_Nagus 4 หลายเดือนก่อน

    This is amazing. Thanks so much for sharing this--I would never have found it.

  • @fcf8269
    @fcf8269 10 หลายเดือนก่อน +3

    That interrupt on the video brings me back to the time of the ZX80 :D

  • @rockyhill3
    @rockyhill3 2 ปีที่แล้ว +2

    As always, a short and clear video where all of the content is interesting and useful. Very nice!

  • @phlynniii
    @phlynniii 2 ปีที่แล้ว +1

    Thank you soooo much. Well this project give us a start of dreaming to go further

  • @BillyEilish
    @BillyEilish 2 ปีที่แล้ว +2

    Great video!! Thank you for sharing this great experience with us.

  • @davidstonier-gibson5852
    @davidstonier-gibson5852 2 ปีที่แล้ว +7

    Pretty impressive seeing an 8 bit MCU emulating an 8 bit microprocessor with a sensible performance. Especially as most of its time is spent spitting out composite video.

  • @BenHeckHacks
    @BenHeckHacks 2 ปีที่แล้ว +1

    Wow, awesome work! Maybe try the Arduino Zero next? Way more RAM plus DMA which would save you a lot of time drawing the screen.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Right, almost every microcontroller can do this faster and better than an Arduino. I think it´s no big deal to port this to other MCUs, too.

  • @danielmantione
    @danielmantione 2 ปีที่แล้ว +2

    Nice demonstration how to generate video signals using an Arduino!

  • @HamsterSnr
    @HamsterSnr 2 ปีที่แล้ว +1

    Nice job, even did the graphics under Software control, 👍👍👍

  • @janhofmeier9427
    @janhofmeier9427 2 ปีที่แล้ว +27

    Impressive. I would love to see that on an ESP32. There you have enough SRAM and the second core or maybe even the ULP core could handle the composite signal

    • @Stabby666
      @Stabby666 2 ปีที่แล้ว +4

      The ESP could easily do it - it's already been used to run arcade emulators that used the 6502 and the Z80 CPUs (e.g. NES emulation)

    • @donaldklopper
      @donaldklopper 2 ปีที่แล้ว +1

      It seems that the ESP32 clock speed should be around 10 times that of the arduino at 160MHz. That means maybe emulating at the same or faster effective speed as compared to the original 6502

    • @Zetor42
      @Zetor42 2 ปีที่แล้ว +4

      Check out the Odroid Go, it's an ESP32 in a Gameboy-like case. It can emulate a c64, and some other 8bit stuff.

    • @Recovered
      @Recovered 2 ปีที่แล้ว

      The ulp runs at 8mhz, but the instructions gobble many cycles each, as far as I know interrupts aren't supported but it might run as a continuously timed scan, which I'd be interested to find out more

  • @TheDiveO
    @TheDiveO 2 ปีที่แล้ว +2

    The revenge of the ZX80 video circuitry on Commodore, channelled by Arduino.

  • @rene0
    @rene0 2 ปีที่แล้ว +1

    Commodore fan enjoys ZX80 typing experience.

  • @JustWasted3HoursHere
    @JustWasted3HoursHere 2 ปีที่แล้ว +16

    The glitches when typing on the keyboard remind me of the Sinclair ZX80 and 81 which did similar things when typing (and for similar reasons!). Interestingly, the Raspberry Pi Foundation's Pico board (similar to the Arduino in its main function, but with more RAM and speed, but only about $4!) can do emulation surprisingly well. For example, here's NES and Gameboy: th-cam.com/video/FB4kOBt8ARo/w-d-xo.html and BBC Micro: th-cam.com/video/WaPJmCgseQw/w-d-xo.html

  • @NilsRetroHobbyRoom
    @NilsRetroHobbyRoom 2 ปีที่แล้ว +1

    Really cool project :-) Looking forward to try it out on my own :-) !

  • @mrysSOFTWARE
    @mrysSOFTWARE 2 ปีที่แล้ว +2

    Fantastic!!!!

  • @JosipRetroBits
    @JosipRetroBits 2 ปีที่แล้ว +1

    Truly amazing, great video.

  • @omarsilva924
    @omarsilva924 2 ปีที่แล้ว +1

    Impressive. Well done!

  • @TheKetsa
    @TheKetsa 2 ปีที่แล้ว +5

    Should be ported on ESP32 ASAP.

  • @EdwinNoorlander
    @EdwinNoorlander 2 ปีที่แล้ว +1

    NIce, if I only had time

  • @VenturiLife
    @VenturiLife 2 ปีที่แล้ว

    That's awesome! Subbed.

  • @telemedic2000
    @telemedic2000 2 ปีที่แล้ว

    What a fantastic video. Loved it. Thankyou

  • @misterevil906
    @misterevil906 2 ปีที่แล้ว

    Wohooowwwww. Great Work. Amazing Masterpiece. Great!

  • @jameskidd7906
    @jameskidd7906 2 ปีที่แล้ว +1

    Ammazing!

  • @larsandersen5505
    @larsandersen5505 2 ปีที่แล้ว

    Super cool project! Well done!

  • @FritsvanDoorn
    @FritsvanDoorn 2 ปีที่แล้ว +1

    Fun. I like.

  •  2 ปีที่แล้ว +1

    Really great job! It is fantastic that these days is possible to take 3$ board and experiment and simulate / emulate devices which costs month salary before yr 2000.

    • @jnharton
      @jnharton 9 หลายเดือนก่อน

      That said, the original 6502 CPUs ran at ~1 MHz and early home computers used DRAM memory (early ram design, pretty slow and the contents must he routinely refreshed). And the ROMs were directly accessible because they occupied the main memory space.
      So even a "simple" atmega 328 is quite powerful by comparison.
      Most Arduinos (and compatible boards) using an 8-bit AVR design run at the full 16 MHz the chip is rated for and the 328 has 2K of on-board SRAM (fast and doesn't need refreshing) as well as 32K of flash memory for the program binary. In addition, being a Harvard Architecture, the program and data memory are on entirely separate buses and therefore accesses are probably faster.

  • @llq1999
    @llq1999 2 ปีที่แล้ว +1

    good job

  • @dennisdecoene
    @dennisdecoene 2 ปีที่แล้ว

    Flabbergasted. That this is even remotely possible didn't even cross my mind. It's like art. 'i could have painted white on white' 'but you didn't'

  • @e8root
    @e8root 2 ปีที่แล้ว +1

    This keyboard interrupting screen looks very similar to Sinclair ZX80 but there anything CPU did caused screen to go bonkers and not only key presses. In any way this is pretty cool idea and execution is flawless.

  • @odethebear
    @odethebear 2 ปีที่แล้ว

    Cool stuff. Brings back memories.....

  • @steinheilig7926
    @steinheilig7926 2 ปีที่แล้ว

    I love it! What a fun project.

  • @AK-vx4dy
    @AK-vx4dy 2 ปีที่แล้ว +1

    Amazing.
    You can look to ZX81 - there CPU also displayed screen but it has two modes FAST and SLOW in FAST screen flickered when typing but in SLOW not.
    I don't remeber exactly, but i think other code than display was execeuted only in horizontal and vertical return time for SLOW mode and there was not flickering.
    or other words other interruputs was only enabled then.

  • @rondlh20
    @rondlh20 11 หลายเดือนก่อน +1

    Very nice... next use a STM32Fxxx

  • @fahrizalu
    @fahrizalu 2 ปีที่แล้ว +1

    Squeezing C64 memory into EEPROM. that new to me

  • @DAVIDGREGORYKERR
    @DAVIDGREGORYKERR 2 ปีที่แล้ว +1

    An UDOO RYZEN Bolt V1000 Maker Board SBC with built in ARDUINO functionality might be the way to go.

  • @georgestheking1
    @georgestheking1 2 ปีที่แล้ว

    A version for the PI PICO will be so nice

    • @Orionrobots
      @Orionrobots 2 ปีที่แล้ว

      The PICO has more RAM, runs at 133Mhz and should be able to delegate all that interrupt shift register stuff to PIO, so would probably make a far better emulator.

  • @CobraTheSpacePirate
    @CobraTheSpacePirate 5 หลายเดือนก่อน +1

    I wonder what could be achieved with an Arduino DUE?

  • @lis6502
    @lis6502 2 ปีที่แล้ว

    probably most amazing video that i've watched this year, and i am writing this comment in december ;d
    i can't tell if cpu emulation was neatest or adding PS/2 keyboard support working in same way as on this ZX80 thingie, stealing video out interrupt time to service keyboard routine :D
    lovely!

  • @declanmcardle
    @declanmcardle 2 ปีที่แล้ว

    @7.00 what's the music? Gribbley's Day out or something by Rob Hubbard?

  • @paulkirchhof9546
    @paulkirchhof9546 2 ปีที่แล้ว +1

    Take for emulation the C64 a ESP32. You can interpret basic programs from flash memory and the Speed is.spectacularly

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Should not be too difficult to port this to an ESP32. The real challenge is however to squeeze every bit of power out of the Atmega.

    • @paulkirchhof9546
      @paulkirchhof9546 2 ปีที่แล้ว

      @@DoctorVolt , I believe there are solutions to emulate a 6502 with VGA output and PS2 input. A C64 is not far away.

  • @intron9
    @intron9 2 ปีที่แล้ว +6

    I think you could compress the roms , and use the saved flash as ram (many microcontrollers can modify their flash, but it may come with a speed cost)

  • @StefanHolmes
    @StefanHolmes 2 ปีที่แล้ว +1

    Very clever! It will be interesting to see at which date in the future we will be able to use an Arduino or similar device with the same form factor and power consumption, but it will have enough power (and RAM) to fully emulate the C64

  • @kermitinmountain6371
    @kermitinmountain6371 2 ปีที่แล้ว +2

    I remember the commodore64 back in the 90's bought it from garage sale. It was popular in the early 80's.

  • @terrystearns1196
    @terrystearns1196 2 ปีที่แล้ว +2

    Love it....

  • @laurencevanhelsuwe3052
    @laurencevanhelsuwe3052 2 ปีที่แล้ว

    For the rest of your life, you don't need to do anything to deserve more cool credits. So cool.

  • @NetworkXIII
    @NetworkXIII 2 ปีที่แล้ว

    Cue the haters .. anyway, this looks like a neat project, can’t wait to try it this week. Thank you for sharing.

  • @absmustang
    @absmustang 2 ปีที่แล้ว

    In my book, people with your skills should be the ones driving those cars.

  • @eshgholah
    @eshgholah 2 ปีที่แล้ว

    The voice reminds me of a robot talking in one of those old movies.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +2

      Maybe that's due to the fact that I am not a native speaker and read from script. But anyway, I think that an old movie robot voice fits well to an 80's computer video.

  • @falkaseltza
    @falkaseltza 2 ปีที่แล้ว

    Interessant.

  • @perseverance8
    @perseverance8 2 ปีที่แล้ว

    The C64DTV is based on an ASIC single chip implementation of the Commodore 64 with enhancements, it does NOT use emulation the C64’s chips are implemented in the C64DTV’s ASIC chip.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Sure, there are many ways to emulate a C64. But in case of an ASIC I would not say emulation.

  • @z1ph0n3
    @z1ph0n3 2 ปีที่แล้ว +4

    I think a better one could be done on an ESP32 .. please do :D

  • @مقاطعمترجمة-ش8ث
    @مقاطعمترجمة-ش8ث 2 ปีที่แล้ว +1

    I like that old TV, you made love all these retro devices.

  • @AaronBond007
    @AaronBond007 2 ปีที่แล้ว

    Amazing job!

  • @philippeloisseau5457
    @philippeloisseau5457 2 ปีที่แล้ว

    Very good job !

  • @RobinsonTechnologies
    @RobinsonTechnologies 2 ปีที่แล้ว +1

    Wow

  • @Batman-mj9sn
    @Batman-mj9sn 2 ปีที่แล้ว

    Hi Guy! Thank you and so good...
    Only, There is an error in what you say at the minute 4:20.
    What you show there, is the video signal of a SINGLE HORIZONTAL LINE
    of an image. In a CRT screen, the electron beam paint
    the ENTIRE screen 50 TIMES PER SECOND, and EACH TIME it
    traces 625 LINES! So, on balance, it runs through a SINGLE LINE
    of screen in only 64 MICROseconds (and not 64 MILLIseconds,
    as you said) which is 1000 times faster.
    Bye!

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      I know, but it is no more possible to change

  • @collinvisser7108
    @collinvisser7108 2 ปีที่แล้ว +1

    very cool

  • @xlar54
    @xlar54 2 ปีที่แล้ว +1

    Im curious... since you can emulate the 6510 and the arduino has various GPIO pins... would it be possible to use the 6510 emulation (without basic and all the other stuff) as a drop in replacement for a real 6510 cpu. it runs at 16mhz, so perhaps its doable

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +2

      Yes. An Arduino Mega has enough ports to emulate all the pins of a 6510

    • @xlar54
      @xlar54 2 ปีที่แล้ว

      @@DoctorVolt Thats quite interesting. Imagine a 64 developed and running on just emulated chips. Although accessing external memory (another emulated series of chips) might be slow

    • @microcorelabs7698
      @microcorelabs7698 2 ปีที่แล้ว +1

      I did this with a Teensy on the MicroCore Labs MCL64

  • @pcuser80
    @pcuser80 2 ปีที่แล้ว +1

    Typing is just like on a ZX80, no screen update while in the keyboard handler...

  • @ludoelsa
    @ludoelsa 7 หลายเดือนก่อน

    Impressive work.
    Wouldn't it be possible to link Arduino together to increase the calculation capabilities?

    • @DoctorVolt
      @DoctorVolt  7 หลายเดือนก่อน

      Sure, you could use one Arduino to emulate the processor, and a second one for video signal generation. And maybe even a third one for sound.

  • @HamsterSnr
    @HamsterSnr 2 ปีที่แล้ว +1

    A question, for the keyboard mapping, how did you translate from the serial protocol. Or how did you map the keyboard into the VIC/C64 OS.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +1

      I explain in this video: th-cam.com/video/F1rKhW-UAfM/w-d-xo.html

    • @thek3743
      @thek3743 11 หลายเดือนก่อน

      Why is this video not available?

  • @SalihArtAndTech
    @SalihArtAndTech 2 ปีที่แล้ว

    Wow. Amazing. 👍👍👍

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 8 หลายเดือนก่อน

    I LOVE MY C64 ❤❤❤ FOREVER ❤❤❤

  • @pickoftheglitter
    @pickoftheglitter 2 ปีที่แล้ว

    Suggestion: why not to make a similar project for PET? You already have the code for 40 columns, it should be just a matter to remap the ROM images...? Since you know perfectly the code you wrote, should be an easy task for you, I suppose...

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Yes, in fact this can emulate any Commodore computer with a 6502 or 6510. But I think that a video where I emulate other computers does not make much sense, because this works similar and it might become boring if I tell the same things in every video.

    • @pickoftheglitter
      @pickoftheglitter 2 ปีที่แล้ว

      @@DoctorVolt I understand and agree with your point of view. However there's a big plus, making a PET emulator: you can use it to build a working mini-PET clone (the first PET was sold with just 4kB RAM), using a 3D printer for the case. AFAIK this was done using a Raspberry, but never using an Arduino - that would be a great project, also because it's a 3$ hardware instead of 40$.
      BTW I tried to replace the ROM images, but of course it didn't work :,-(

  • @pickoftheglitter
    @pickoftheglitter 2 ปีที่แล้ว

    A little OT question: how did you compile the VIC-20 sketch? I got this error and I don't know how to fix it...
    cpu.c:64:1: error: unknown type name 'prog_uchar'
    cpu.c:64:12: error: size of array 'BIOS' is too large
    exit status 1
    unknown type name 'prog_uchar'

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Rename it to uint8_t and it will compile.

    • @pickoftheglitter
      @pickoftheglitter 2 ปีที่แล้ว +1

      @@DoctorVolt thank you! I changed as "const uint8_t " and it compiled... however, as you told, it doesn't work (while yours, for C64, works perfectly!)
      Would you make a video (or at least leave here some info) about how to fix this problem for the VIC-20 project?

  • @EdwinNoorlander
    @EdwinNoorlander 2 ปีที่แล้ว

    Maybe you can make a cartridge bus as wel.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      This makes no sense here, because the Arduino here emulates only a subset of a real C64

  • @that_duck_over_there
    @that_duck_over_there 2 ปีที่แล้ว

    With a raspberry pi pico you probably could emulate a full c64

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +1

      Maybe I'll give it a try 🙂

  • @noureddinebenakrim5458
    @noureddinebenakrim5458 2 ปีที่แล้ว +2

    I think it is better to add another microcontroller for the keyboard instead of using interrupt

  • @andreaseversberg
    @andreaseversberg 2 ปีที่แล้ว

    Awesome!

  • @manobit
    @manobit 2 ปีที่แล้ว +1

    Wow... I never imagine that Arduino can emulate an 8bit computer!!

    • @TalpaDK
      @TalpaDK 2 ปีที่แล้ว +1

      Well actually the Adruino can't emulate an 8bit computer (not an C64 anyway) its not even close to emulating a C64.

    • @jnharton
      @jnharton 9 หลายเดือนก่อน

      @@TalpaDKI'm pretty sure this video directly contradicts your assertion, at least to some extent. An arduino can easily emulate the 6502 cpu, some ram, run BASIC, and do composite video output.
      The C64 can do quite a lot more, but to really exercise the hardware requires assembly programming and knowledge on how to make the best use of the dedicated video and sound chips.
      --------
      Technically the Arduino IS an 8-bit computer since it has an internal CPU, RAM, Storage, and I/O facilities.

  • @5t0rZ0
    @5t0rZ0 หลายเดือนก่อน

    I tried it out. Amazing job! It's great, but when I wire up the keyboard, the screen lags A LOT, and the keyboard doesn't work.. Can you help me troubleshoot this?

    • @DoctorVolt
      @DoctorVolt  หลายเดือนก่อน

      Maybe you have connected it the wrong way or it does just not support PS/2.

    • @5t0rZ0
      @5t0rZ0 หลายเดือนก่อน

      @@DoctorVolt Hello. I sent you an email, may you answer please? Thanks.

  • @lasergrbl
    @lasergrbl 2 ปีที่แล้ว +1

    Wow!

  • @diakritika
    @diakritika 2 ปีที่แล้ว

    What about the user interface (input/output pins), is it functional? Can I control LEDs etc. with it?

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +1

      Not in the current state, but this can be implemented in the Arduino program.

  • @pickoftheglitter
    @pickoftheglitter 2 ปีที่แล้ว

    Really amazing!!!!
    What about to use an Arduino Due, that should have everything needed (Flash, RAM and SDcard support) to get closer to a 100% emulation? Do you thinkg is it possible? I used the Due for another project, a 100% Altair 8800 emulation with 64 kb RAM etc., so maybe it could also emulate the C=64, loading the programs from the SD card (as for the Altair-Duino project)

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +1

      I think that it will not be difficult to port this to an Arduino Due

  • @kwacz
    @kwacz ปีที่แล้ว

    couldnt you take a second arduino to read the keyboard and then feed the keystrokes to the first arduino using serial port. That may fix screen dropout.

    • @DoctorVolt
      @DoctorVolt  ปีที่แล้ว

      no, because the arduino still has to interrupt the video output to process the input.

    • @kwacz
      @kwacz ปีที่แล้ว

      @@DoctorVolt yea, never thought of that.

  • @TheSulross
    @TheSulross 2 ปีที่แล้ว

    with no graphics and sound chip behavior it would make for a Commodore Pet emulator

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      With the appropriate ROM it can also emulate a PET

  • @forbiddenera
    @forbiddenera 2 ปีที่แล้ว

    Hmm maybe I should do this on a teensy

  • @Cvst1llo
    @Cvst1llo 2 ปีที่แล้ว

    Donnerwetter - Hut ab, vor so viel Wissen!
    Wie lange benötigt man, um sich so ein Wissen anzueignen? Ich habe damals ja auch mit dem "Brotkasten" gezockt, aber nie was mit Elektronik gemacht. Jetzt würde ich, auf meine alten Tage, gerne mal in das Hobby reinschnuppern. Ist das nun zu spät?
    Frage an den Fachmann: Chris Hülsbeck, berühmter Musiker auf dem C-64, hat wohl damals zwei Musik-Stimmen mehr aus den C-64 Bausteinen geholt, als Commodore vorgesehen hatte. Da muss doch ein gigantisches Wissen hinterstecken, oder? Wie macht man so etwas?

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +1

      Jahrelange Erfahrung. Habe mich als Kind schon für Technik interessiert, dann entsprechend Studium, jahrelang in der Entwicklung gearbeitet und natürlich selbst auch immer gebastelt und programmiert.

    • @Cvst1llo
      @Cvst1llo 2 ปีที่แล้ว +1

      @@DoctorVolt Ohhh... das ist nebenher im Hobby natürlich nicht aufzuholen. Vielen Dank für Deine rasche Antwort und Deinem Video!

  • @Architector120
    @Architector120 2 ปีที่แล้ว

    Great project!
    Mapping RAM to EEPROM is a bad idea... not because of write cycles but because EEPROM is terribly slow on AVR...
    BTW whats the music on the end?

    • @Hargida
      @Hargida 2 ปีที่แล้ว +3

      Giana Sisters. Composer: Chris Hülsbeck

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +2

      Played on a SID...

    • @jnharton
      @jnharton 9 หลายเดือนก่อน

      You could always use an external SPI eeprom?

  • @waelghaniighani9594
    @waelghaniighani9594 5 หลายเดือนก่อน

    Hello Dr volt ,
    I try to run the sketch on nano but no video signal. I checked the signal , resistors but no results.
    Is this related to any Arduino ide update ?

    • @DoctorVolt
      @DoctorVolt  5 หลายเดือนก่อน

      I just tried with the newest Arduino IDE, V2.3.2 and everything worked fine. Maybe there is something wrong with your Arduino.

    • @waelghaniighani9594
      @waelghaniighani9594 5 หลายเดือนก่อน

      Is it possible that no video signal due to use of N14148 diode instead of Bat48

    • @DoctorVolt
      @DoctorVolt  5 หลายเดือนก่อน

      No, it also works with 1N14148, but a schottky diode like BAT48 makes better video signal quality. Maybe the reason is that your TV/monitor just doesn't accept the video signal.

    • @waelghaniighani9594
      @waelghaniighani9594 5 หลายเดือนก่อน

      I tested the Arduino TVout library and worked fine. Also I checked the signal on the oscilloscope and it’s similar to your signal but not working in the tv.
      Anyway, thanks for your responses.

  • @hackenbush4854
    @hackenbush4854 2 ปีที่แล้ว +1

    Nice😄

  • @peberdah
    @peberdah 6 หลายเดือนก่อน

    What's about Gameduino, C-64 Basic is it compatible with Arduino?

    • @DoctorVolt
      @DoctorVolt  6 หลายเดือนก่อน

      Not natively. But my C64 emulation runs C-64 Basic, of course.

  • @MrApaHotel
    @MrApaHotel 2 ปีที่แล้ว

    4:41 should say 64µs instead of 64ms

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Ok, that´s right

  • @Evilslayer73
    @Evilslayer73 2 ปีที่แล้ว

    wow thats impressive!! can you play games with this setup?

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Very simple and small games may run. For the common C64 games it has too many limitations.

  • @stanza-music2024
    @stanza-music2024 2 ปีที่แล้ว

    hi eine Datasetten erweiterung wäre cool

  • @MiamiMillionaire
    @MiamiMillionaire 2 ปีที่แล้ว +1

    Great idea do you have a download link for the whole software?

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +2

      github.com/michalin/Arduino-C64-Emulator

  • @TonimanGalvez
    @TonimanGalvez 2 ปีที่แล้ว

    Good!! what about the colour?

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Color is not possible as the Arduino has only one shift register.

  • @BurgerStefan
    @BurgerStefan 2 ปีที่แล้ว

    would be interesting to see this on a teensy 4.1

  • @stanza-music2024
    @stanza-music2024 2 ปีที่แล้ว

    ich habe das auf dem Mega laufen ich würde das gerne auf einem LCD Display anzeigen lasse einer ne Ahnung wie das geht?

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      Leider nicht. Hab bisher noch nichts mit Arduino-LCDs gemacht

  • @salan3
    @salan3 2 ปีที่แล้ว

    Great but puzzled where the 64K ram is? Most Arduinos don't have that much.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว +2

      This is because the C64 OS only needs around 1.5K of RAM. So the emulator works with much less than 64K. However, there is only around one kilobyte for BASIC programs available.

    • @bassbacke
      @bassbacke 2 ปีที่แล้ว +2

      The message "64 RAM" is a fixed text in the ROM. The amount of free memory was displayed to the right.

  • @raffyturc
    @raffyturc 2 ปีที่แล้ว +1

    nice! SUB'd. make it full hw emulation. usb keyboard. video out. 😁

  • @gasparinizuzzurro6306
    @gasparinizuzzurro6306 2 ปีที่แล้ว

    Obviously the emultion speed is slow because the arduino cpu gets interrupted every 64us and waste a lot of time in do pal or ntsc signal timing emulation. Moreover , the megaswitch C code used to emulate the cpu opcodes is far from optimal

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      I doubt that dangeling elses are faster

    • @gasparinizuzzurro6306
      @gasparinizuzzurro6306 2 ปีที่แล้ว

      @@DoctorVolt i do not recommend to use if else statements, of cource i'm only saying that the switch approach in order to emulate a 6502 cpu is far from optimal.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      @@gasparinizuzzurro6306 What do you recommend instead?

    • @gasparinizuzzurro6306
      @gasparinizuzzurro6306 2 ปีที่แล้ว

      @@DoctorVolt First, i will replace the video load which is relatively heavy and has the annoying problem of getting out of sync when you work with keyboard interrupts.
      Next, in order to improve speed, due to the relarively simple 6502 architecture, (the opcode is always 1 byte in length), i will try to consider in with a sort of 'array of function ptrs' which can be easily indexed. Each entry in the array is a jump location performing the 6502 opcode emulation.
      Of course this should be done in assembly not in C language to achieve a good efficiency.
      I doubt that the megaswitch is implemented as an array of function ptrs, even if i know that some compilers sometimes use jump tables to implement the switch case instructions.

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      @@gasparinizuzzurro6306 Ok, there must be more research done on how the switch statement and if-else are actually compiled. The idea with the array of function pointers also sounds good.

  • @waterguy7463
    @waterguy7463 10 หลายเดือนก่อน

    is it possible to do this on arduino uno r3??

    • @DoctorVolt
      @DoctorVolt  9 หลายเดือนก่อน

      Of course.

  • @HashirEasa
    @HashirEasa 2 ปีที่แล้ว

    hey man
    im trying to make something like this with a 16 x 4 lcd and a wireless usb keyboard
    im a beginner and dont know arduino coding so...
    i was wondering if you could help me out here...

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      The keyboard used here must be PS/2 or a PS/2 compatible USB keyboard. Wireless keyboards (at least the one that I tried) are not PS/2 compatible. So I see no chance there.

    • @HashirEasa
      @HashirEasa 2 ปีที่แล้ว

      @@DoctorVolt ok but what if i use a wired keyboard, where do i even begin?

    • @HashirEasa
      @HashirEasa 2 ปีที่แล้ว

      @@DoctorVolt i have a ps2 adapter

    • @DoctorVolt
      @DoctorVolt  2 ปีที่แล้ว

      @@HashirEasa See the link in the video description

    • @HashirEasa
      @HashirEasa 2 ปีที่แล้ว

      @@DoctorVolt thanks, but what do i do if i want to use a 16 by 4 LCD module?