Jump to content
IGNORED

Imagic Kiosk Menu - Change to display AtariAge Logo?


Albert

Recommended Posts

Okay, final update for me for now. I tried it with a different brand of EPROM using a regular 4K 2600 board and it does not work. So, there must be some subtle difference between the Harmony, Emulation and normal 4K boards that prevent this binary from working on a normal board (and the Imagic kiosk would fit into that latter category).

 

Any ideas?

 

..Al

Link to comment
Share on other sites

That's very strange.

 

One thing that's special about this binary is that it sets vblank only when syncing, but the original kiosk rom does this as well, and it seems to work on your monitor.

 

Another thing I could think of is that the harmony menu already does some intialization that is missing when the program is run from an EEPROM.

 

Here's another version you could try for testing. It uses standard blanking and is assembled as 4K. It also has a modified initialization routine.

AtariAgeKiosk_20121025.bin

Link to comment
Share on other sites

That's very strange.

 

One thing that's special about this binary is that it sets vblank only when syncing, but the original kiosk rom does this as well, and it seems to work on your monitor.

 

Another thing I could think of is that the harmony menu already does some intialization that is missing when the program is run from an EEPROM.

 

Here's another version you could try for testing. It uses standard blanking and is assembled as 4K. It also has a modified initialization routine.

 

This binary DOES work on my 4K board! I'm going to plug it into the kiosk and see what happens. BRB!

 

..Al

Link to comment
Share on other sites

Reassembled and still works! :D

 

kiosk_reborn.jpg

 

Thanks for modifying the default menu binary, I look forward to having two of these running at next year's PRGE! The display looks much better than it does in this photo, gets washed out with the flash.

 

..Al

 

Great to see it working!

 

The problem with the previous version was most probably just the missing timer initialization.

 

I don't think you want to disassemble and assemble it again :) , so just in case and for all others who want to try it here's the (hopefully) final version. Like the original ROM, this is again 2KB and uses the non-standard blanking. This avoids black borders on top and bottom, but it may not work on all TVs.

AtariAgeKiosk_20121026.bin

AtariAgeKiosk_20121026.zip

Link to comment
Share on other sites

I don't think you want to disassemble and assemble it again :) , so just in case and for all others who want to try it here's the (hopefully) final version. Like the original ROM, this is again 2KB and uses the non-standard blanking. This avoids black borders on top and bottom, but it may not work on all TVs.

 

Ahh! I didn't even notice that until I went back and looked at the photos I posted. in the last photo I posted you can clearly see the black bar at the top, but that 1702 isn't adjusted properly. You can easily center the image vertically, which I obviously need to do on that particular monitor. Not a big deal to me, but interesting nonetheless.

 

Thanks again for putting this together, looks great!

 

..Al

Link to comment
Share on other sites

I've setup a second Imagic Kiosk with the AtariAge binary. :)

 

kiosk_pair.jpg

 

I'm bringing both of these to the Houston Area Arcade Expo on Friday and they will be loaded up with homebrew games! Unfortunately no Melody-based games work in these kiosks (Epic Adventure, Epic Magician Returns II, Chetiry, Star Catle, Space Rocks, etc.), and only a small percentage of bankswitch games work in one of them. Still, should be able to load up 48 unique homebrew games :D

 

I dumped the ROM in this second kiosk since it's PAL. Not sure if that's been dumped and/or made available before, so I've attached it to this post.

 

..Al

Imagic_POP_Kiosk_PAL.bin

Link to comment
Share on other sites

It is a new rom, Al. It is a 2k rom, and both halves match each other in the 4k rom you posted:

 

imagic_pop_kiosk_pal(2k).bin

 

 

I haven't gone through the rom, but it looks like they simply colored the other logos black on the screen to hide them. They are easily still seen on the screen by using ALT "," (that is alt-comma) in Stella.

 

 

post-7074-0-48187700-1351460432_thumb.png

 

 

The new AA rom looks great. :)

Edited by Omegamatrix
Link to comment
Share on other sites

It is a new rom, Al. It is a 2k rom, and both halves match each other in the 4k rom you posted:

 

Whoops, that was my bad, I didn't change the device type before I read the EPROM. It's only a 2716 (2K) device. Interesting that the device programming software doubled up the image.

 

..Al

Link to comment
Share on other sites

  • 7 months later...
  • 6 years later...
On 9/23/2012 at 10:04 PM, Omegamatrix said:

I made a second version of the Atari Logo. It only uses 1 byte of ram, and it uses less rom then before. I pulled off a few tricks to get it all in a rom loop, but managed it with zero cycles to spare.

AtariLogo2.zip 4.37 kB · 184 downloads


  ORG $9600

DoAtariLogo:
 sty  TIM8T              ;@65
 sta  PF1              ;@68


.loopAtariAgeLogo:
 ldx  #<COLUBK              ;@70  use JSR address to color BK, PF
 txs
 lda  AALogoTab,Y          ;@76
;---------------------------------------
 sta  GRP0
 lda  AALogoTab+1,Y
 sta  GRP1
 lda  AALogoTab+2,Y
 sta  GRP0
 lda  AALogoTab+3,Y
 sta  tempOne
 lda  AALogoTab+4,Y
 ldx  AALogoTab+5,Y
 ldy  tempOne
 jsr  ColorAtariAge          ;@41

 ORG $9627

ColorAtariAge:
 sty  GRP1              ;@44
 sta  GRP0
 stx  GRP1
 sta  GRP0
 lda  #COL_BACKGROUND
 sta  COLUBK
 sta  COLUPF
 ldy  INTIM              ;@65  use INTIM for quick decrement/load
 bne  .loopAtariAgeLogo      ;@67/68

;Y=0, X=$FF
 txs
 sty  GRP1
 sty  GRP0
 sty  GRP1
 sty  ENAM0
 sty  ENAM1
 sty  PF0
 sty  PF1
 

Thanks for sharing this code, @Omegamatrix!

  • I like your trick of changing the stack pointer to COLUBK and then using a single JSR instruction to set both BK and PF colors. And luckily the chosen colors look similar on both NTSC and PAL!
  • I also see that you're using TIM8T as automatically decrementing index in the graphics data, which is a cool trick that I never saw before. This is my analysis: because each scanline is 76 cycles, this means that reading INTIM each scanline (76/8) will give you a decrement alternating between 9 and 10, which you have countered by using 3 or 4 free bytes in the gfx tables. Am I correct?
Edited by Dionoid
Link to comment
Share on other sites

Hello Dionoid,

 

I don't have the code in front of me, but essentially yes the data is padded with some bytes that are never read due to timing. I believe I use TIM8T in this routine, but TIM64T can be used as well.

 

Using the timer as loopcounter saved a few cycles in the code above. Another not so obvious use of timers include temp storage. TIM1T set and read at certain cycle is good for this. I think I did this in an unrolled loop once. T1024T I used in the original Circus AtariAge Demo as a counter for the balloon row index. T1024T is also useful for tempstorage loaded a few scanlines later as the original value -1, because the first thing the timer does is auto-decrement by 1. This won't work out for a value of 0, of course.

 

Bashing the color registers with JSR is a useful trick. BRK can also be used for that. There was thread somewhere that we did that before. Other uses off the top of my head are for the RESxx registers. Actually, there are probably a few more combinations that could be done too, like the AUDxx or HMxx registers, CTRLPF, etc...

 

Anyhow, here is another demo I did with JSR. While we often see color changes horizontally (scanline by scanline), this demo aims to have many different colors vertically. I was able to do 14 unique color changes per line with this method.

 

 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...