November 29, 2020, 07:42:36 PM

Author Topic: Retro Assembly Language  (Read 2934 times)

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Retro Assembly Language
« on: August 02, 2020, 11:28:13 PM »
Back in the 8/16 bit era if you wanted to get the very best from the computer you had to use Assembly Language.  You didn't have an OS fighting you or libraries to learn - so you could hit the metal and get the most from the limited hardware.  Coding on a limited system currently interests me, and after installing FS-UAE today and seeing how good it replicates the smooth scrolling of a system locked at 50hz (PAL) running scrollers like Agony and Shadow of the Beast, with my monitor also switched to 50hz it's gotta be 68000 assembly language and Amiga coding!  Even PC's can't hit silky smooth scrolling at times due to the many configurations available (computer and monitor refresh rates) and the programmer not quite compensating adequately.

I feel I kinda missed out on the assembly bandwagon...Or should that be Assembly Line?  :D  I'm familiar with lots of high level languages, but I never went lower than C.  With good emulators it seems that urge to try a bit of Assembly Language is too tempting to turn down on a very capable system like the Amiga.  I think I'll give it a bash and see how I get on.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 2566
  • I mostly code at night... Mostly.
    • SyntaxBomb - Indie Coders
Re: Retro Assembly Language
« Reply #1 on: August 03, 2020, 05:04:06 AM »
FS-UAE with your monitor set to 50hz is great for Amiga emulation. Been playing the Nightmare table on Pinball Dreams in all it's silky smooth glory.

I get the urge to learn assembler but for the C64 ;D - Although you would of thought with the VIC-20 being my first computer I'd dive into that side but I wan't to delve into multi coloured sprites and SID chip music.

I'd probably find 68000 + Amiga stuff more difficult than an 8-bit C64 so baby steps to begin with like "Hello World" stuff and bill up from there.
Mac mini ( 2018 / 2020 ), 3 GHz 6-Core Intel Core i5, 16 GB 2667 MHz DDR4, 1TB NVMe, eGPU Radeon Pro 580 8 GB, LG Ultragear 27GL83A-B 27 Inch
Commodore VIC-20, 1.1Mhz MOS 6502 CPU, 5KB RAM, VIC ( 6560 ) GPU

Until the next time...

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #2 on: August 03, 2020, 10:37:14 AM »
Yes I thought of the C64 at first (I have a C64 emulator and a real C64).  But I only want to learn one system at assembly language level and the Amiga is so capable with plenty of RAM.  With the C64 you'll have to pull some tricks to get your game to fit into RAM, so more complicated in some ways.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 2566
  • I mostly code at night... Mostly.
    • SyntaxBomb - Indie Coders
Re: Retro Assembly Language
« Reply #3 on: August 04, 2020, 05:13:07 AM »
Quote
With the C64 you'll have to pull some tricks to get your game to fit into RAM, so more complicated in some ways.
This is true and I've thought of that so I'll probably have a quick play with both and decide from there which one I'll spend more time with. Also doing a DOS game in assembler is tempting too ;D
Mac mini ( 2018 / 2020 ), 3 GHz 6-Core Intel Core i5, 16 GB 2667 MHz DDR4, 1TB NVMe, eGPU Radeon Pro 580 8 GB, LG Ultragear 27GL83A-B 27 Inch
Commodore VIC-20, 1.1Mhz MOS 6502 CPU, 5KB RAM, VIC ( 6560 ) GPU

Until the next time...

Offline MikeHart

  • Hero Member
  • *****
  • Posts: 739
Re: Retro Assembly Language
« Reply #4 on: August 04, 2020, 05:23:15 AM »
How about the upcoming Commander X16? From the video specs it is close or even better as the amiga, easier memory model than the C64 and hardware is surpose to ship late 2020. Emulator is out already.

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #5 on: August 04, 2020, 09:38:27 AM »
Quote
How about the upcoming Commander X16?

That's too much of an uknown quantity.  The Amiga is a well known classic system and still popular with fans.

The Colour Maximite 2 is already out too, but doesn't even come with standard joystick ports.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Offline TomToad

  • Hero Member
  • *****
  • Posts: 517
Re: Retro Assembly Language
« Reply #6 on: August 06, 2020, 02:55:28 PM »
If you really want to get low level, how about making your own CPU?  Came across this playlist from Ben Eater.
https://www.youtube.com/playlist?list=PLowKtXNTBypGqImE405J2565dvjafglHU
------------------------------------------------
8 rabbits equals 1 rabbyte.

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #7 on: August 06, 2020, 03:13:52 PM »
Interesting, but I would want a widely supported system...The Raspberry Pi Zero is also a possible, all-be-it a more modern solution.  The latest Raspberry Pi 4 models are little more than slow PC's, quad core CPU with 8Gb of RAM.  Rather than a more limited system like the Pi Zero, single core CPU and just 512K of RAM like the Amiga A500.  The Zero runs at a consistent clock speed too, ie a fixed computer model spec like the Amiga/ST and the 8-bit computers.

So ARM Assembly Language then!...Even if that's cheating because it's a 32-bit system not an 8/16 bit one.  I seem to have lost my Pi Zero so ordered a replacement and some extra bits:

https://shop.pimoroni.com/products/raspberry-pi-zero-w

https://thepihut.com/products/mini-hdmi-to-hdmi-cable-v1-4-zero

https://thepihut.com/products/zebra-zero-heatsink-raspberry-pi-zero-case-black-ice

https://thepihut.com/products/usb-to-microusb-otg-converter-shim

The USB converter Shim will help connect the tiny Nano USB Dongle for the keyboard and mouse set from JellyComb I already have:

https://www.amazon.co.uk/Wireless-Keyboard-Jelly-Comb-Computer-Black/dp/B0762CQQQP/ref=sr_1_6?crid=T9P1HBJX9DAT&dchild=1&keywords=jellycomb+keyboard&qid=1596727123&sprefix=jellycomb+%2Caps%2C161&sr=8-6

Or for ultra small and portable (and leaving a free USB slot) I have this foldable bluetooth keyboard and track pad too.  It folds into 3 sections so is very small when not in use, but opens up to a decent keyboard and track pad size when unfolded.  It also works with phones and tablets.

https://www.amazon.co.uk/Bluetooth-Keyboard-Jelly-Comb-Rechargeable/dp/B07BNKV756/ref=sr_1_9?dchild=1&keywords=bluetooth+keyboard+and+mouse&qid=1596891414&refinements=p_89%3AJelly+Comb%7CLogitech&rnid=1632651031&s=computers&sr=1-9



Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Offline Xerra

  • Hero Member
  • *****
  • Posts: 1174
  • Wait, what? This isn't Porn Hub?
    • Retro Evolved
Re: Retro Assembly Language
« Reply #8 on: August 08, 2020, 12:10:48 AM »
Ahem, cough.

Uncle Xerra has already had a play with this. Sadly I've not continued much with it yet even though I want to. his thread might give me a kick up the butt.

https://www.syntaxbomb.com/index.php/topic,6907.0.html

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #9 on: August 08, 2020, 12:16:57 AM »
Assembly Language is the new Python lol...I much prefer C myself though (to Python).

Yeah you should definitely continue with your assembly coding.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #10 on: August 08, 2020, 11:54:16 AM »
Hmm, well I've received all the extras, everything but the pi zero itself lol.  The problems of ordering from 2 different companies.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #11 on: August 10, 2020, 05:07:17 PM »
The Pi Zero arrived today, wow it's smaller than I remember.  Incredibly efficiently put together and looks fantastic in the case.  Clear acrylic so you can see the tiny components on the board, but with a black surround too.  The case is very nice indeed, the pictures don't do it justice.

https://thepihut.com/products/zebra-zero-heatsink-raspberry-pi-zero-case-black-ice

Set everything up using the keyboard/mouse:

https://www.amazon.co.uk/Wireless-Keyboard-Jelly-Comb-Computer-Black/dp/B0762CQQQP/ref=sr_1_6?crid=T9P1HBJX9DAT&dchild=1&keywords=jellycomb+keyboard&qid=1596727123&sprefix=jellycomb+%2Caps%2C161&sr=8-6

But to remove the need to take the only USB slot and keep the system small I'll probably use the Bluetooth option for general use:

https://www.amazon.co.uk/Bluetooth-Keyboard-Jelly-Comb-Rechargeable/dp/B07BNKV756/ref=sr_1_9?dchild=1&keywords=bluetooth+keyboard+and+mouse&qid=1596891414&refinements=p_89%3AJelly+Comb%7CLogitech&rnid=1632651031&s=computers&sr=1-9

You really do notice the speed difference between the pi zero and the pi 4, but that's the point.  I'll be treating it like a modern Amiga (all-be-it one that could fit it your pocket and costs £10) rather than a cheap PC Laptop.  Next to setup AGK, C and I'll be looking at Assembly Language after that.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 2566
  • I mostly code at night... Mostly.
    • SyntaxBomb - Indie Coders
Re: Retro Assembly Language
« Reply #12 on: August 10, 2020, 10:45:16 PM »
The pi-zero does look pretty cute :))

Good luck with learning Assembler. Remember to post code, comments and explanations so I can nick it and take credit ;D
Mac mini ( 2018 / 2020 ), 3 GHz 6-Core Intel Core i5, 16 GB 2667 MHz DDR4, 1TB NVMe, eGPU Radeon Pro 580 8 GB, LG Ultragear 27GL83A-B 27 Inch
Commodore VIC-20, 1.1Mhz MOS 6502 CPU, 5KB RAM, VIC ( 6560 ) GPU

Until the next time...

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #13 on: August 11, 2020, 12:44:13 PM »
Quote
The pi-zero does look pretty cute :))

Good luck with learning Assembler. Remember to post code, comments and explanations so I can nick it and take credit ;D

lol yes it's very cute (only 66.0mm x 30.5mm)  ;D  And still uses a bigger HDMI Port than the pi4.   :P

Thanks, will do...  :P

It's typical, the first computer I'd thought of for assembly language was the Spectrum Next (I didn't think that would ever come out, so I missed out)...Well I've just received the pi zero, and guess what?  The Spectrum Next is available to buy on Kickstarter 2 tonight...I don't think I'll go for it now...Probably not...But you know after a few beers you tend to buy things...  :))

Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 2862
  • elgol 2021
Re: Retro Assembly Language
« Reply #14 on: August 11, 2020, 09:45:04 PM »
Ooops I ordered a Spectrum Next on Kickstarter!   :D

The goal was reached in minutes so it's going ahead.  I guess I have some time before I actually receive a machine, so time I can use to learn Z80 Assembly Language and read the downloaded version of the manual until the physical one arrives - plus there's a Spectrum Next Emulator out there.  Programming on the very first computer I ever owned (in something other than BASIC) at last lol.  I still own my original ZX Spectrum (which no longer works).  Because it's hardware is implemented in FPGA technology, with no emulation in sight as they say on the Kickstarter Page all software and hardware peripherals are compatable.  Ofcourse I'll be taking advantage of the turbo modes, hardware sprites and scrolling, more memory, 256 colour modes and better sound too.

So it's Qube and Xerra on 6502 Commodore 64 and me on Z80 Spectrum Next Assembly Language as was the original idea of this thread.   :))
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal