UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Closed Thread
 
Thread Tools
Old 11th Feb 2017, 8:52 am   #41
Dave Moll
Dekatron
 
Dave Moll's Avatar
 
Join Date: Feb 2005
Location: West Cumbria (CA13), UK
Posts: 6,113
Default Re: They don't come much more Vintage than this

Quote:
Originally Posted by AndrewScarr View Post
Later we used Marked Sensed Punched cards. These were blank 80 column punched cards which we marked with a pencil, and which would then be automatically punched, before the operator would load and run them.
I've not come across those. Fortunately, for my first experience of programming (also using 80-column punched cards) while I was at school, I had access to a manual card punch. This consisted of a plate that held a single blank card and had a set of twelve keys - one for each row of the card, stepping to the next column each time a combination of keys was pressed. At the time I got fairly fast at converting the characters on a coding sheet into the correct combination of keystrokes, though not quite up to the speed of typing on a QWERTY keyboard.
__________________
Mending is better than Ending (cf Brave New World by Aldous Huxley)
Dave Moll is offline  
Old 11th Feb 2017, 5:23 pm   #42
dseymo1
Retired Dormant Member
 
Join Date: Dec 2007
Location: Shropshire, UK.
Posts: 3,051
Default Re: They don't come much more Vintage than this

Now why wasn't the sense / punch machine set up as a direct input device?
dseymo1 is offline  
Old 11th Feb 2017, 7:20 pm   #43
Dave Moll
Dekatron
 
Dave Moll's Avatar
 
Join Date: Feb 2005
Location: West Cumbria (CA13), UK
Posts: 6,113
Default Re: They don't come much more Vintage than this

Yes, if they had done that, it would have been possible to correct cards by simply rubbing out the incorrect pencil markings and pencilling in the correct ones. Once a hole has been punched, it can't easily be erased.

Someone clearly missed a trick there.
__________________
Mending is better than Ending (cf Brave New World by Aldous Huxley)
Dave Moll is offline  
Old 11th Feb 2017, 9:15 pm   #44
IanBland
Hexode
 
Join Date: May 2015
Location: Northampton, Northants, UK.
Posts: 380
Default Re: They don't come much more Vintage than this

Regarding machine code vs assemblers, I think it depends what you mean by an assembler. The most basic "pure" assembler just translates mnemonics into hex codes, and maybe works out your relative jumps for you as a kindness. That to me is the same as "machine code" programming, unless machine code literally means memorising all the hex codes.

However assemblers usually offer many highly advanced features these days, such that they are more like a high level language that separates you from the hardware. Macros, variables, etc. I agree that this form of coding also separates one from the manual optimisations at the instruction and "raw memory" level.

My memories of machine code programming on my ZX81 and Spectrum consisted of writing it all out in pencil on sheets of A4, manually translating it to Hex and counting back and forth for the JR, DJNZ etc instructions. And fun tricks like shifting the machine stack into the Display File to write to the screen, heh.
IanBland is offline  
Old 16th Feb 2017, 3:17 pm   #45
ricard
Octode
 
ricard's Avatar
 
Join Date: Mar 2006
Location: Lund, Sweden
Posts: 1,631
Default Re: They don't come much more Vintage than this

I agree with Ian, especially the assemblers for 8 bit CPUs like the Z80 don't do any form of memory allocation or anything else behind the programmer's back, and the only service they provide is the mapping of mnemonics to machine code instructions and relative jump calculations.

Sometimes they needed to be coaxed into doing things that they weren't really capable of though. A well-known trick on the Z80 is to refer to half of the IX or IY registers, by taking opcodes for the HL register and prefixing them with DDh (IX) or FDh (IY). This is kosher for opcodes that refer to the complete 16 bit HL register, but not for the 8 bit constituent halves. In practice though, all Z80 variants supported this, but of course there were no official mnemonics for these registers and resulting opcodes and I think few if any assemblers supported them. On the other hand, in practice, it was not more difficult than preceding an LD A,H with a DEFB 0DDh in order to supply the necessary prefix byte. And it certainly would not have warranted switching to pure machine code for this.
ricard is offline  
Old 17th Feb 2017, 12:12 am   #46
IanBland
Hexode
 
