Тёмный
NCOT Technology
NCOT Technology
NCOT Technology
Подписаться
Welcome! You'll find me writing C or assembly on various old and obsolete systems, letting the magic smoke out of electronics and working on retro computers.

All opinions belong to me, or the other voices in my head.

Here’s some hashtag soup…

#programming #gamedev #linux #retrocomputing #smarthome #homeassistant

If you want to find me online, I can be found on Mastodon @james@social.ncot.uk and on the web at ncot.uk
Programming Language Easter Eggs
8:30
6 месяцев назад
Agon Light C Programming - An Introduction
8:32
8 месяцев назад
The Dark Art of Programming - Writing Cursed Code
13:12
11 месяцев назад
FORTH - Better than BASIC?
14:30
11 месяцев назад
2022 Review and Beyond!
11:51
Год назад
weird video display
0:33
2 года назад
Комментарии
@foreignwarren7361
@foreignwarren7361 3 часа назад
I learnt from an early age how important the tech you choose is. I was 12 living in South Africa and got addicted to making games on my Commodore 64, the year was 1987 and with only a couple of books from my local library I was able to build a bunch of terrible games. I just couldn't fathom how the developers at companies were building such cool games for the system. No matter how hard I tried I couldn't get close.... Remember this was a time of no Internet where I was... Years later i found out they were all using assembly.... I was using BASIC.... Who knew..... Still... Such good times.. 😂😂😂
@ddguitars1969
@ddguitars1969 5 часов назад
In the 80s I wrote games in pure assembly and then in the early 90 I used c for the game logic but I wrote all my graphics lib code in 8086……way tougher than modern game coding but by god the code was optimised and ripped along….
@kevinrickey3925
@kevinrickey3925 2 дня назад
To this day, I still love my assembly. It's so rewarding to watch stuff run so crazy fast. I often use DOSBOX and play with the old video ram to make neat moving displays, or show game concepts. Video ram starts at B000H (mono) and B800H (color). 80x25 character grid, each character occupies two bytes, value and attribute. I so miss the old, simple days. Oh, I also miss the TRS-80, that was fun to poke your code then x=usr(0). Yeah....
@kevinrickey3925
@kevinrickey3925 2 дня назад
I've been hand assembling machine since 1980: Z-80a, 6502 and x86. decoding the instructions and actually performing the movement of bits, this is a great question. I always thought the bit pattern in each instruction perhaps had something to do with the decoding. This is a great video. Thank You!
@shimster13
@shimster13 2 дня назад
If I were building this game I would consider building asteroids, robotron, or space invaders. If I were really ambitious I would try to recreate Castle Wolfenstein. Thanks for this video!
@DavidKing-wk1ws
@DavidKing-wk1ws 2 дня назад
Many of us back then could not afford a fancy compiler, so you learn assembler that would have been z80, 6502, 8088 for most but the commodore had the most to offer bang for the buck idea.
@osogrande4999
@osogrande4999 3 дня назад
I don’t know anything about the machine you’re emulating or will be running it on, I heard you say it was z80 based with some extra microcontroller goodness, does it have a UART so you can output debug that way?
@mojojojo1529
@mojojojo1529 4 дня назад
Really? You think you could afford a computer running a C compiler in the 80s? 80s style game coding is assembly, my friend. Speaking from experience :)
@bigd5090
@bigd5090 5 дней назад
I'm so glad I've got my THEA500 Mini that allows me to play my favourite ST game Blue War III and it also has Time Bandit included as an extra free bundled game with the latest firmware which was on my 1040STF bundled GAMES FLOPPY. To be honest I'd like to remember the Amiga versions of every other game I remember from my childhood! Thanks for making computing affordable Atari but the Amiga especially the later AGA machines, were far better and were worth it for the Paula sound chip on its own! The joystick ports underneath on the ST were an abomination on the internal floppy models!
@paulchamberlain7942
@paulchamberlain7942 5 дней назад
I accept your BBC Basic is the best claim as I would have no chance fighting you in the comments. You sir are exactly the right kind of nut the world needs right now.
@darikdatta
@darikdatta 5 дней назад
A lot of great games were written in assembly, especially on 6502. That was pretty hard.
@JaaceB
@JaaceB 5 дней назад
what you want to make is a survivors-type game
@ZETAGeTh
@ZETAGeTh 6 дней назад
I remember downloading a 200mb video back then, it took me two nights using a program called Getright to pause the process during the day. And then, weeks later, a "friend" who was learning how to hack got into my computer remotely and deleted that and other four videos I managed to download then. That's when I learned about antiviruses, IP usage and all that stuff. And all that in a 33k modem. Those were the days...
@27182818284590452354
@27182818284590452354 7 дней назад
> "using nothing but raw C programming" > a dozen of python scripts my man
@scottfranco1962
@scottfranco1962 9 дней назад
There are linux, and probably windows programs that understand the CP/M filesystem and can transfer to/from it. There are a bunch from the ms-dos days, since the two systems worked side by side.
@googleyoutubechannel8554
@googleyoutubechannel8554 9 дней назад
no.
@burntt999
@burntt999 10 дней назад
i'm at my "i just want to walk off a building" point lol... my god.. my brain is so crammed with shit and confused that my fggin head is tingling. or that could be the sadness thats building up on how much time i've put into trying to get this to run
@scottfranco1962
@scottfranco1962 10 дней назад
So when I ran a Z80/CP/M combination back when, and I wanted a full 64k of ram, I put the boot rom as a 4kb in low memory, but with a trick. The ROM was addressed only on read, and the ram only on write. The rest of the 64kb was normal. This mode could be switched off by a write. So the boot procedure was to copy itself to ram, then switch the mode off, thus achieving a full 64kb ram with the boot rom image in ram.
@scottfranco1962
@scottfranco1962 10 дней назад
"If I had a serial terminal" every PC can be a serial terminal, with a serial port or USB to serial adapter, and a terminal emulator on the PC.
@miasma82
@miasma82 11 дней назад
I mostly play older games. I just like them better. I'm not that old, i'm only 42 but i just like the games i grew up with better. And now i can emulate the games i didn't have access to during that era, i like the whole rom hacking scene too.
@raymondzechner4678
@raymondzechner4678 11 дней назад
👾💯👈🤓 Awesome
@kenmalm6859
@kenmalm6859 12 дней назад
Go outside and play.
@ChrisM541
@ChrisM541 12 дней назад
Imagine having NO internet and being a games programmer! This is what it was like back then...and not so long ago. Compare that with what we have today - free, powerful game engines that do all 'the hard coding', infinite instant documentation covering all you need, stackoverflow et al where you can ask any programming difficulty question and have an almost instant answer. Etc etc. Unfortunately, and this is the big one, critical thought - the most important quality for any programmer - is being eroded and a shocking pace.
@mr_noodler
@mr_noodler 13 дней назад
Is there a C API for the Agon Light 2? I can’t find it anywhere
@ncot_tech
@ncot_tech 12 дней назад
Not exactly. The AgDev toolchain is the closest we have, combined with the console8 documentation available here agonconsole8.github.io/agon-docs/ Once you understand how the VDP is controlled by literally printing text to the screen with special control codes, the BBC Basic examples are fairly straight forward to understand. My Github repo contains some useful code if you have a dig around in it, specifically the functions for writing 8 and 16 bit values to the VDP.
@elalemanpaisa
@elalemanpaisa 13 дней назад
was hoping for such content for years as I loved games from the late 80s and early 90s but most content is about including APIs like 3dfx/DirectX etc probably most used Assembly straight but anyway :D I remember putting cash in the mail and hope getting a 3.5 inch disk with the correct game and as we didn't care about security we just installed whatever was on that.
@PointEndClick
@PointEndClick 13 дней назад
This video is awesome.
@Dalamain
@Dalamain 15 дней назад
Hands up if you looked at the title and thought C#.
@AntonioBarba_TheKaneB
@AntonioBarba_TheKaneB 15 дней назад
this almost triggered my PTSD! I used to work as a game programmer, and the first game I worked on started from scratch, starting from, int main() and a bunch of SDK documentation. It was back in 2007 on the Nintendo DS. I learned a lot, but I wouldn't do it again, never :D
@robertparenton7470
@robertparenton7470 15 дней назад
Thank You!
@Nitiiii11
@Nitiiii11 16 дней назад
3:20 LOL
@midlander4
@midlander4 16 дней назад
If Jarvis Cocker coded games in C
@82issa
@82issa 16 дней назад
I laughed at your expression of hot garbage. That would make a funny name for the game. Enemies bringing steaming piles of trash to litter. Keep your territory clean by shooting enemies or the piles of hot garbage with fun little explosions. I nominate the name “Hot Garbage”. I can’t wait to see how it all comes along.
@brentpappas4055
@brentpappas4055 16 дней назад
I like this so far! Very relaxed, with some novel ideas, but most concepts should be familiar to viewers with prior programming and game dev knowledge. The music in the background makes the video feel more cozy, and I appreciate your sincerity. I enjoy seeing how you program in C as well. I personally prefer using arrays of function pointers rather than structs with function pointers inside them, and I nowadays I use CMake instead of Make for my C projects. However I like seeing the way you do things. Also! I’d recommend looking into the C “X macro” idiom. It’s a pattern for programming in C with macros that makes it very easy to group related data and functionality together at compile time. You may find it helpful for defining your game states. Looking forward to the rest
@santitabnavascues8673
@santitabnavascues8673 16 дней назад
Hard way?... if any the longest part would be the engine, the rest is exactly the same, maybe the language is diferent, maybe it is a graphical language but 2+2 hasn't changed since the dawn of maths, so makes no real difference, if any, the biggest difference is the person, in the end of the day, everything are 0s and 1s
@johnhaugabook
@johnhaugabook 16 дней назад
Randomly came across this video, and hope it's not too late; but some game inspiration: game title - Kernel Sprite, game idea - Kernel Sprite is a binary soldier who wants to go further. At the start it's a bit. But this sprite fights for every little bit, building itself, well - bit by bit. Wants to make it to the interface. To becomes a complete retro graphic. Along the way fighting resistors, and using some simple logic to make it through the gates.
@ditzykunoichi
@ditzykunoichi 18 дней назад
thank you for the nostalgia trip, i miss the old internet
@axle.student
@axle.student 18 дней назад
I have been favourable to Geany on Linux. Still use Dev-C++ (Embarcadero maintained) on Windows and found FED (Folding text EDitor best for DOS. > 13:01 I paused the video to read the code and naturally scrolled down for more lines X-) (3 times lol) > I have been working off of the Allegro5 Vivace tutor template which is quite similar. Logging; use error logging file(fprintf(FileHandle, ...)), -Enable the console screen and use printf() or fprintf(stderr, or stdout) while debugging, send to separate graphic pop up msgbox (if available). <- For debugging, else just use a log file before exit() :)- If it is not running on a windowed machine then maybe you may have to find some sort of screen or view port scaling (alternative font size?) > *Looks pretty kool,* A few of my first attempts had everything in main() which turned ugly rather fast lol FreeDOS, Windows, and Ubuntu at the moment :) > Why do Java programmers wear glasses? Because they can't C.
@BroqHans
@BroqHans 18 дней назад
'C' what? I think 6502/6510 chip programmers can do one better 'the hard way': Change screen colour to black: LDA #$00, STA $D020, STA $D021. Continue from there...
@majinnaibu
@majinnaibu 18 дней назад
If you wrote it in 10 min then you'd be copying and pasting from some blog post. If you figure it out yourself you'll learn something. If there's a problem later you'll understand how it works. Especially if you derive as much of the formula as possible. This is all high-school level math at least in high-schools that still teach math. I don't mean it's easy to come up with on your own. I just mean it doesn't require calculus.
@davet2234
@davet2234 18 дней назад
I miss those old days, working with Turbo C, with inline assembly to access the screen directly in mode 13, at 0xA000 for speed. That my friend, is from scratch in my opinion. Still good video
@Skiamakhos
@Skiamakhos 19 дней назад
PMSL at the Steam folder comment - I feel called out!
@navithefairy
@navithefairy 19 дней назад
Wants to write the hard way, from scratch, then proceeds to include a template full of code....come on now...
@ncot_tech
@ncot_tech 19 дней назад
Do pay attention at the back, especially to the bit where I am explaining how *I* wrote all that code. That's literally the video 🙄
@sonomute
@sonomute 19 дней назад
the title says from scratch but then after few minutes you say u gonna use a game engine? i'm confused...
@wintutorials2282
@wintutorials2282 20 дней назад
I miss internet without all the generated slop. And when the internet was for the nerds
@shirozuki_sqb
@shirozuki_sqb 20 дней назад
I absolutely love this kind of content 🙂 Thank you, and good luck with the project!
@fadel_rama
@fadel_rama 21 день назад
It's 3.40 AM and here i am watching a man making retro game from scratch, i am not even programmer the last time i touched code are HTML
@Tronex2009
@Tronex2009 21 день назад
Wish you as much success with this series as Casey Muraturi had with Handmade Hero. However, scale your game a way that allows for getting finished. 😅
@user-qq4wb4rz7q
@user-qq4wb4rz7q 21 день назад
Plus, Kate editor doesn't spy on your every click...
@ncot_tech
@ncot_tech 21 день назад
@@user-qq4wb4rz7q also it isn't a massive JavaScript application running inside a browser instance.
@anon_y_mousse
@anon_y_mousse 21 день назад
One of the things I think is pretty cool about how you do your videos is that you use Kate as your IDE. It's amazing how many changes they've made to the program over the years and if I weren't so entrenched in using Vim, plus the myriad keybindings that allow me to navigate entirely with just the home row, I'd probably be using it too. I've got my Konsole setup to basically just be a black box, and use tabs with Vim. Do you have shortcut keys setup with KDE to push windows into tile positions? I've found that to be one of the best set of shortcut keys I could use, especially when manipulating multiple terminal windows.
@mr_noodler
@mr_noodler 22 дня назад
Great video, we both play the same games on Steam