Coprolite.com
Google
 
Web Coprolite.com
SignalQ Sites:
NetAdminTools - Coprolite - NoNIC - SpotBridge - NAW
RoboCoop - AreWeDown - SolarPower - SysAdminTools
Xfig - Gold Loaf - GeekPapa - FixGMC - MCJ - FixRambler
Categories:
GNU/Linux | Homebrew designs | Perl | Microcontrollers | Graphics | Z-80 | FreeDOS | Electronics | Odyssey 2 | 8048 | Other/Msc.

Last 30 Days | Last 60 Days | Last 90 Days | All Articles/Links


Categories:
·GNU/Linux
·Homebrew Designs
·Perl
·Microcontrollers
·Graphics
·Z-80
·FreeDOS
·Other/Msc.
·Electronics
·8048
·All Categories
·Other SignalQ Websites




Scrolling Through Icons on the Odyssey 2
Topic: Odyessey 2   Posted:2005-04-09
Printer Friendly: Print

spacer
Here is a program that will scroll through the various graphics icons that are built into the Odyssey 2 system ROM:

cpu     8048
org     0400h
jmp     02C3h           ;system start or reset - select game 
jmp     0009h           ;external IRQ - vblank routine  
jmp     timer           ;timer IRQ
jmp     001Ah           ;vblank service - vblank (collision and clock) 
jmp     start
jmp     0044h           ;continuation of vblank service - vblank (tune)
timer   retr                    ; we don't do anything with timer IRQs 
start
call    011Ch
mov     r2,#31h
inp     call    013dh
mov     a, r2           ; r5 is destructive on vid call
mov     r5,a
inc r2
add     a, #0c1h
jnc     vid
mov     r2,#31h 
vid     mov     r0,#10h         ; starting char in VDC 
mov     r3,#20h         ; x-position
mov     r4,#20h         ; y-position
mov     r6,#09h         ; color
call    03eah           ; display char  
call    0127h           ; start display
jmp     inp 

The program starts with 31h, which, as you can see in this article, is a ball. C1h is added until there is a carry, which tests for the last graphics character of 3Fh by adding 31h to r2, which is copied to r5 for the dislay routine and is destructive to r5. To assemble this program and run with o2em:

usr-1@wrk-1 kb $ asl k.asm
macro assembler 1.41r8
(i386-unknown-linux)
(C) 1992,1998 Alfred Arnold
Mitsubishi M16C-Generator also (C) 1999 RMS
TMS320C2x-Generator (C) 1994/96 Thomas Sailer
TMS320C5x-Generator (C) 1995/96 Thomas Sailer
assembling k.asm
PASS 1                    
k.asm(29)                    
PASS 2                    
k.asm(29)                    
0.03 seconds assembly time                    
29 lines source file                    
2 passes                    
0 errors                    
0 warnings                    
usr-1@wrk-1 kb $
usr-1@wrk-1 kb $ p2bin k.p k.bin -r \$0400-\$0bff -l 0
P2BIN/C V1.41r8
(C) 1992,1998 Alfred Arnold
k.p==>>k.bin  (42 Byte)
usr-1@wrk-1 kb $
usr-1@wrk-1 kb $ o2em k.bin
O2EM v1.16 (Dec/2004)  -  Linux binary
Free Odyssey2 / Videopac+ Emulator - http://o2em.sourceforge.net
Developed by Andre de la Rocha
Created by Daniel Boris (c)1996/1998
Starting emulation ...
Initializing sound system...
Sound system initialized ok
Sound driver [Open Sound System] detected
Using Allegro Allegro 4.0.3, Unix
Odyssey2 bios ROM loaded
Loading: "k.bin"  Size: 2K  CRC: 2341BC85
Loading voice samples...  0 samples loaded

Here is what the screen looks like:



Just press any key on the keyboard, and the character changes and makes a beep. It wouldn't take too much more to make this into a simple keyboard banger.




Please read our Terms of Use
Microsoft, Windows, Windows XP, Windows 2000, and NT are either trademarks or registered trademarks of Microsoft Corporation. Coprolite.com is not affiliated with Microsoft Corporation. Linux is a registered trademark of Linus Torvalds. All logos and trademarks in this site are property of their respective owner. Copyright 1997-2008 Coprolite.com

Created by:
MCJ
MCJ CMS