• Please review our updated Terms and Rules here

Hello to vintage assembly coders

pjturpeau

New Member
Joined
Jan 6, 2022
Messages
4
Location
Bordeaux, FRANCE
Hello everyone,

I'm from France, as a child I owned an Amstrad CPC 6128, played with friends' Amiga/Atari machines, and then moved to the PC world.
I started assembly language coding on HP48 Saturn processeur and i386 in real mode.

I used to be an assembly language coder on Pentium P5 architecture for few demoscene prods (http://turpeau.net/babyloon/).
I really loved this time of simple programming environment and polished 2D productions. Of course, I'm amazed by what have been done by some people here: https://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-emulators/

As you can imagine, there're a lot of 2D effects and tricks that I haven't have the opportunity to understand and code at that time.
Few years ago I started to go back studying and coding simple stuffs and new effects in C for fun in an old-school fashion (homemade SDL2-based simple stupid zero-setup 8-bit framebuffer based library - like in good old 320x200x256 MCGA mode)
(https://gitlab.com/pjturpeau/oldskewlish/-/blob/master/docs/screenshots.md)

There're still a lot of fx/tricks to study and code in my TODO list, however I'm now feeling it's time to push a little further my old-schoolish approach towards a bit of CPU optimization.

While I would love to produce something finished and polished, I've lost all my past crappy code and I'm rebooting everything from scratch, this will be slow paced and will take time. Also, this would need to be part of any active demoscene group (code without decent gfx and sfx is nonsense) which is not the case anymore.

I've chosen to work on Pentium 1 P5 architecture (pre-1995) which is certainly not that vintage compared to other beasts.
However, I'm currently preparing a decent coding environment, which should match the environment I had and liked, under MSDOS 6.22 (Norton Commander, Doskey, Watcom, TASM, MultiEdit Pro, etc...) with DosBox / 86box. I'm still looking for the name of a resident software I used which gave quick access to interrupts list and other technical documents within the editor... Using Visual Studio Code directly is also an option, feeling would probably not be the same.

For real world testing purpose, I'm in the process of buying a low-cost Toshiba Satellite 210CS which seems just fine for that purpose (screen aside)

I'll probably need to collect spare units in case of HW failure however. I'm not a big collector though.

In the mean time, I'm reading Abrash and Fog books as-well-as ancient tutorials (thanks http://hornet.org).

Kind regards.
 
Welcome! That is great you are getting back into assembly/demo coding. HP48GX is my favorite calculator- got me through engineering school, and I still have it to this day but sadly batteries recently leaked and it’s not working. 😭 I am interested in 68k assembly so just ordered a book on that. I found this x86 project interesting which uses modern gcc to create a .COM file:
But I understand you are looking to keep it old school with your tools. Also Abrash black book code is here if you don’t already have: https://github.com/jagregory/abrash-black-book

I think one other thing you might want is a CRT. I feel like any old school graphics demo code just won’t have the same feeling without a CRT. Some day I will probably track one down myself for that purpose- doing some old school gfx asm coding. Good luck!
 
Welcome to the community, glad you have found us.

My best Intel assembly coded software was a PDP-11 emulator running with 4MB of emulated RAM, serial ports and an emulated MSCP disk drive and running the DEC RSX11M+ Operating System all running under DOS on a 486 processor...

I demonstrated this to Digital in the hope that they would be interested in a partnership. They were interested in getting back into the Process Control market with the Alpha and we were interested in upgrading all of our PDP-11 machines to Alpha’s.

The DEC techies were really impressed that it was working, but DEC weren’t interested in the partnership.

We replaced over 100 PDP-11 systems with PowerPC processors, as we found another partner!

Dave
 
Last edited:
Welcome. Glad ya liked 8088 MPH :D

When I started getting into assembly language, my target platforms were already vintage, and until now I've never quite managed to move up beyond real mode 8088 (and mostly CGA, with the exception of a VGA font editor). One of these days I'll have to get my act together and tackle some protected mode 3/486/Pentium stuff and better audio... the sort of things that exposed me to the demoscene in the first place.

A vintage-style programming environment isn't that important to me, and these days I mostly cross-assemble my 16-bit executables from FASM in Windows. But when it comes to execution, I have to agree with agentb about the CRT thing. Seeing those oldschool graphics on a flat panel isn't the same for me.

In any case, the world always needs more awesome DOS demos... these days the entire niche seems to revolve around 256-byte prods, which are fantastic mind you, but I'd love to see a resurgence of more elaborate entries. So whatever you're working on, keep it up!
 
I'm still looking for the name of a resident software I used which gave quick access to interrupts list and other technical documents within the editor...
Was it Help-PC? It's a fairly old (only covers up to the 80386 instructions) hypertext browser TSR that covers BIOS and DOS interrupts, x86 assembly, and other assorted topics.
 
I started with machine language a long long time ago. A friend gave me the DEC Intro to Programming as my first read on programming.
 
IBM used to have machine-language coding forms for some of their machines. I've used them. One thing that sticks with you are the operation codes--so you can read a dump without aid from other tools.
 
That was one of the nice things about BAL (Basic Assembly Languange) on the IBMs. The op-codes were always the same size and the
first byte? I rarely had to use my programmer card back then. It's been a long time, so I could be wrong on the size.
 
That was one of the nice things about BAL (Basic Assembly Languange) on the IBMs. The op-codes were always the same size and the
first byte? I rarely had to use my programmer card back then. It's been a long time, so I could be wrong on the size.
Are you talking about S/360 model 20 BAL or S/360 model 30+ assembly? They're not even remotely the same machines--and even the opcodes are different.
But the instruction lengths are different between RR RS, SS, etc. instructions. Opcode is always 8 bits, however.
 
I worked with Sperry 90/30 and 90/40 which were pretty much identical to the S360 (don't know which model). I would think it was the model 20. Long time ago. Yes, I meant the first 8 bits was the instruction. And some of the full instructions were longer than others.
 
Now? Unfortunately none. I worked for Sperry from 1981 to 1986 when they merged with Burroughs and became Unisys. What a disaster that was. Two totally different customer bases and two completely different architectures. As to your question above I did not know that about the different 360s. I never worked directly with any IBM systems.
 
I started with basic, but then started with assembly language, at time coding and assembling on paper… Z80 opcode I can remember is NOP. Mainly because it is 00…
 
But I understand you are looking to keep it old school with your tools. Also Abrash black book code is here if you don’t already have: https://github.com/jagregory/abrash-black-book

Yes I'm about to make it print so to have it paper back (used ones are overpriced!)

I think one other thing you might want is a CRT. I feel like any old school graphics demo code just won’t have the same feeling without a CRT. Some day I will probably track one down myself for that purpose- doing some old school gfx asm coding. Good luck!

A vintage-style programming environment isn't that important to me, and these days I mostly cross-assemble my 16-bit executables from FASM in Windows. But when it comes to execution, I have to agree with agentb about the CRT thing. Seeing those oldschool graphics on a flat panel isn't the same for me.

I agree, CRT is definitely a must-have.

Did anyone start with machine language coding? Or am I too old?

Nope, I started with BASIC and LOGO at 7 yo, but it was in 1984 :) (TO7 or MO5 machines at that time, i think)


Was it Help-PC? It's a fairly old (only covers up to the 80386 instructions) hypertext browser TSR that covers BIOS and DOS interrupts, x86 assembly, and other assorted topics.

Ah yes, it talks to me. It's probably Help-PC. I'll check, thanks.
 
Nope, I started with BASIC and LOGO at 7 yo, but it was in 1984 (TO7 or MO5 machines at that time, i think)

I think you misunderstood my question. I didn't ask about programming in assembly, but rather the raw binary (or decimal, depending on architecture) machine code. The alternative was symbolic programming (assembly). Consider Daniel McCracken's introduction to programming the IBM 1401.

Can you look at a hex dump of 8086 memory and identify subroutines, ISRs, etc.? That's machine code.
 
Ah yes :)

I had to interpret opcodes myself a little bit when I developed a disassembler / interpreter to emulate the pipeline of MIPS R3000 code in my Computer Architecture class back at my university. But it wasn't for coding.
 
Back
Top