Jump to content

Wrathchild

Members
  • Content Count

    2,924
  • Joined

  • Last visited

Everything posted by Wrathchild

  1. A few downloads... is anyone having a crack at implementing these?
  2. Eh? You've changed its functionlity? That routine was a bit pair swapper, yours is for single bits. The Combat code was: CreateFlipTable: LDX #0 @1: TXA LDY #7 @2: ASL A ROR $80 DEY BPL @2 LDA $80 STA $600,X INX BNE @1 RTS So yes, you do save on that I did think to change the bit pair version to not use the zero page temp register. CreateFlipTable: LDX #1 @1: TXA LDY #3 @2: ASL A PHP ASL A ROR FlipTable PLP ROR FlipTable DEY BPL @2 LDA FlipTable STA FlipTable,X INX BNE @1 STX FlipTable RTS
  3. Many appologies to all, I did just send the demo and not the code because I thought I should finish it first before doing so Here's the Kernel based code anyway... I had decided that this wasn't going to quite work because of the extra cycles wasted to A8 things, so I have recoded it here with a more VBI based approach. As happens, everything is now broken and work stopped as my daytime and evening work has been taking up too much of my time. Still - my MyIDE board is now built and so next Monday it gets fitted and I should be trying it out next week. How long does a 12gig drive take to format Regards, Mark BTW, there was a similar routine to create a flip table in the Barbarian demo I did. You'd use this for 4 colour bit patterns. CreateFlipTable: LDX #0 @1: TXA LDY #3 @2: ASL A PHP ASL A ROR byte_0_A8 PLP ROR byte_0_A8 DEY BPL @2 LDA byte_0_A8 STA FlipTable,X INX BNE @1 RTS combat.zip
  4. Here's a starting place for anyone who wants to take this up. I've knocked up a decoder based on the C64 SID file. Good luck! PS. the excel sheet shows that not all the notes used map nicely to actual note frequencies, but they are there or there abouts. elite_tunes.zip
  5. Have a look at the Combat code I posted up recently, there's a small routine in that which creates the lookup table.
  6. OK, this code, for the Atari 8-bit, demonstrates one technique of scrolling a Graphics 12 area without using HW scroll registers. It predefines 7 fonts with the same pattern for each character. The screen is arranged as 24 lines of 32 characters wide. This means that 6 fonts are visible initially, 4 lines each giving the 4*32 = 128 characters of the font. As this scrolls, the 7th font becomes visible and then when the 1st font disappears off the top, it re-appears from the bottom. Hence the technique can be expanded upon by using a tile expanding routine to place graphics in the font memory. To demonstrate that I setup a small piece of mainly code to animate the 1st character of fonts 1 and 2 by rotating them down and up respectively. There in lies a mystery. Earlier this worked OK, but in this last incarnation the pattern is not rotating constantly. Therefore I must be overextending an interrupt somewhere? With the alternative method I suggested of copying the first line of data from font to font, I'm a little worried that it would steel too many cycles, therefore indicating that it could only be used when using a smaller window in the vertical. I haven't got time to try that at the moment though :wink: Hope that helps. Mark scroll_test.zip
  7. I had some success with the first method, however timings are very very tight! Updates are done in the VBI but if I add a few more instructions in, a DLI occurs within another DLI after doing the course scroll. To get around this I have two options. 1) Leave the scrolling area until a little further down the screen. 2) Leave the course scroll until after the last lines are drawn I'll try 2 first and post up the code so far. My version currently scrolls up (e.g. like scrolling instructions) but I try to add a down mode as well (e.g. shoot-em-up) Regards, Mark
  8. A couple of thoughts on the course scrolling method required, i.e. once the fine scrolling does its 8 lines... 1) (the easier) use a 6th font to scroll into, then when that's exhausted re-use font 1 which is not displayed, and just keep cycling around the fonts. 2) (slightly less memory used) once a line has been scrolled adjust the dlist pointers foward one line in memory, but place the line 1 chars after line 3. An alternative could be to hold 3 separate dlists and cycle though those. The course scroll routine should then copy the char-data from font n to font n-1, but only for the first line, e.g. 320 bytes Looking at method 2, a 32 char wide playfield would permit all 128 chars in a font to be used on 4 lines. The copy routine would only be required to move 256 bytes of data per line, speeding up to time taken to update the screen. I may have an experiment with this at the weekend. Mark.
  9. how about this... Because of the multiple fonts, using a v-scroll reg complicates things. Can you not use scroll-registers and have a single 'blank' dlist entry at the top of the screen with the DLI bit set. When you want to scroll, change the number of blank lines displayed. In the DLI, set the colors to background and then WSYNC a number of times (e.g. 8-# blank lines) and then switch the colours on. You'll need a similar DLI on the last line to set the colours to background. Hence the fine scrolling is controlled by the dynamic blank dlist entry and the viewing 'window' is maintained by turning on and off the picture at the correct time. Regards, Mark
  10. Time to focus on these is the problem for me these days. I'd looked into both Winter Olympiad 88 and Gauntlet a little while back after doing The Eidolon and Koronis Rift. These look straight forward enough to modify into any switchable cart model, flash, xegs and mega. Regards, Mark
  11. Thanks! One last change, just to the code, not the tune The notes.inc file now uses midi note names, i.e. Middle C = C5 Unfortunately for this player's code, the range of notes is only a window of 64 notes, so I've settle for E3 -> G8 There may be a few more FF3 tunes I can pull out like this Regards, Mark changes.zip
  12. I've calculated a new frequency table and this effectively dropped everything down an octave. Sounds a lot better now! Mark ff3_2.zip
  13. Yes' date=' I'll take a look (& listen) From what I can see that is possible, possibly with multiple lookup tables depending on if you're in 16 bit or 8 bit mode and what clock freq that channel is tied to. Within the confines of a generic playback routine this work is a bit of an overhead. Erm, AudCTL is $78 if that helps? Thanks, Mark
  14. Here's a nice Final Fantasy tune done using two 16 bit channels. However the higher frequencies seem to go astray. Can someone take a look at see what a solution may be? I took the 'Storm' engine and made it two voices instead of 3. I also added in a small wave to the frequency. I understand that, as the the frequency gets higher, the effect of the mod is more audible, but it seems to help out the lower frequencies. Thanks, Mark ff3.zip
  15. For those that may not have know, an update to this work was not so long ago uploaded to the Wolf3D page. It runs on ST/STe/TT/Falcon and on emulators such as Steem. http://people.freenet.de/ray.tscc/wolf3d.htm
  16. I think an updated 'Rainbow Walker' could quite easily take advantage of the better graphic effects provided by today's cards... e.g. the sunset/rise and night elements could cast shadows on the rainbow which itself could glow/sparkle etc. Retain the existing gameplay that would make a great game!
  17. Hi, Are there any sites that detail the techniques/algorithms behind drawing roads/tracks in old 8-bit games such as Pole Position, Outrun, Overlander, Elektragilde etc? I'm interested in how these evolved, e.g. adding hills, and how different display architectures, e.g. raster, tile based or (Atari) display-lists can be exploited. Thanks, Mark
  18. I think my next enhancement maybe to try and add the abilibty to import a label file, e.g. from LD65's output. This way the translated dissassembly could be a bit more understandable when attempting the afore-mentioned debugging
  19. Here is a replacement emulator V4 exe that: 1) enables the debugger and 2) permits tracing execution to a named file. E.g. here's an example of something I'd do... Load emulator, booting to self-test. Press F8 to enter monitor and type: read sentinel.bin D00 A300 break D91 setpc 3F00 cont This runs code until the breakpoint is hit and the debugger is entered, then type: break D99 tron a800trc.txt cont Again, execution continues until the breakpoint is hit: troff The tron/troff code also includes some protection, e.g. you must type "troff" before typing "tron" a second time. If "tron" has no argument then you trace to the monitor (as before). I've attached the source diffs, however some explaination required as I was using VC++6 not and not .NET to build the exe: File "sio.c" : no in Windows File "fileservice.cpp" : too many args - dropped OPENFILENAME_SIZE_VERSION_400 (Where does that get defined? Part of .NET I guess) File "display_win.c" : used Get/SetWindowLong instead of Get/SetWindowLongPtr (Odd one this, compiles fine but no library holds the functions, so linking fails) Files "cpu.c" and "monitor.c" contain the tracing changes. However, #ifdef TRACE becomes #ifdef MON_TRACE (TRACE is already a defined macro in Windows) File "config.h" : MONITOR_BREAK enabled and added MON_TRACE There is also a slight tidyup to the monitor 'help'. Previously the 'Press return to continue' didn't wait I hope that's of use to somebody... will FlashCart support be added incorporated into the V4 source at some point? Regards, Mark diffs.zip atari800win.zip
  20. Does anyone know of an old type in game from the UK's Computer and Video Games? It was called something like 'Show Jumping' and basically had a nice horse&rider sprite and right 2 left scrolled some fences at you at different speeds which you had to jump. It was 16K type in listing, but I recall my 600XL at the time crashing often after running the game.
  21. I had an opportunity to look into the drawing corruption. It boiled down to the Atari's OS VBI routines updating some zero-page registers I was using. Serves me right for using mapping the C64 zeropage usage 1:1 So, this one draws correctly and I've added in the top view too. Press and release a console key once a screen has drawn to see the other view. I think for a future demo I could cycle through all of the C64 holes, drawing the tee view and then the top view each. (plus tidy up the text areas) I'm away over the weekend, but promise to get back to the Combat conversion next week. Regards, Mark wcl.zip
  22. There's going to be a balance there, how many channels to use for the music versus how many to use for effects. With 2&2 you should be OK although that would just give you 8-bit frequencies for the music. The music channels can typically be made sound like more instruments, eg. by interspercing drums and cymbal sounds in the bass line. I think you would need 2 voices for the effects, e.g. a pulsing ambient sound on one channel. Shots and explosions on the other. Or perhaps one voice each for player and ememy. The routines are normally interlinked. E.g. often you can change a byte or two in a SID or SAP file and then hear the effects rather than the tune. Regards, Mark
  23. Doesn't the Atari Artist cart that comes with the touch tablet load/save this sort of image? The emulators support the tablet so you could do the work on a PC.
×
×
  • Create New...