|
|
(21 intermediate revisions by 5 users not shown) |
Line 12: |
Line 12: |
| To be added. | | To be added. |
| | | |
− | == Atari ST == | + | ==== Instructions timing ==== |
− | The Atari ST systems consists of the M68k system with custom hardware for graphics and sound. | + | The number of cycles for each instruction is different depending of processor model in M68K family. |
| + | : http://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/mc68000timing.HTML |
| | | |
− | === Setting up === | + | == Motorola M68K Platforms == |
− | Setting up your development platform for the Atari ST systems is quite easy, first get the following tools:
| + | *'''[[Atari ST]]''' - Atari ST Sizecoding information |
− | | + | *'''[[Atari Jaguar]]''' - Atari Jaguar Sizecoding information |
− | * Assembler: VASM - This assembler is able to assemble directly to a TOS image
| + | *'''[[Commodore Amiga]]''' - Commodore Amiga Sizecoding information |
− | * Emulator(s): -. Make sure to use the original TOS 1.62 Image for best compatibility. | |
− | | |
− | ==== Compiling to a TOS image ====
| |
− | Vasm -Ftos source.s -o source.tos
| |
− | | |
− | === Video display ===
| |
− | The Atari ST has a linear 320x200x4bit address space, which each nibble representing a color index 0..F from the palette.
| |
− | | |
− | To be added soon.
| |
− | | |
− | ==== Setting a palette ====
| |
− | Here is some code that will help you setup a palette
| |
− | | |
− | <syntaxhighlight lang="">
| |
− | pea palette(pc)
| |
− | move.w #6,-(sp)
| |
− | trap #14
| |
− | | |
− | ; Palette data
| |
− | palette:
| |
− | dc.w $000,$100,$200,$311,$422,$533,$644,$755
| |
− | dc.w $575,$464,$353,$242,$131,$020,$010,$000
| |
− | </syntaxhighlight>
| |
− | | |
− | ==== Getting something on screen ====
| |
− | Here is a bit of code to get you started:
| |
− | | |
− | <syntaxhighlight lang="">
| |
− | ;-----------------------
| |
− | ; Line-A Initialization
| |
− | ;-----------------------
| |
− | ; After calling this function, data register D0 and address register A0 point to a table ; with the starting address of the Line A variables.
| |
− | ; Address register A1 points to a table with the starting addresses for the three system ; font headers,
| |
− | ; and address register A2 points to a table that specifies the starting addresses of the; 15 Line A opcodes. There's no parameter required for this function, so all you have
| |
− | ; to do is call the word opcode label that you specified for the $A000 (Initialize)
| |
− | ; function.
| |
− | dc.w $A000
| |
− | movem.l (a0),a1-a4 ; A3=INTIN, A4=PTSIN
| |
− | | |
− | ;---------
| |
− | ; For X&Y
| |
− | ;---------
| |
− | frameloop:
| |
− | move.w #200-1,d7 ; y
| |
− | yLoop:
| |
− | move.w #320-1,d6 ; x
| |
− | xLoop:
| |
− | | |
− | ; Putpixel
| |
− | put_pixel:
| |
− | move.b d6,d0 ; d0=x
| |
− | eor d7,d0 ; d0=x^y
| |
− | lsr.b #2,d0 ; d0>>=4
| |
− | and #42,d0 ; d0&42
| |
− |
| |
− | move.w d0,(a3) ; a3=color(d0)
| |
− | movem.w d6/d7,(a4) ; a4=x,y`
| |
− |
| |
− | dc.w $A001 ; put pixel command
| |
− | | |
− | dbra d6,xLoop ; decrease and branch
| |
− | dbra d7,yLoop
| |
− | | |
− | ; Wait loop
| |
− | bra frameloop ; .s *
| |
− | | |
− | </syntaxhighlight>
| |
− | | |
− | === Sound ===
| |
− | The Atari ST systems use the YM8192 chip to generate sound.
| |
− | To be added soon.
| |
− | | |
− | ==== Make some noise ====
| |
− | To be added soon.
| |
− | | |
− | === Additional Resources ===
| |
− | Sizecoding on the Atari ST is not very huge yet, so resources are sparse. | |
− | * Spkr's Github: to be added | |
− | | |
− | == Commodore Amiga ==
| |
− | The Commodore Amiga system consists of the M68k system with custom hardware for graphics and sound.
| |
− | | |
− | === Setting up ===
| |
− | | |
− | * Assembler: -
| |
− | * Emulator(s): WinUAE
| |
− | | |
− | === Video display ===
| |
− | No information yet
| |
− | | |
− | === Sound ===
| |
− | No information yet
| |
Wanting to start sizecoding on a Motorola 68k platform in this day and age can be tough.
The Motorola 68k processor...
To be added.
The number of cycles for each instruction is different depending of processor model in M68K family.