Agon Light 2 - C Programming, Better Keyboard Routines, Joystick Ports

Sdílet
Vložit
  • čas přidán 23. 02. 2024
  • Dive into the exciting world of DIY hardware hacking. Join in as I explore joystick integration, keyboard inputs, and serial debugging using the versatile Agon Light platform. Delve into the technical intricacies of GPIO pins, assembly language programming, and C compiler usage for low-level development. Discover the power of computational thinking, boolean logic, and UART serial communication as we navigate through hardware interfacing challenges.
    Github: github.com/ncot-tech/agon-key...
    Github: github.com/ncot-tech/agon-joy...
    Website: ncot.uk/
    Support The Channel: ncot.uk/support/
    Video Title: Exploring Hardware Hacks: Joystick Integration, Keyboard Inputs, and Debugging with the Agon Light
    #Joysticks, #Debugging, #AgonLight, #Programming, #ESP32, #GPIOPins, #AssemblyLanguage, #cprogramming, #ComputationalThinking, #BooleanLogic, #baremetal, #Hardware, #Zilog, #RC2014, #Z80Computer, #AgonConsole8, #DiscordCommunity, #PythonProgramming
  • Věda a technologie

Komentáře • 35

  • @archibaldbuttle7
    @archibaldbuttle7 Před 3 měsíci +1

    On your debugging things, latest versions of the VDP firmware now supports VDU 1, VDU 2, VDU 3, VDU 6 and VDU 21... (This is in the Console8 firmware - it's not yet been merged into Quark, but you can run the Console8 variants on any Agon machine, including the Agon Light 2.) VDU 2 and 3 will enable and disable the "printer" (like on a Beeb) which on the Agon is a serial device connected to the Agon's USB power port. So you can plug your Agon into your PC, run up a terminal program, and your program can then potentially send whatever it likes down that serial link. No need to use the eZ80's second UART any more. 😁

    • @ncot_tech
      @ncot_tech  Před 3 měsíci +1

      oh I'll have to try that. I've got the Console8 firmware on my Agon Light 2.

  • @nweston5070
    @nweston5070 Před 3 měsíci +3

    Love the philosophy at the end - something to live by. Not “we do these things because they are hard” but “if it was easy everyone would be doing it”. You just have to be a little bit more persistent than everyone else.

  • @mickre-fuses
    @mickre-fuses Před 3 měsíci +3

    Thoroughly enjoyed this video. Being (ahem) 50'ish, I love anything 8-bit technical. Thank you. 😉

  • @TheBraderek
    @TheBraderek Před 22 dny

    The way You explain everything is just outstanding! Thanks! 😀

  • @JeffSmith03
    @JeffSmith03 Před 2 měsíci

    yeah this is the kind of video I always wanted for my older comuters like Atari 800 and ZX81 so I'm really glad I found the Agon Light, and the community to fit

  • @curiousmind4870
    @curiousmind4870 Před měsícem

    Wow! Elite. Thanks a lot, this video decided me for the Agon. Raspi5 will have to wait. This is so much more fun.

  • @The8bitNoob
    @The8bitNoob Před 2 měsíci +1

    Amazing video, great work 👍

  • @willofirony
    @willofirony Před 3 měsíci

    I don't have a spectrum or even switched one on but the last 36 minutes have been the most pleasant I have had since the 1980s. Thank you.

  • @ichigen511
    @ichigen511 Před měsícem

    LOL "No Terminator's using 6502s." Nice deep cut and legit true!

  • @droganPaul
    @droganPaul Před 3 měsíci

    Great content. Always good to go on a journey in a video.

  • @LearnAgon
    @LearnAgon Před 3 měsíci +1

    very inspiring!!!

  • @TheSulross
    @TheSulross Před měsícem +1

    I have an Agon Lite 2 but haven't done anything yet - this is the kind of dev I find interesting though - messing around in BASIC is not my thing. Am thinking it would be fun to use the eZ80's 24 bit mode to make a multi-tasking OS that uses the full 512K and runs Z80 programs in each their own process.
    Imagine if this CPU had existed in the early 80s instead of coming out in the early 2000s - its peers would have been the MC68000 and the Intel 80286, which hit their stride in the mid to latter 80s. Zilog could have played ball with them, but the successor CPUs they tried back in that time period didn't really go any where.

    • @ncot_tech
      @ncot_tech  Před měsícem

      Exactly! Imagine a ZX Spectrum with this CPU... The Cedev compiler uses 24 bit mode. You can have a lot of fun with an 8 bit CPU when it doesn't see the world in 64k chunks.

    • @curiousmind4870
      @curiousmind4870 Před měsícem

      Zilog couldn't really develop the successor of the Z80 as the original founders wanted. I think Exxon almost own them (they put the money to make Zilog a reality) and they had other plans... A loss for the rest of us too. Shame.

  • @talideon
    @talideon Před 2 měsíci

    28:58 - Been a while since I wrote any Z80 ASM, but I figured LEA was an eZ80 thing, which it appears to be. It looks like the reason for the odd PUSH/POP dance is that it's fewer bytes than using LEA and also works in pure Z80 mode. Which is faster, I'm not sure.

    • @talideon
      @talideon Před 2 měsíci

      Looked it up, and using LEA is faster by a fair margin: a PUSH/POP is three cycles while LEA HL, IX is also three cycles.

  • @jonwest776
    @jonwest776 Před 3 měsíci +1

    Enjoyed this meander.

  • @johnwilliams7999
    @johnwilliams7999 Před měsícem

    funny i was looking at my agon light2 this evening - though i don't have an sd card (lost it) and it is on version 1.02 lol.

  • @3osufdh4rfg
    @3osufdh4rfg Před 3 měsíci

    Nice.

  • @Eightbitswide
    @Eightbitswide Před 3 měsíci

    Without resistors to hold the joystick i/o lines in one direction when not in use, are you running into "floating" pin data issues?

    • @ncot_tech
      @ncot_tech  Před 3 měsíci +1

      I don't think so... I think the eZ80 has internal pullups. Or at least it seems to consistently report 0xff when I read it.
      Adding some resistors if you were doing it properly might be wise though. Along with some ESD protection to protect the eZ80.

  • @koenlefever
    @koenlefever Před 3 měsíci +2

    1:28 BBC BASIC V does not need line numbers since 1987.

    • @ncot_tech
      @ncot_tech  Před 3 měsíci

      Really? The BBC Basic manual shows line numbers in all its examples. www.riscosopen.org/zipfiles/platform/common/BASICRefManual.3.pdf

    • @koenlefever
      @koenlefever Před 3 měsíci

      ​@@ncot_tech I remember programming without line numbers using the TWIN editor. Just did some extra searching: TWIN would add the line numbers when exiting the editor, see page 2 of chrisacorns.computinghistory.org.uk/docs/Acorn/OEM/AcornOEM_BBCBASICRM.pdf

    • @archibaldbuttle7
      @archibaldbuttle7 Před 3 měsíci +3

      My recollection is that BASIC V still demanded line numbers. Some editors like StrongEd would allow you to edit programs without them being visible, but under the hood they were still there

    • @koenlefever
      @koenlefever Před 3 měsíci

      @aldbuttle7Indeed, I did some searching yesterday, but for some reason CZcams did not let me post. I used the TWIN editor at the time, which added the line numbers behind the scene when leaving the editor.

    • @koenlefever
      @koenlefever Před 2 měsíci

      @@archibaldbuttle7 You are right, I used the TWIN editor at the time and it indeed added the line numbers when exiting the editor.

  • @danboid
    @danboid Před 23 dny +1

    I've noticed you have started posting Agon Light vids after you had already posted several SpecNext vids. Why have you bought an Agon when you already have a Next?
    It used to be that the Next was much more expensive than an Agon Light (2) but there's not much difference in price between an Agon LIght and an xberry pi or NGO. The Next has a faster CPU (right?), better graphics and better sound than the Agon so it makes for a better retro games platform, as far as I can tell.
    The Agon wouldn't have any video output without its ESP32. If you're willing to allow a ESP32, depend on it, then why not just go FPFGA at that point? The BeebFPGA core even gives you a SID on your next/ XBPi.
    I presume you have benchmarked the two machines against one another right? How do they compare just CPU wise?
    Thanks for the great videos!

    • @danboid
      @danboid Před 23 dny

      I've ordered an xberry pi after looking into the various options for modern retro systems for years. I should get it on Tuesday. The thing that pushed me over the edge to buying a Next clone is SymbOS. Have you tried that on your Next?

    • @ncot_tech
      @ncot_tech  Před 19 dny +1

      I bought the Agon because I have a bit of a weird fascination for these single board machines. The Next is fun to write code on, but I was finding the restriction of 64k of address space awkward to get my head around. The Agon uses an eZ80 that has a 24 bit address space so I don't have to work within complex banking restrictions.
      I actually don't know which would be quicker. The Z80n is about 8MHz faster than the eZ80, but the eZ80 has different internals. Hm. I think you've given me an idea for a future video to explore!
      I'll use CPUs, FPGA, whatever, I don't care. It's all low level programming :)

    • @danboid
      @danboid Před 19 dny

      @@ncot_tech the 64K limit does sound annoying yes. Was it the same on the Speccy 128? Some things should've not been adopted by NextZXOS for sure.
      Turns out z88dk isn't actually full ANSI C but instead Tiny C which is missing a few features. Are there no other C cross compilers that support the Next? As fa as z80 is concered there is the Amsterdam Compiler Kit and lcc that do offer full C and z80 but I'm not sure if they support the Nexts extensions?
      ACK is apparently used to build FUSIX for z80 platforms. It migt make sense to use ACK or lcc for some projects but z88dk for others?
      Did you see my github bug report for your sprite repo? The copper example code doesn't seem to run properly under cspect either.