Where do I start? I'm seeking technical documents.
Moderator: BigEvilCorporation
Re: Where do I start? I'm seeking technical documents.
Thanks! Yeah, I had read about those colors 14 and 15 of the 3rd palette - weird, but could be useful for some tricks.
I guess I'm at least 90% fine with the VDP inner workings. Where can I read now about the CPU? So far I only know what's written at the Motorola 68000 Wikipedia page, and of course I need to dig on.
I guess I'm at least 90% fine with the VDP inner workings. Where can I read now about the CPU? So far I only know what's written at the Motorola 68000 Wikipedia page, and of course I need to dig on.
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Re: Where do I start? I'm seeking technical documents.
http://www.tmeeco.eu/SMD/68000.pdf
http://www.tmeeco.eu/SMD/68000REF.TXT
http://www.tmeeco.eu/SMD/68Ktiming.txt
http://www.tmeeco.eu/SMD/68Ktiming2.txt
http://www.tmeeco.eu/SMD/M68000PRM.pdf
http://www.tmeeco.eu/SMD/MC68000UM.pdf
These should get you going
http://www.tmeeco.eu/SMD/68000REF.TXT
http://www.tmeeco.eu/SMD/68Ktiming.txt
http://www.tmeeco.eu/SMD/68Ktiming2.txt
http://www.tmeeco.eu/SMD/M68000PRM.pdf
http://www.tmeeco.eu/SMD/MC68000UM.pdf
These should get you going
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
Re: Where do I start? I'm seeking technical documents.
Thank you - I'm reading them. A lot of addressing modes! Multiplications and divisions, 32 bit registers... why is that called a 16-bit processor?
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
Re: Where do I start? I'm seeking technical documents.
Because it uses a 16 bit ALU to do arithmetic/logic computations. Hence the reason that byte and word ops take the same time, but long ops take more cycles, even when done register to register.
Re: Where do I start? I'm seeking technical documents.
Actually I just realized it's a mistake on my side: the MegaDrive is a so-called "16-bit home video game console", but the Motorola 68000 is a 32bit CISC processor.
As for the ALU, that was my suspect too, but years ago I discovered that ALU word size has nothing to do with processor word size - the Zilog Z80 has a 4-bit ALU.
As for the ALU, that was my suspect too, but years ago I discovered that ALU word size has nothing to do with processor word size - the Zilog Z80 has a 4-bit ALU.
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.
Re: Where do I start? I'm seeking technical documents.
Both the ALU and data bus are 16-bit on the 68000, and 32-bit operations always take longer (aside from stuff involving just moving between registers).
The bit number is meaningless as a precise definition... It really just refers to the word size at which the CPU is doing its best (and on 68000 doing 16-bit calculations is much better than 32-bit, much like how on Z80 most stuff is 8-bit and only a few slower operations are 16-bit).
The bit number is meaningless as a precise definition... It really just refers to the word size at which the CPU is doing its best (and on 68000 doing 16-bit calculations is much better than 32-bit, much like how on Z80 most stuff is 8-bit and only a few slower operations are 16-bit).
Sik is pronounced as "seek", not as "sick".
Re: Where do I start? I'm seeking technical documents.
True, but I would say that the length in bits of the accumulator register (or any data register for processors lacking a designated accumulator) would be a good way to define it. For instance:
Zilog Z80: A is 8 bits. Yes, you've got register pairs such as BC, DE, HL and some 16 bits operations, such as stack PUSH and POP
Intel 8086: AX is 16 bits, even if you can use AH and AL parts (8 bits each) and some opcodes use DX:AX register pair
ARM arm7tdmi: r0 (or any other general purpose register) is 32 bits - even if, for instance, thumb opcodes are 16 bits
MC68k: d0 (or any other data/address register) is 32 bits
just my opinion, of course.
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.
Re: Where do I start? I'm seeking technical documents.
If we are talking about marketing the strategy is clear: the biggest the number the most impression on the clients you are going to make, this way when they ponder if they should buy the hardware the benefit/cost ratio seems more favourable to the customer.
But in computers this is old stuff, don't affect much right now, probably due to too much use.
If we are talking about hardware design one number is not enough to describe it.
Perhaps you are mixing both semantic areas.
But in computers this is old stuff, don't affect much right now, probably due to too much use.
If we are talking about hardware design one number is not enough to describe it.
Perhaps you are mixing both semantic areas.
HELP. Spanish TVs are brain washing people to be hostile to me.
Re: Where do I start? I'm seeking technical documents.
sure, that was simply my opinion - the way I personally choose to categorize CPUs - surely not the revealed truth, I'm sorry if I ever given the impression that I'm here to teach, as I'm here to learn, not to teach (and beside that I think I haven't got anything particular to teach anyway )
Still reading all the CPU docs, it'll take a while.
When can I find small code snippets to see if I start to understand how it works?
Still reading all the CPU docs, it'll take a while.
When can I find small code snippets to see if I start to understand how it works?
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
Re: Where do I start? I'm seeking technical documents.
Easy68K has lots of example code, but here's a nice mini guide that uses Easy68K:
https://simpledevcode.wordpress.com/201 ... ogramming/
https://simpledevcode.wordpress.com/201 ... ogramming/
Re: Where do I start? I'm seeking technical documents.
More than you personal view, is what everyone write on Internet, but that knowledge comes from selling. When a "new generation" comes marketing people have to convince millions of people, not necessary with any knowledge of computers and alike, to buy a new apparatus, while most of them already have a machine from previous generation. So the most obvious technique is to say this new one is "times better" than the older. For a period 8bits, 16bits, 32bits, 64bits... fitted perfectly.sverx wrote: ↑Fri Mar 09, 2018 12:12 pmsure, that was simply my opinion - the way I personally choose to categorize CPUs - surely not the revealed truth, I'm sorry if I ever given the impression that I'm here to teach, as I'm here to learn, not to teach (and beside that I think I haven't got anything particular to teach anyway )
I think you are trying to make an agreement between popular knowledge and a detailed one. All I'm saying is don't do it, live with both.
Last edited by Miquel on Fri Mar 16, 2018 5:03 pm, edited 2 times in total.
HELP. Spanish TVs are brain washing people to be hostile to me.
Re: Where do I start? I'm seeking technical documents.
Anyway, for many kinds of operations the 68000 can work with 32-bit values with only a small penalty (sometimes only on registers though), much less than if you had to use two 16-bit operations. You should stick to 16-bit values where you don't need more anyway (which is most things), but 32-bit is there when you need it.
Some of the complex or uncommon stuff like multiplication or BCD is where you don't get the luxury of 32-bit. In practice it's not stuff you'll be touching often.
Some of the complex or uncommon stuff like multiplication or BCD is where you don't get the luxury of 32-bit. In practice it's not stuff you'll be touching often.
Sik is pronounced as "seek", not as "sick".
Re: Where do I start? I'm seeking technical documents.
Now going deeper into the MegaDrive topic. Any code collection/library/devkit to program the thing in 68k asm?
Also, what's the assembler/editor/IDE of choice?
Also, what's the assembler/editor/IDE of choice?
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.
Re: Where do I start? I'm seeking technical documents.
SGDK. You can call the same functions as in C, but write your own code in GNU as.
Re: Where do I start? I'm seeking technical documents.
Sorry, I actually meant to say I wanted to read asm code that does basic functions, such as writing to VDP register, setting VRAM address and so on...
sverx [zvɛrks]: Nintendo DS/GBA & SEGA Master System retrodeveloper, Disjointed Studio co-founder & coder, devkitSMS author.