Join Date: May 2015
Location: Northampton, Northants, UK.
Posts: 380
Default Re: They don't come much more Vintage than this

I must admit I never found the "extra" opcodes much use, but then I always avoided ix and iy like the plague, because all the instructions are so sloooowwwwww. But anyway, for me, machine code/assembler is being "close to the metal" in a way higher level languages cannot be.

To be fair though, mostly the kind of pure machine code we're discussing would be basically impossible with the complexity of modern architectures.
IanBland is offline  
Old 17th Feb 2017, 1:35 pm   #47
bluepilot
Heptode
 
Join Date: Feb 2010
Location: Duffort, Gers, France
Posts: 713
Default Re: They don't come much more Vintage than this

Quote:
Originally Posted by IanBland View Post
machine code/assembler is being "close to the metal" in a way higher level languages cannot be.
I remember many years ago programming a SEL 32/77. SEL had their own version of Fortran which included many weird features including an "inline" command. You could start off in Fortran, include an "inline" command and carry on in assembler. It was useful at times and fun even when it wasn't useful. Completely incompatible with every assembler and every other version of Fortran. I often wondered what they did with my code when they had to convert it to another machine a few years later.
__________________
Stuart

The golden age is always yesterday - Asa Briggs
bluepilot is offline  
Old 17th Feb 2017, 2:00 pm   #48
mole42uk
Nonode
 
mole42uk's Avatar
 
Join Date: Aug 2010
Location: Resolfen, Wales; and Bristol, England
Posts: 2,587
Default Re: They don't come much more Vintage than this

Quote:
Originally Posted by IanBland View Post
the kind of pure machine code we're discussing would be basically impossible with the complexity of modern architectures.
Very true. Coupled with the way my brain has slowed over the last 40 years.
__________________
Richard

Index:
recursive loop: see recursive loop
mole42uk is online now  
Old 25th Mar 2017, 2:48 am   #49
space_charged
Hexode
 
space_charged's Avatar
 
Join Date: Dec 2014
Location: West Midlands, UK.
Posts: 315
Default Re: They don't come much more Vintage than this

Quote:
Originally Posted by Dave Moll View Post
The big problem with programming directly in machine code is that if code needs to be moved, any address references need to reflect this.
With most computers, it is possible to write position independent code (PIC). All the device drivers I've written for early computer in the seventies required that they be written as PIC code.
Charles
space_charged is offline  
Old 29th Mar 2017, 1:06 pm   #50
SteveCG
Nonode
 
Join Date: Jun 2009
Location: Herefordshire, UK.
Posts: 2,495
Default Re: They don't come much more Vintage than this

Bluepilot,

What you describe reminds me of the way Assembler could be included in Acorn/BBC Basic programmes in the early 1980s.
SteveCG is offline  
Old 29th Mar 2017, 2:39 pm   #51
Dave Moll
Dekatron
 
Dave Moll's Avatar
 
Join Date: Feb 2005
Location: West Cumbria (CA13), UK
Posts: 6,113
Default Re: They don't come much more Vintage than this

Indeed, this sounds like a description of assembly language code to me - which is what I was contrasting with programming directly in numeric machine code, where addresses are given as:
1) an absolute address
2) an offset relative to the instruction or
3) an offset relative to a value in a register.

In each case, anything that moves the item referenced (be it data or a jump destination) will potentially change the value of the address.

I would, however, agree that all but the earliest computers provided a means (usually through some form of assembly language) to write code with symbolic addresses whose values are then resolved into actual addresses at the time of assembly into object code.
__________________
Mending is better than Ending (cf Brave New World by Aldous Huxley)
Dave Moll is offline  
Closed Thread

Thread Tools



All times are GMT +1. The time now is 7:44 am.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.