Difference between revisions of "Motorola 68000"
Line 97: | Line 97: | ||
Sizecoding on the Atari ST is not very huge yet, so resources are sparse. | Sizecoding on the Atari ST is not very huge yet, so resources are sparse. | ||
* Spkr's Github: to be added | * 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 |
Revision as of 04:33, 6 July 2020
Contents
Introduction
Wanting to start sizecoding on a Motorola 68k platform in this day and age can be tough.
So here is a bit of help to get you started:
The Motorola 68k processor
The Motorola 68k processor...
Note: Assigment direction is source,dest instead of dest,source !!!
Registers
To be added.
Atari ST
The Atari ST systems consists of the M68k system with custom hardware for graphics and sound.
Setting up
Setting up your development platform for the Atari ST systems is quite easy, first get the following tools:
- Assembler: VASM - This assembler is able to assemble directly to a TOS image
- 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
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
Getting something on screen
Here is a bit of code to get you started:
;-----------------------
; 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 *
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