CHERRY MX KEYBOARD for COMMANDER X16
27:28
AQUARIUS+ Retrocomputer Unboxing
46:24
COMMANDER X16 Lazer3D CASE ASSEMBLY!
50:25
UNBOXING ZX SPECTRUM NEXT!
26:37
Жыл бұрын
X16 vs. Agon: 8-Bit Battle Royale
41:21
The Retro Desk Intro 2.0
0:07
Жыл бұрын
The BIRTH of the RETRO DESK
12:48
Жыл бұрын
Commander X16 Case Assembly
16:24
Жыл бұрын
The Retro Desk - Intro
0:07
Жыл бұрын
RIP ATOM - slithy VLOGS #31
14:21
2 жыл бұрын
4K FRACTAL BENCHMARK!
5:27
2 жыл бұрын
16-BIT BATTLE ROYALE! - slithy VLOGS #29
1:01:07
IT WORKS! - Exploring FPGA, Episode 2
42:17
Пікірлер
@velho6298
@velho6298 8 күн бұрын
High quality welding lmao. You should buy these from a proper vendor to get access to the datasheets, schematics, etc. Makes it more approachable for beginners.
@Dostofei44
@Dostofei44 10 күн бұрын
Is this possible to write in BBC BASIC SDL?
@doctorsimon210
@doctorsimon210 11 күн бұрын
Massive respect for the detail in these tutorials. I am commencing my journey in ZX Spectrum Z80 Assembly and your videos are amazing. Your voice is easy to listen to too. Thank you 🙂
@z80
@z80 15 күн бұрын
Hesitating... mmmmh... Will not light the pyre eventually. Good job 😊
@FrancisFjordCupola
@FrancisFjordCupola 16 күн бұрын
Just add a loop and instead of time it once, time a million runs.
@johnmiller0000
@johnmiller0000 25 күн бұрын
I cut my programming teeth on ZX-80/81/Spectrum including Z-80 assembler and hand-coded machine code. Seeing BBC BASIC with Z-80 ASM is a joy.
@captaindunsell8568
@captaindunsell8568 28 күн бұрын
I recommend that you look seriously at Heath Disk Operating System HDOS which is available in the public domain now.
@jsmythib
@jsmythib 29 күн бұрын
In this case. I asked for it :) So a customary, thankyou is given. :)
@okaro6595
@okaro6595 Ай бұрын
The original Apple II did not sell 6 million. That figure includes all the later versions up to the 1990s. IIRC the original Apple II sold 40000.
@DarrenLGoldsmith
@DarrenLGoldsmith Ай бұрын
Back in the day, I dreamt of creating a program (game) such a Manic Miner, or Jet Set Willy... just like my hero Matthew Smith. It all seemed far too complicated though - indeed, almost magical - and I had no idea where to start. Now that I'm in my 50s, I'd really like to give it a proper go. Would this be a good series to get me off and running, or at least walking? Does anyone have any other recommendations? Bear in mind, when it comes to any kind of coding at all, I am a *complete* beginner! Cheers!
@slithymatt
@slithymatt Ай бұрын
I would first recommend learning some basic programming first. Not literally BASIC per se, but something like Python just to get your feet wet before getting into assembly.
@DarrenLGoldsmith
@DarrenLGoldsmith Ай бұрын
@@slithymatt Thanks!
@saultube44
@saultube44 Ай бұрын
Your camera handling sucks, dude. Really good, and the ESP32 is a powerful CPU, but unfortunately not GPU
@lovemadeinjapan
@lovemadeinjapan Ай бұрын
Doing Fractals in assembly is cheating. They have to be horribly slow in BASIC. Did one on my CPC lately, with Copilot teaching me how, it was an awesome experience. And 1 hour wait for the full res Mandelbrot was not too bad.
@Flo_Resolution
@Flo_Resolution Ай бұрын
It would be cool if there was a sort of in between of these chips. I'd probably call it a 6Z802
@Flo_Resolution
@Flo_Resolution Ай бұрын
6 zee 8 oh 2
@joel230182
@joel230182 Ай бұрын
"self-modifying code" that sounds like a recipe for debugging hell
@ulysses_grant
@ulysses_grant Ай бұрын
This playlist comes to the rescue. It's like seeing an old book of photographs of a dearest friend in a moment like this. Farewell, Z80.
@peddersoldchap
@peddersoldchap Ай бұрын
Hi. Is there a video about how to create and execute assembler code on a real Spectrum?
@kellerkind6169
@kellerkind6169 2 ай бұрын
So, those "later episodes" you've been referring to....where can I watch them?
@slithymatt
@slithymatt 2 ай бұрын
If you have a time machine, you can watch them in the future right now.
@meem2Greene-ju3cs
@meem2Greene-ju3cs 2 ай бұрын
Just paused the ad to say f 6502 already I always thought if I learned an old cpu assembly language and architecture it would be 6502 but it turned out to be the z80. I’m only half kidding, like what you want ❤️💙💜💗🖤💛💚❣️
@901aerol
@901aerol 2 ай бұрын
X16 sucks.
@alsTechGuide
@alsTechGuide 2 ай бұрын
In the video, ROM_BANK is set to address $9560. In the .asm file, it is set to $01. Is this a mistake?
@martinj.fowler6262
@martinj.fowler6262 2 ай бұрын
The Latin and Classical Studies teacher at our school was a computer hobbyist. He gave me his copy of Picturesque Editor/Assembler/Monitor/Debugger and said "See if you can work out how to use it, I have no idea". It took me another year or so but I eventually worked it out with a little help from a friend :D I wrote a couple of little games for the Spectrum in Z80 but never fully finished for release. I've still got the tapes but don't think they'll work after all these years. I'd have to guess at the org address to run it and the source was created using Laser Genius Assembler Suite.
@ben-and-maffy
@ben-and-maffy 2 ай бұрын
I would not time text mode either, even on an 8080.
@WXSTANG
@WXSTANG 2 ай бұрын
Zylog is living proof how big money screws humanity. Intel used talent to make a processor which sucked. The talent knew it, and left because Intels focus was purely on money. Enter Zylog, and all big money did again was try to use them for personal gain, meanwhile, a processor 25 years ahead of its time was on the table. The Z80 was reverse engineered by these people who claim themselves "elites" do this over and over, screwing the people who have done and contributed the most. If Zylog was given a proper shot, humanity would have more advanced processors, because the people who loved doing that, and who were the best at it, ended up being shunned because they weren't making someone else rich.
@lovemadeinjapan
@lovemadeinjapan 2 ай бұрын
You can also program the BBC using graphics hold that way each column can be a distinct colour, and you get 38x24 blocks in total. So character 1 is CHR$158, then CHR$146 for example for green, and then chr$127, followed by just colour changes in the range 144-151
@taipo101
@taipo101 3 ай бұрын
We Brits say zed because some times we hear 65Z02 or CX81
@taipo101
@taipo101 3 ай бұрын
I think the separate i/o addressing just about wins it for me as we dont have to have specific memory mapping decoding logic.
@hkmmos659
@hkmmos659 3 ай бұрын
Did try assembler when I was 15 years old, and build some pretty cool stuff, ie. a program that doubled the number of characters on the screen with smaller font, which I then used with a spreadsheet program I built in basic... Insane ... I would not be able to do this today.
@ben-and-maffy
@ben-and-maffy 3 ай бұрын
Vector art makes more sense in 8-bit, because bitmaps are basically bit-banged photos. Vector art can morph and really use the calculating power of the system to create a living art. To have an eZ80 to play with that can do things with vector graphics sounds exciting to me!
@Mr.1.i
@Mr.1.i 3 ай бұрын
The Atari 2600 hardware was based on the MOS Technology 6507 chip, offering a maximum resolution of 160 x 192 pixels (NTSC), 128 colors, 128 bytes of RAM with 4 KB on cartridges
@lupedarksnout
@lupedarksnout 3 ай бұрын
Thanks again for this series! Third time watching this particular video, and stuff's starting to "click" now. Wonder though, does the Palette Offset nybble get ignored when using 8bpp mode?
@slithymatt
@slithymatt 3 ай бұрын
That's correct. It's just unused for 8bpp tiles
@lupedarksnout
@lupedarksnout 3 ай бұрын
I'm trying to grasp the differences between programming the X16 and the C64. On the 64, I can lift the ROMS and directly plot the NMI & IRQ vectors. Handy if I'm using all the RAM or don't want or need the regular IRQ tasks slowing things down, even briefly. I imagine many games do this. When an interrupt strikes on the X16, what happens exactly? With all the ROM banks possible via different programs, how does this work? What if it's running a ROM program in bank 4? Does the machine automatically swap back to bank 0 when an IRQ hits, just to find that hardcoded vector in the Kernal? Does it stash the ROM bank to the stack as well? Is it possible to "lift" the X16 ROMs (like on the C64) and use all 64K of "lower RAM"? Or am I stuck having my IRQ's and NMI's forever tied to those indirect JMP vectors in the $0300's? I've only had my X16 a few weeks now (no interest in the emulator, waited for the hardware) so now I'm poking around your videos to get a better feel of what this machine can do. So many questions, so little documentation that goes into detail - for now. Thank you though, for all the effort put into this series!
@slithymatt
@slithymatt 3 ай бұрын
Each bank of the ROM has the same vectors for each interrupt. They all go through RAM that gets initialized by the kernel, which gets called again from RAM, but targeting ROM bank 0 specifically. You can overwrite those RAM vectors like I show in the video, or if you are really enterprising, you can burn a custom ROM image that will handle things differently.
@lupedarksnout
@lupedarksnout 3 ай бұрын
@@slithymatt I feel like a fool. Went digging with the X16's built-in monitor, and locations $FFF8-FFFF were all $AA's for some unknown reason. But PEEKing those locations from BASIC shows they point directly to RAM beyond $0380, where the start of interrupt code now sits! The vectors $0314/15 and $0318/19 are still there too. I could redirect the IRQ immediately now (well, in 3 cycles for a JMP) but where to put that JMP might change in future ROMs. The vectors you're using are static, and is the proper way to do it.
@safiudeen
@safiudeen 3 ай бұрын
Thank you for the history information on Z80 ptocessor. I learned my initial assembler language on the Z80 processor and utilized a z80 computer to master my first programming language, Pascal. The computer's operating system was UGC Passcal, and the entire operating system, along with our Pascal programming codes, was stored on a 400kB floppy disk. I am proud to have utilized the z80 8-bit processor to learn computer programming.
@Ti99iucIt
@Ti99iucIt 3 ай бұрын
This video, although well constructed has one major shortcoming. This video does not demonstrate the real result of the 16-bit TMS9900 processor, but it proves just the one that the TI-99/4A can have. The TI-99/4A processor though it is a 16-bit processor only a small portion of the system was 16-bit (system ROM and 256 bytes of scratchpad RAM), and used a second 8-bit computer bus for the rest. You basically in this video have obtained a result among a real 16-bit computer compared to an 8-bit computer.
@ziggytonumaa
@ziggytonumaa 3 ай бұрын
Now you can Horace & The Spiders on an widescreen tv!!
@johnrickard8512
@johnrickard8512 3 ай бұрын
Might I remind you that the TI-83+ series is itself known for being rather gameboy-like in terms of gaming potential
@user-qf6yt3id3w
@user-qf6yt3id3w 3 ай бұрын
There's more ISA innovation in either of these processors than you'd get in 10 years of CPUs now. Chuck Peddle and Federico Faggin were both absolute geniuses.
@CGXMakesMusic
@CGXMakesMusic 3 ай бұрын
I had one of theese as a kid. Whats its name pls 😩
@MrCoalmin
@MrCoalmin 3 ай бұрын
X16 Commander for the win.
@ZxSpectrumplus
@ZxSpectrumplus 3 ай бұрын
Hi, i don't understand how do you get 104 (signed A) on the line add a,b. -24+-128=-132. Where does the +ve 104 comes from? Thanks.
@slithymatt
@slithymatt 3 ай бұрын
Because -132 is outside the bounds of signed 8-bit integers: -128 to 127. You get an overflow adding xE8 and x80, which gets you x68 (decimal 104) with a carried bit, so effectively x168 if you take the result as a 9-bit signed integer, which could then be interpreted as -132.
@Sakura_Shadows
@Sakura_Shadows 3 ай бұрын
So, the routine basically processes the sprite into the buffer and checks key presses, then when the handler is triggered at the VB it writes the data to the screen? I'm very new to this and am just using a halt at the top of my main loop in IM1, but I still get visible tearing and flicker, so this may be a great solution.
@slithymatt
@slithymatt 3 ай бұрын
Yes you want to do all the screen writes during VBLANK to avoid tearing. Doing your own interrupt handler will make sure you get that done before the blanking period is over.
@Sakura_Shadows
@Sakura_Shadows 3 ай бұрын
​@@slithymatt Thanks for that. I'm finding the documentation really hard to get a grip on because it's so vague, and there's rarely any examples, or even context. Do you have any tutorials which deal with loading assets (like graphics/sprite sheets etc) from storage devices like tape/disk files into DS blocks of RAM? Different game levels will require different graphics/audio to be loaded, so I assumed it'd be a common, well documented process. Sadly I've scoured the internet and found nothing on this topic, and no other tutorials cover it. I looked at some ROM routines for loading files, but again there's just a very vague description of what it does and no guide of actually how to do it.
@slithymatt
@slithymatt 3 ай бұрын
@Sakura_Shadows unfortunately, I have not done much with tape or disk I/O in the series so far. I plan on restarting it, but the focus may be more on SD card access on the Spectrum Next.
@hubertsurrer7515
@hubertsurrer7515 3 ай бұрын
I'm half way through now - really good material and explanation. Never learned Z80 Assembler as a kid, 68000 though in university. So it's fun to learn again. Super thanks!
@Dr.Logistik
@Dr.Logistik 4 ай бұрын
What is meant by the term "page"? Ie "the last 64 pages". What exactly is a page, how large is a page? etc. etc. (forgive me, learning)
@slithymatt
@slithymatt 4 ай бұрын
A page is 256 bytes, so a range of memory where the upper byte of the address is the same value. That's why $0000 to $00FF is called the "zero page". By default, the 6502 stack uses page 1, so that the initial stack pointer is effectively $01FF and will go down to $0100 before wrapping around (very bad, would not recommend)
@Dr.Logistik
@Dr.Logistik 4 ай бұрын
@@slithymattok, follow up question. When you say the upper byte of the address is the same value, is $00FF the upper byte of the zero page? Or would, for example $000A be the upper byte that’s In the zero page? I don’t know if I’m wording this right. I guess I’m just lost as to what is considered the upper and lower byte. Conventional wisdom tells me that $00ff would be the upper byte.
@slithymatt
@slithymatt 4 ай бұрын
@Dr.Logistik the upper byte would be the most significant byte. So a big-endian address of $00FF would be on the zero page because those first two hex digits are 00.
@Dr.Logistik
@Dr.Logistik 4 ай бұрын
@@slithymatt Thanks :) I am really trying to learn this stuff!
@hstrinzel
@hstrinzel 4 ай бұрын
On top of that there is also a MS-DOS emulation and Z80 CP/M emulation, and Atari 400. A FANTASTIC BOARD, largely due to the incredible work of Fabrizio Di Vittorio and BitLuni. Too sad that those 2 did not earn enough money for their absolutely herculean efforts. They were kind of ripped off by China.
@mariuszzielinski1573
@mariuszzielinski1573 4 ай бұрын
Wybitnie tendencyjny. Nic rewelacyjnego. Porównanie rejestrów indeksowych do adresowania bezpośerdniego?. Niech autor poda które z procesorów poszły w stronę Z80, a które w stronę 6502. Ostatnim był chyba 6509 w Commodore.
@jamesbellegarde2893
@jamesbellegarde2893 4 ай бұрын
Thank you for making Linux a huge part of your video❤😎
@b213videoz
@b213videoz 4 ай бұрын
Can you attach a physical floppy disk drive to it ?
@user-vq5rx5ym6b
@user-vq5rx5ym6b 4 ай бұрын
Legal!!!😃😃😃
@Dr.Logistik
@Dr.Logistik 4 ай бұрын
I am loving these, however I wish I could find a course. that also has you code and learn by doing...I understand the concepts but am having a hard time grasping it when I try to make even the most basic of programs. I just don't know what I am doing :( (course for the X16 and 65c02) .. IE, lesson 1, This is how you make "hello world" and this is what it is doing...Lesson 2. keep building on previous lessons.
@joaltman36
@joaltman36 4 ай бұрын
The other processor from around the same time was the Motorola 6800, and then 6809. The 6809 did not have the issues of the 8080.
@Mike40M
@Mike40M 5 ай бұрын
Stumbled on this video. Reminds me of the seventies when I started designing embedded systems. Reason I used Z80 instead of 8080 was that it needed only one voltage supply. 8080 had three. Wire wrapped a system with 4k SRAM and 2k EPROM. For half of the EPROM I wrote a rudimentary assembler translating mnemonics to machine code. Used to learn students how to control a couple of pneumatic cylinders.