mirror of
https://frontier.innolan.net/github/AmigaExamples.git
synced 2026-09-12 03:52:12 +00:00
Merge branch 'master' of https://github.com/alpine9000/amiga_examples
This commit is contained in:
@@ -7,3 +7,8 @@ The bootblock code is in [../shared/bootblock.s](../shared/bootblock.s)
|
||||
|
||||
|
||||
The program has two simple copper lists and switches between them each vertical blank interrupt
|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/test.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/test.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Display a simple image
|
||||
display a simple image
|
||||
======================
|
||||
|
||||
Building on [trackdisk.device](../000.trackdisk), we now display a simple color image.
|
||||
@@ -9,8 +9,12 @@ The image data is prepared using a new tool I wrote called [imagecon](../tools/i
|
||||
|
||||
The original version of this example used [vilcans amiga-startup](https://github.com/vilcans/amiga-startup) as a starting point, however almost all of that code has been replaced as my understanding expanded.
|
||||
|
||||
[Download disk image](bin/image.adf?raw=true)
|
||||
|
||||
Screenshot:
|
||||
screenshot
|
||||
----------
|
||||
|
||||

|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/image.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/image.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
+7
-4
@@ -9,8 +9,11 @@ We use the P6112 Player. See P6112-Options.i for configuration details for the P
|
||||
* Tutorial source here: http://coppershade.org/asmskool/
|
||||
* Source here: http://coppershade.org/asmskool/P6112/
|
||||
|
||||
[Download disk image](bin/music.adf?raw=true)
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
Screenshot:
|
||||
|
||||

|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/music.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/music.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copper bars
|
||||
copper bars
|
||||
===========
|
||||
|
||||
Now I discover how vertical copper waiting works.
|
||||
@@ -13,8 +13,11 @@ At copper line 255 ($FF), we run out of bits in the copper wait instruction, so
|
||||
|
||||
Also in this example I have remove interrupt processing and disabled most of the interrupts.
|
||||
|
||||
[Download disk image](bin/copper_bars.adf?raw=true)
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
Screenshot:
|
||||
|
||||

|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/copper_bars.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/copper_bars.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
Vertical copper bars
|
||||
vertical copper bars
|
||||
====================
|
||||
|
||||
[Download disk image](bin/copper_vert.adf?raw=true)
|
||||
|
||||
Screenshot:
|
||||
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/copper_vert.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/copper_vert.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
@@ -13,8 +13,12 @@ This means a sprite and background can share the single palette.
|
||||
|
||||
We then blit the sprite to the background.
|
||||
|
||||
[Download disk image](bin/blit.adf?raw=true)
|
||||
|
||||
Screenshot:
|
||||
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/blit.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/blit.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
|
||||
@@ -47,8 +47,12 @@ This is then ready to be used in the LF1-7 bits of the [BLTCON0](http://amigadev
|
||||
|
||||
We then blit the sprite to the background and notice it now has a shape!
|
||||
|
||||
[Download disk image](bin/mask_blit.adf?raw=true)
|
||||
|
||||
Screenshot:
|
||||
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/mask_blit.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/mask_blit.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
|
||||
@@ -14,11 +14,12 @@ So the algorithm for drawing to non word aligned boundaries is as follows:
|
||||
|
||||
[Download disk image](bin/shift_blit.adf?raw=true)
|
||||
|
||||
Screenshot:
|
||||
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
Masked blit screenshot for reference:
|
||||
|
||||

|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/shift_blit.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/shift_blit.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
|
||||
@@ -13,8 +13,11 @@ The main loop moves the object around the screen.
|
||||
|
||||
We don't yet clear the background before each blit, so we get a nice trail. Also there is no double buffering.
|
||||
|
||||
[Download disk image](bin/anim_blit.adf?raw=true)
|
||||
|
||||
Screenshot:
|
||||
|
||||
screenshot
|
||||
----------
|
||||

|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/anim_blit.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/anim_blit.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
@@ -55,6 +55,9 @@ At 5 bitplanes we have enough time to do 5 blits.
|
||||
|
||||
Lots of time left over with 1 bitplane :-D
|
||||
|
||||
[Download disk image](bin/blit_speed.adf?raw=true)
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/blit_speed.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/blit_speed.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Extra half brite mode
|
||||
extra half brite mode
|
||||
=====================
|
||||
|
||||
[Extra half brite mode](http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0098.html) allows us to use 32 colors as well as 32 "half brite" versions of those colors.
|
||||
@@ -17,10 +17,12 @@ We can see from the output that it's not earth shatteringly different.
|
||||
---------
|
||||

|
||||
|
||||
The differences
|
||||
the differences
|
||||
---------------
|
||||

|
||||
|
||||
[Download disk image](bin/ehb_mode.adf?raw=true)
|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/ehb_mode.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/ehb_mode.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Hold and Modify Mode
|
||||
hold and modify mode
|
||||
====================
|
||||
|
||||
I added basic supprt to [imagecon](../tools/imagecon) to output HAM mode data. The algorithm used is pretty simple so the quality of the HAM display could definately be improved.
|
||||
@@ -17,6 +17,9 @@ The differences
|
||||
---------------
|
||||

|
||||
|
||||
[Download disk image](bin/ham_mode.adf?raw=true)
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/ham_mode.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/ham_mode.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
Ditherered HAM
|
||||
ditherered ham
|
||||
==============
|
||||
|
||||
Work in progress
|
||||
More changes to [imagecon](../tools/imagecon). This time I added simple [Floyd-Steinberg dithering](https://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering). You can see that while this improves the image, there are some problems somewhere in imagecon that increase the color intensity compared to the original source image.
|
||||
|
||||
Dithered
|
||||
I also added a very slow and hackish brute force palette computation that tries the find good HAM palette.
|
||||
|
||||
dithered
|
||||
--------
|
||||

|
||||
|
||||
No dither
|
||||
no dither
|
||||
---------
|
||||

|
||||
|
||||
[Download disk image](bin/dithered_ham.adf?raw=true)
|
||||
|
||||
|
||||
try it
|
||||
------
|
||||
* [Download disk image](bin/dithered_ham.adf?raw=true)
|
||||
* <a href="http://alpine9000.github.io/ScriptedAmigaEmulator/#amiga_examples/dithered_ham.adf" target="_blank">Run in SAE</a>
|
||||
|
||||
@@ -20,6 +20,12 @@ Most of the sites I have used during the learning process:
|
||||
* [coding forum](http://ada.untergrund.net/?p=boardforums&forum=4)
|
||||
* [coding forum](http://eab.abime.net/forumdisplay.php?f=112)
|
||||
|
||||
examples
|
||||
--------
|
||||
Each example tries to introduce only one new concept, often building on the previous examples.
|
||||
|
||||
See each example's README.md for a limited description as well as a clickable link to run the example in your browser using my hacked version of [Scripted Amiga Emulator](http://scriptedamigaemulator.net/)
|
||||
|
||||
cross development environment
|
||||
-----------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user