EEVblog Electronics Community Forum
Products => Computers => Vintage Computing => Topic started by: DiTBho on February 06, 2025, 04:09:43 pm
-
- Programming the M68000, Tim King and Brian Knight, Addison Wesley 1983
- Programming the M68000 2nd Edition, Tim King and Brian Knight, Addison Wesley
- 68020 Programming by Example, Stan Kelly-Bootle, Addison Wesley
- 68030 Assembly Language Ref, Steve Williams, Addison Wesley
I programmed m68k in assembly (hobby and business) many years ago.
I'm a bit rusty, because then I moved on to RISC, in particular PowerPC 4xx and MIPS32.
I don't own any of these books, but I need to perfection my assembly programming, especially with 68020 and 68030.
What do you think about?
(hard to find on Amazon, I am looking on eBay)
-
Hello,
Just to give you an idea,
You can find 68030 Assembly Language Ref from Steve Williams on archive.org:
https://archive.org/details/68030assemblylan0000will/mode/2up
And Programming the M68000 from Tim King:
https://archive.org/details/programmingm68000000king/mode/2up
Marc
-
- Programming the M68000, Tim King and Brian Knight, Addison Wesley 1983
I'd recommend that one but it is for the 68000, not the 020 or 030. I bought mine when I was programming my Sage IV 68000 computer in 1983. Abe Books is advertising a couple of copies for sale. It is only 150 pages but I reckon it has much more useful information and examples in it than others that I have that are 2-3 times the size - it is free of the usual fluff and padding that was common at the time.
If you want some real world 68000 examples you can download the official Sage sources from my website:
https://www.astrobe.com/Sage/ (https://www.astrobe.com/Sage/)
They include the source code for:
- Sage boot ROM
- Sage Debugger Tool (SDT)
- Sage BIOS
- SAGE4UTIL
- several other utilities.
The source listings are in MC68000 assembler and are well documented with in-line comments.
-
Abe Books is advertising a couple of copies for sal
Yeah, Abe Books is *THE* reference for books that are no longer in print.
Unfortunately they don't accept Paypal, only credit card payments.
They also have a beautiful and very rare book for computer science PhD students, written in 2001, never reprinted after 2008.
Not about m68k, but rather the design and implementation of RISC CPUs.
I'm keeping an eye on it, even though ... in total I would spend 150 euros + importing fees (23%).
Very very expensive!
- Programming the M68000, Tim King and Brian Knight, Addison Wesley 1983
I found a paper copy in excellent condition, for 40 euros shipped: bought! ;D ;D ;D
p.s.
Probably the "extra pages" version is the second edition.
I am unable to find a copy, neither a digital one to get an idea, nor a physical one to buy :-//
-
If you want some real world 68000 examples you can download the official Sage sources from my website:
Sage/ (https://www.astrobe.com/Sage/)
They include the source code for:
- Sage boot ROM
- Sage Debugger Tool (SDT)
- Sage BIOS
- SAGE4UTIL
- several other utilities.
The source listings are in MC68000 assembler and are well documented with in-line comments.
Thanks! It's *very* useful! :-+
-
archive.org
I saw it, but it can't download pdfs, and some pages are missing.
-
You can download the 68030 book from Anna's Archive.
They don't give me any access.
I see the home page, but if I try to search something, it always returns fancy errors.
Claiming that the address is unreachable.
This site can’t be reached
annas-archive.org refused to connect.
Try:
Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED
What? :-//
P.S. Can you clarify what you are trying to achieve? Are you planning to write a significant body of 68K assembly language code? Why?
For several reasons, mainly because I wrote a calculator in 2011, using a Motorola 68000 evaluation board.
Nothing fancy, but it supported both softfloat and fixedpoint and used the physical shell of a CASIO graphing calculator as input/output.
The application is all written in Motorola assembly, recently converted to Binutils/68k assembly.
It is fucused on a matrix calculation for solving systems of linear equations, even with complex numbers.
There is also a graphing module, very basic. It only plots y=f(x) things on the 128x128 LCD.
The CPU on the evaluation board is mounted on a "CPU module", which is upgradeable.
I recently bought 68020 and 68030(1) CPU modules and would like to "improve" my old calculator.
I'm not that good, but it would be nice to add some of the stuff Texas Instruments put in the TI89 and T92 ;D
(1) the 68020 cpu_module works perfectly, the 68030 cpu_module does not work.
I think it needs capacitors replaced and possibly other repairs, nothing serious.
-
... using a Motorola 68000 evaluation board ...
The CPU on the evaluation board is mounted on a "CPU module", which is upgradeable.
Are you using a MOTOROLA IDP board?
The application is all written in Motorola assembly, recently converted to Binutils/68k assembly.
With Gas, you can use the Motorola syntax with the MRI option
-
With Gas, you can use the Motorola syntax with the MRI option
I know this option exists, but it dosn't work great for me, and things like .org have a completely different meaning from Motorola assembler to GNU assembler.
I experimented so many annoying problems that I decided to rewrite everything, and it was a good occastion to clean up my code.
-
I have 2 motherboards and 2 CPU modules (000 et 060)
Do you have any documentation other than that which I have posted here?
http://marc.retronik.fr/motorola/?dir=68K/VME/Non-VME%20Hardware (http://marc.retronik.fr/motorola/?dir=68K/VME/Non-VME%20Hardware)
-
First impression about the book "Programming the 68000 bv King & Knight, 1983"
* * *
I bought a paperback on eBay, first printing.
It arrived and I looked with great interest at the part that describes the monitor.
It's a basic short but very good example, with a minimal exception handler.
It can be used to get familiar with a board you are building,
but definitely needs more features to make it actually usable.
Then I looked at the rest of the book very quickly.
In a few pages they summarize the most important things, but nothing more in depth.
It is certainly a book that helps you get an idea of how to program the 68000
and to freshen up the rust of not programming for at least 10 years, like in my case
but it doesn't add anything advanced.
-
I can recommend "68000 assembly language programming" by Gerry Kane Doug Hawkins & Lance A Leventhal. My own copy is well thumbed.
https://www.amazon.co.uk/68000-assembly-language-programming-Gerry/dp/0931988624 (https://www.amazon.co.uk/68000-assembly-language-programming-Gerry/dp/0931988624)
-
I can recommend "68000 assembly language programming" by Gerry Kane Doug Hawkins & Lance A Leventhal. My own copy is well thumbed.
thanks :D
-
I can recommend "68000 assembly language programming" by Gerry Kane Doug Hawkins & Lance A Leventhal. My own copy is well thumbed.
https://www.amazon.co.uk/68000-assembly-language-programming-Gerry/dp/0931988624 (https://www.amazon.co.uk/68000-assembly-language-programming-Gerry/dp/0931988624)
I love the Leventhal Assembly books.
My 6809, Z80 & 6502 books are well worn
-
First impression about the book "Programming the 68000 bv King & Knight, 1983"
* * *
I bought a paperback on eBay, first printing.
It arrived and I looked with great interest at the part that describes the monitor.
It's a basic short but very good example, with a minimal exception handler.
It can be used to get familiar with a board you are building,
but definitely needs more features to make it actually usable.
Then I looked at the rest of the book very quickly.
In a few pages they summarize the most important things, but nothing more in depth.
It is certainly a book that helps you get an idea of how to program the 68000
and to freshen up the rust of not programming for at least 10 years, like in my case
but it doesn't add anything advanced.
However, keep in mind that these books can be quite expensive. I found a copy of “Programming the M68000” in excellent condition for 40 euros shipped. For more help, you might consider https://onlinepaperhelp.net/ online paper help. They offer services that can supplement your study materials. Remember that reviewing these resources again will help you get back up to speed programming assembly on these processors.
It sounds like a solid introduction but lacks depth! Would you recommend it for someone completely new to 68000, or is it too brief?
-
- Programming the M68000, Tim King and Brian Knight, Addison Wesley 1983
- Programming the M68000 2nd Edition, Tim King and Brian Knight, Addison Wesley
- 68020 Programming by Example, Stan Kelly-Bootle, Addison Wesley
- 68030 Assembly Language Ref, Steve Williams, Addison Wesley
I programmed m68k in assembly (hobby and business) many years ago.
I'm a bit rusty, because then I moved on to RISC, in particular PowerPC 4xx and MIPS32.
I don't know if this is a stupid question, but if you know how to program in one assembly language -- ANY -- then why do you need more than just the official ISA manual or, in the case of old things such as 68000, 68020, 8086, 6502, z80 etc that don't have an ISA, the processor reference manual?
-
I don't know if this is a stupid question, but if you know how to program in one assembly language -- ANY -- then why do you need more than just the official ISA manual or, in the case of old things such as 68000, 68020, 8086, 6502, z80 etc that don't have an ISA, the processor reference manual?
The question is not stupid, a rigorous answer in scientific terms should deal with neuroscience, specific studies on how the human brain learns, assimilates and metabolizes what it learns and retains its knowledge.
To put it very quickly, programming in assembly and speaking a foreign language are very different cognitive activities from riding a bicycle.
Programming and speaking languages do not involve motor activities, this means that very different areas of the brain are involved, and this is bad, because while once you learn to ride a bicycle, you can also go years without riding it, and I would still be able to get on the saddle, ... with foreign languages and programming ... if you don't refresh your skills daily ... after a while you forget chunks of your memory bytes permanently.
Fortunately, not entirely. Something remains, buried under crusts of rust.
I specifically programmed 68000 assembly, the last project in 2015 for a 2000 PDA-68k based, and I haven't done anything serious with 68k for at least 10 years.
Of course, I haven't completely forgotten the basic concepts, on a neuro-cognitive level I remember 70% of the basic constructs very well, but on an associative level (when I am in front of the text editor, to type things) I struggle a lot, and I often confuse them with things that have nothing to do with 68k.
In addition to this, I have never written anything for 68020 and 68030, which have instructions that are new to me, never used. As for how I refresh my memory and learn things, I prefer a book that illustrates the various use cases, rather than a mere UM, which by the way I would have to consult on PDF, because I'm not even at home, where I have all the paper manuals.
And, I prefer the paper version, a good paper book, in this case :-//
-
@brucehoult
several months ago, I sent you two PMs about my "tr-mem" results.
I didn't get a response.
I know some PMs might have gotten lost because it's happened before.
If so, let me know and I'll resend them :-//
-
I don't know if this is a stupid question, but if you know how to program in one assembly language -- ANY -- then why do you need more than just the official ISA manual or, in the case of old things such as 68000, 68020, 8086, 6502, z80 etc that don't have an ISA, the processor reference manual?
[...]
I specifically programmed 68000 assembly, the last project in 2015 for a 2000 PDA-68k based, and I haven't done anything serious with 68k for at least 10 years.
Ok, if you're simply rusty in asm programming in general, then fair enough, though I guess I'd refresh myself on the thing I already knew.
Of course, I haven't completely forgotten the basic concepts, on a neuro-cognitive level I remember 70% of the basic constructs very well, but on an associative level (when I am in front of the text editor, to type things) I struggle a lot, and I often confuse them with things that have nothing to do with 68k.
I find a one-page "cheat sheet" useful for this, with a thick reference manual/PDF handy if the one-page thing doesn't jog the memory sufficiently.
But fundamentally all common CPUs are the same, it doesn't matter whether 6502, the latest Core i9, Arm, 68k etc. They all have registers, data movement, arithmetic, boolean operations including shifts or rotates, some way to compare and branch, some set of addressing modes.
I don't personally find tutorials or example code useful, beyond the simplest "hello world" or "blinky" getting started example -- which is usually more about the syntax for that particular assembler, the flags to assembler and linker, how to run the finished program. Or examples of how to use weird things such as GPIO, UART, SPI, DMA etc peripherals ... not the core CPU instructions.
-
@brucehoult
several months ago, I sent you two PMs about my "tr-mem" results.
I didn't get a response.
I know some PMs might have gotten lost because it's happened before.
If so, let me know and I'll resend them :-//
Ahhhhh ... yeah .. in the pre-Christmas rush. Looked like it needed too much thinking at that time. I'll take a look.
-
The "M68000 8-/16-/32-Bit Microprocessors User’s Manual, Ninth Edition" has a good summary of instructions, it's available in the Amiga-2000-EATX repo on Github https://github.com/jasonsbeer/Amiga-2000-EATX/blob/main/DataSheets/680000-datasheet.pdf [sic]
-
The "M68000 8-/16-/32-Bit Microprocessors User’s Manual, Ninth Edition" has a good summary of instructions
I already have a paper version, but it's not what I was looking for.
Anyway, I solved it. If you notice, the topic is from several months ago! :D
-
Like several others here, I'd recommend Programming the M68000 by Tim King and Brian Knight. I still have my copy from when I speedwired a 68K board as a kid, it's a great intro to working with the 68K.
-
My 'goto' books for the 68000 back in the day were
- 68000 sourcebook, by Alan Clements, ISBN 0070113211 - a compendium of Motorola and 3rd party 68K family datasheets, application notes and published articles, which in the days before the consumer internet were very difficult to acquire in any other format. Hardcover, slightly under A4 page size and a hefty 2.9 kg!
- M68000 16/32-Bit Microprocessor Programmer's Reference Manual, by Motorola Inc - a book format datasheet covering the architecture and instruction set, with detailed instruction descriptions. Softcover + small and light enough to flick through at the keyboard!
-
Dug up my copy of Programming the 68K, one owner from new:
[attachimg=1]
Including corrections (not sure how visible the pencil annotations will be):
[attachimg=2]
Does anyone know if the second edition included corrections?
-
My 'goto' books for the 68000 back in the day were
- 68000 sourcebook, by Alan Clements, ISBN 0070113211 - a compendium of Motorola and 3rd party 68K family datasheets, application notes and published articles, which in the days before the consumer internet were very difficult to acquire in any other format. Hardcover, slightly under A4 page size and a hefty 2.9 kg!
- M68000 16/32-Bit Microprocessor Programmer's Reference Manual, by Motorola Inc - a book format datasheet covering the architecture and instruction set, with detailed instruction descriptions. Softcover + small and light enough to flick through at the keyboard!
I don't have the "68000 sourcebook" by Alan Clements, but I read another book he wrote.
At the time accessing the university book area was the best and only way.
Today you download a pdf, or an ebook, or an ePub for your Kindle, and you read it comfortably wherever you want.
Talking about library, I don't have much space in my apartment, also because I dedicated an entire room (5m x 5m) to two racing bikes, their maintenance, parts, and tools, but I created a corner for books.
Just, I had to move the books from the attic, where I stored them, and build a brand-new bookcase. I didn't want to buy ne from Ikea, although I really like their standing desks, and their furniture in general. And I also really like the Swedish policy they have for using wood and recycling materials.
I preferred to build a bookcase myself, made with steel rods, which hold wooden parts.
I bought a few books, about UNIX, that I haven't read yet, about compilers, about the TCP/IP stack (TCP/IP illustrated), etc.
Not a lot, but they are all things that sooner or later you encounter when programming on GNU/Linux.
Then there's the CPU part...
... and only the part of books and motorola { 68hc11{A, E, F}, 68k{ 68008, 68000, 68010, 68020, 68030, 68060, 683xx }, 88k, ppc{601, 603, 604, 750, 74xx, 4xx} } mips {I, II, III, IV, 32} manuals, we are about 80Kg of paper!
I had to reinforce the shelves with metal plates, they hold ~25kg each, and I had to divide the books over multiple shelves :o :o :o
-
(yes, I still miss Coldfire stuff)
-
I had to reinforce the shelves with metal plates, they hold ~25kg each, and I had to divide the books over multiple shelves :o :o :o
I've got bookcases with 20mm pine shelves and 30mm nosing, they're not going anywhere. Never measured the loading on each shelf but the most density per shelf would be the journals which I'm sure are more than 30kg per shelf. The floor in that room has extra bearers under it too.
-
I've got bookcases with 20mm pine shelves and 30mm nosing, they're not going anywhere.
Never measured the loading on each shelf but the most density per shelf would be the journals which I'm sure are more than 30kg per shelf.
The floor in that room has extra bearers under it too.
Pine shelves are better! But it's also better to be cautious when it comes to specs.
I'm using chipboard, literally shavings and sawdust mixed with resins.
The specs say no more than 30Kg.
The floor in that room has extra bearers under it too.
The floor is a problem, it doesn't have tiles, it's a wooden floor. It can't hold much concentrated weight, it risks breaking.
Better to distribute the weight over as large a support surface as possible.
This is reason #2 why I distributed the books on many more shelves.
-
Actually it wasn't always like that, the floor formerly had a used-to-be bearer under it. The house is built against a slope and in the 50-odd years since it was built earth had piled up against it, meaning waterlogged clay. So what was left of the first bearer was, from the side you could see, a solid beam, and from the other side a sort of C-shaped hollow with everything inside rotted out.
There's now several tons of of reinforced concrete under there holding things up.
-
- 68000 sourcebook, by Alan Clements, ISBN 0070113211 - a compendium of Motorola and 3rd party 68K family datasheets, application notes and published articles, which in the days before the consumer internet were very difficult to acquire in any other format. Hardcover, slightly under A4 page size and a hefty 2.9 kg!
+ ~2Kg for my shelf :o :o :o
followed your advice, I asked to borrow a copy of that book from a local library.
Got replied: "sure, we have it, but it's looking for a new home.
If you donate a few pounds, you can take it home for ever ...
... otherwise it will be destroyed. It's too old and obsolete for the library"
Hardcover, I also bought some glue and fixed the two or three things that needed fixing
It looks almost as good as new!
-
This book is great!
-
I forgot to mention two others (they'll add 2.4Kg to your bookshelf) which have a lot of additional info on real world applications.
Another book by Steve Wiiliams: Programming the 68000, Sybex 1985.
A summary can be seen on the image of the back page here:
https://www.amazon.com.au/Programming-68000-Steve-Williams/dp/0895881330 (https://www.amazon.com.au/Programming-68000-Steve-Williams/dp/0895881330)
and another one by Alan Clements: Microprocessor Systems Design, 68000 Hardware, Software and Interfacing
https://www.amazon.com.au/Microprocessor-Systems-Design-Alan-Clements/dp/0534948227 (https://www.amazon.com.au/Microprocessor-Systems-Design-Alan-Clements/dp/0534948227)
That book describes more of the hardware / electronic design as well as the software design of 68000 systems than the others.
-
That second book is listed for $350 on Amazon, interested readers may want to skip it on there an go to Abebooks (also Amazon under an alias) where it's $5.70 (https://www.abebooks.com/Microprocessor-Systems-Design-68000-Family-Hardware/32157594938/bd).
-
That second book is listed for $350 on Amazon, interested readers may want to skip it on there an go to Abebooks it's $5.70.
Comparing two different editions, brand new vs second hand, ...
-
An Introduction to 68000 Assembly Language - PENFOLD (https://worldradiohistory.com/UK/Bernards-And-Babani/Bernards/BP184-An-Introduction-to-68000-Assembly-Language.pdf) looks like an easy read.
Also found this list (https://www.computinghistory.org.uk/sec/1375/6800-Series-Microprocessor/) of both 6800 and 68K titles.
-
While just investigating a S100 68000 PCB on eBay I was led to another 68000 hardware-oriented book:
68000 Microcomputer Systems: Designing and Troubleshooting by Alan Wilcox
archive.org has a pdf copy:
https://archive.org/details/68000-microcomputer-systems-wilcox
-
68000 Microcomputer Systems: Designing and Troubleshooting by Alan Wilcox
That's great!
Found a paper copy, ex library.
Bought immediately :)