Colour pinstripe/Display: Difference between revisions
Content deleted Content added
Colour pinstripe/Display in True BASIC |
Puppydrum64 (talk | contribs) |
||
Line 1,114: | Line 1,114: | ||
{{out}} |
{{out}} |
||
See [https://www.dropbox.com/s/tg4zk4jkddkok8w/Mathematica_Pinstripes_Colored.png?dl=0 here]. |
See [https://www.dropbox.com/s/tg4zk4jkddkok8w/Mathematica_Pinstripes_Colored.png?dl=0 here]. |
||
=={{header|MIPS Assembly}}== |
|||
This isn't perfect, as the edges are cut off due to overscan. But this is as close as I could get: |
|||
<lang mips>.include "\SrcAll\Header.asm" |
|||
.include "\SrcAll\BasicMacros.asm" |
|||
.include "\SrcALL\AdvancedMacros.asm" |
|||
.include "\SrcALL\MemoryMap.asm" |
|||
.definelabel VRAMBASE,0xA0100008 ;the extra 8 accounts for overscan |
|||
.definelabel VRAMSIZE,0x12C00 ;320x240(decimal) |
|||
;;;;;;;;;;;;;;;;;;;;;;;;; |
|||
main: |
|||
la $a0,VRAMBASE |
|||
la $a1,colors |
|||
li $t1,0x4B00/8 |
|||
LOOP1: |
|||
lh $t0,($a1) |
|||
sh $t0,($a0) |
|||
lh $t0,2($a1) |
|||
sh $t0,2($a0) |
|||
lh $t0,4($a1) |
|||
sh $t0,4($a0) |
|||
lh $t0,6($a1) |
|||
sh $t0,6($a0) |
|||
lh $t0,8($a1) |
|||
sh $t0,8($a0) |
|||
lh $t0,10($a1) |
|||
sh $t0,10($a0) |
|||
lh $t0,12($a1) |
|||
sh $t0,12($a0) |
|||
lh $t0,14($a1) |
|||
sh $t0,14($a0) |
|||
addiu $a0,16 |
|||
subiu $t1,1 |
|||
bnez $t1,LOOP1 |
|||
nop |
|||
li $t1,0x4B00/16 |
|||
LOOP2: |
|||
lh $t0,($a1) |
|||
sh $t0,($a0) |
|||
sh $t0,2($a0) |
|||
lh $t0,2($a1) |
|||
sh $t0,4($a0) |
|||
sh $t0,6($a0) |
|||
lh $t0,4($a1) |
|||
sh $t0,8($a0) |
|||
sh $t0,10($a0) |
|||
lh $t0,6($a1) |
|||
sh $t0,12($a0) |
|||
sh $t0,14($a0) |
|||
lh $t0,8($a1) |
|||
sh $t0,16($a0) |
|||
sh $t0,18($a0) |
|||
lh $t0,10($a1) |
|||
sh $t0,20($a0) |
|||
sh $t0,22($a0) |
|||
lh $t0,12($a1) |
|||
sh $t0,24($a0) |
|||
sh $t0,26($a0) |
|||
lh $t0,14($a1) |
|||
sh $t0,28($a0) |
|||
sh $t0,30($a0) |
|||
addiu $a0,32 |
|||
subiu $t1,1 |
|||
bnez $t1,LOOP2 |
|||
nop |
|||
li $t1,0x4B00/32 |
|||
LOOP3: |
|||
lh $t0,0($a1) |
|||
sh $t0,0($a0) |
|||
sh $t0,2($a0) |
|||
sh $t0,4($a0) |
|||
lh $t0,2($a1) |
|||
sh $t0,6($a0) |
|||
sh $t0,8($a0) |
|||
sh $t0,10($a0) |
|||
lh $t0,4($a1) |
|||
sh $t0,12($a0) |
|||
sh $t0,14($a0) |
|||
sh $t0,16($a0) |
|||
lh $t0,8($a1) |
|||
sh $t0,18($a0) |
|||
sh $t0,20($a0) |
|||
sh $t0,22($a0) |
|||
lh $t0,10($a1) |
|||
sh $t0,24($a0) |
|||
sh $t0,26($a0) |
|||
sh $t0,28($a0) |
|||
lh $t0,12($a1) |
|||
sh $t0,30($a0) |
|||
sh $t0,32($a0) |
|||
sh $t0,34($a0) |
|||
lh $t0,14($a1) |
|||
sh $t0,36($a0) |
|||
sh $t0,38($a0) |
|||
sh $t0,40($a0) |
|||
lh $t0,0($a1) |
|||
sh $t0,42($a0) |
|||
sh $t0,44($a0) |
|||
sh $t0,46($a0) |
|||
lh $t0,2($a1) |
|||
sh $t0,48($a0) |
|||
sh $t0,50($a0) |
|||
sh $t0,52($a0) |
|||
lh $t0,4($a1) |
|||
sh $t0,54($a0) |
|||
sh $t0,56($a0) |
|||
sh $t0,58($a0) |
|||
lh $t0,6($a1) |
|||
sh $t0,60($a0) |
|||
sh $t0,62($a0) |
|||
addiu $a0,64 |
|||
subiu $t1,1 |
|||
bnez $t1,LOOP3 |
|||
nop |
|||
li $t1,0x4B00/32 |
|||
LOOP4: |
|||
lh $t0,0($a1) |
|||
sh $t0,0($a0) |
|||
sh $t0,2($a0) |
|||
sh $t0,4($a0) |
|||
sh $t0,6($a0) |
|||
lh $t0,2($a1) |
|||
sh $t0,8($a0) |
|||
sh $t0,10($a0) |
|||
sh $t0,12($a0) |
|||
sh $t0,14($a0) |
|||
lh $t0,4($a1) |
|||
sh $t0,16($a0) |
|||
sh $t0,18($a0) |
|||
sh $t0,20($a0) |
|||
sh $t0,22($a0) |
|||
lh $t0,6($a1) |
|||
sh $t0,24($a0) |
|||
sh $t0,26($a0) |
|||
sh $t0,28($a0) |
|||
sh $t0,30($a0) |
|||
lh $t0,8($a1) |
|||
sh $t0,32($a0) |
|||
sh $t0,34($a0) |
|||
sh $t0,36($a0) |
|||
sh $t0,38($a0) |
|||
lh $t0,10($a1) |
|||
sh $t0,40($a0) |
|||
sh $t0,42($a0) |
|||
sh $t0,44($a0) |
|||
sh $t0,46($a0) |
|||
lh $t0,12($a1) |
|||
sh $t0,48($a0) |
|||
sh $t0,50($a0) |
|||
sh $t0,52($a0) |
|||
sh $t0,54($a0) |
|||
lh $t0,14($a1) |
|||
sh $t0,56($a0) |
|||
sh $t0,58($a0) |
|||
sh $t0,60($a0) |
|||
sh $t0,62($a0) |
|||
addiu $a0,64 |
|||
subiu $t1,1 |
|||
bnez $t1,LOOP4 |
|||
nop |
|||
shutdown: |
|||
nop ;project 64 will throw an error and end the program if I don't have a NOP here. Real hardware doesn't care. |
|||
b shutdown |
|||
nop |
|||
colors: |
|||
;colors are approximate because I'm not sure how the bit patterns work. |
|||
.halfword 0x0000,0xf000,0x0f00,0x00f0,0xf0f0,0x7fff,0xff00,0xffff |
|||
.include "\SrcN64\Footer.asm"</lang> |
|||
{{out}} |
|||
[[https://ibb.co/y4gg97Z Output of Nintendo 64 emulator]] |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |