Jump to content

Search the Community

Showing results for tags 'f18a'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Gaming General
    • Classic Gaming General
    • Classic Computing
    • Modern Gaming
    • Prototypes
    • Arcade and Pinball
    • Emulation
    • Hardware
    • Gaming Publications and Websites
    • International
  • Marketplace
  • Community
  • Game Programming
  • Site
  • Classic Gaming News
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching

Blogs

There are no results to display.

There are no results to display.

Calendars

  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar
  • ZeroPage Homebrew's Schedule

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 15 results

  1. I will be using this thread to document the development of a new programmer editor for the TI-99/4a called "TiVi". (pronounced "TV" or "TeeVee") As you might expect from its name, the editor is somewhat inspired by the unix editor "vi" and will also take elements of "tmux". So what do I have in mind: Designed from the ground up for 80 columns mode, specifically using the F18A but 9938 will be supported as well. Designed from the ground up for using SAMS card, albeit 32K memory expansion should work as well. Will support FinalGROM 512K bankswitched RAM in addition to SAMS and 32K memory expansion, useful for those without SAMS and PEB. Programming language of choice is TMS9900 assembly language The editor itself will run from cartridge space (multi-bank cartridge). Uses my spectra2 library as foundation (been doing major changes in the last couple of months, not related to games) Will have some "API" so that I can integrate with external programs and go back and forth between programs. Would like to add some kind of mouse support. This will not be a GUI in the traditional sense. If you used tmux with a mouse before you know what I mean. Possibility to have multiple editor panes open at once. Should handle files with up to 65536 lines when using SAMS or FinalGROM 512K bankswitched RAM. Undo functionality, well up to a certain extent that is. Language awareness, e.g. behave differently based upon language (e.g. assembly, C, Basic, ...) Internal text representation will be decoupled from what actually will be rendered on screen. Should make the editor more responsive when dealing with large files, allow split panes, etc. Reconfigurable keymaps, possibility to swap between keymap with single key combination. Not everyone is into VI This is the start of a large project and I don't expect to have a truely useful version anytime soon. I expect this project to take multiple years, but you gotta start somewhere. Now I've taken my mouth full, I will use this thread to keep myself motivated 🙂 There aren't too many resources out there discussing the architecture of a text editor, so cross-linking here. Dr. Dobb's Journal 1993 - Text Editors: Algorithms and Architecture Gap Buffers: a data structure for editable text Rope (data structure) - Wikipedia Vi Editor: Why Programmers Think This Old Editor is Still Awesome Threads on Atariage discussing topics -somewhat- related to TiVi: F18a 30 rows 80 columns mode F18A high-resolution timer CRU scan sample code, my implementation of a CRC-16 Cyclic Reducancy Check DSRLINK Code Tutorial File operations in assembly language E/A file access Opinions on TI-99/4a text file formats Favourite text (programmers) editor on the TI-99/4a Better keyboard scanning? Others: tmux for developers
  2. We F18A users have enhanced video capability, now we get to use it! Until recently, having an 80 column menu loader (for the F18A), that actually displayed the menu selections in 80 columns, was a dream. And while I doubted this day would ever come, I’m happy to have been wrong in this instance! Sure we’ve had the legacy program called BOOT,(the program tweaked by Tursi a while back), and while I really like the BOOT program, it has a one major limitation… it does not show all that many selections at one time. Fast forward to the present: Tim (Insane Multitasker) has changed the playing field! Not only will you soon have a TRUE 80 COLUMN MENU that works with the F18A, this one displays 80 columns in all functions… and it’s 100% COMPATIBLE with the Extended BASIC 2.7 Suite GRAM loader routine! This program is coming at a great time because as more people continue to expand their storage capabilities with modified floppy drive controllers, hard drives, HDX boards and new (hopefully) controller card, the menu space needed expanding. When it’s released…”Try it, you’ll like it!” After using this program it’ll probably take you F18A users less than a split second to retire the program you are currently using. It doesn’t get much better than this folks! All I can say is, "I LOVE IT and I doubt I could ever go back. Omega Rating: 10 of 10 ** UPDATE ** The program has now been released! You can now download the 'functional beta' version << HERE >> ENJOY!
  3. The F18A Video Enhancement Board Retro Computing on the TI-99/4A can be a blast from the past for many of us, but nothing can ruin the experience faster than blurry, distorted or snowy images. Were we really going to dump hundreds of dollars into re-acquiring old equipment, as well as the cool new toys coming out, only to view a crappy picture over some lousy old TV or monitor? Heck NO, and we didn't have to, because as many of us in the community learned, before it was discontinued, Matthew Haggarty came to our rescue with the truly affordable F18A Video Enhancement board. UPDATE --- 02/02/2019 --- At one point, among Atari Age users, the F18A was the most used video output device for the TI-99/4A. After being discontinued, the 9918 has regained that spot as more new users have entered the TI community. Of course, the F18A MK2 will probably change that again after it's release. There were so many reasons to get one of these video upgrades, some of the most obvious were: 1) Crisp and sharp video 2) Ability to use modern HDTV's and computer monitors 3) Ease of installation 4) Reasonably priced However, there were more not so obvious reasons as well: With age, numerous TI systems developed different video issues, the F18A card fixed all of these problems without the owners having to waste literally hours, days or weeks trying to diagnose and identify the specific video chip at fault. They also avoided the hassles of removing the old broken components. Since this is a socketed device, it was a fix even a newbie with no soldering skills could perform. It was only advertised as a functional 9918 replacement, but quite frankly, it had a few tricks up it's sleeve that went above and beyond a crisp, clean, and flicker free picture. This board had HUGE additional benefits that many people, myself included enjoy... ...80 COLUMN MODE... Yep! The F18A displays 80 columns in programs like the Multiplan, BOOT, 4A/DOS, Force Command and the Tursi modified BA-Writer and many more. With the sheer number of F18A's out in the wild, it had become the de-facto standard. I'm hoping more stuff becomes available for it's replacement in the coming years. Here are a few screenshots taken from my system.... The attached PDF file below contains all the known programs to currently take advantage of the F18A's 80 column mode or enhanced graphics capabilities. (As of 1 January, 2015) You can download a few of the major 80 column compatible programs << HERE >> This was the #1 upgrade for the TI-99/4A. Everyone gained from this device, from the lowly newbie or returning user with only the basic console, to the rabid TI zealot with a totally over-blown and radically expanded system. As we wait patiently for the F18A MK2, Another Atari Age user, Vectrex Roli made a neat little You Tube video about this card, take a peek here... *** UPDATE -- 09/21/2016 If you want to use this device on a modern flat screen TV that only has an HDMI connector << CLICK HERE >> for more information about VGA to HDMI converters. TI-F18-Extra.pdf
  4. What's more appropriate for NEW gear on older computers, than updated versions of older software? Some legacy programs have 'issues' when dealing with newer gear or storage formats. Some older editors like TI-Writer or BA-Writer leave 'garbage'(see first reply below) at the end of a file which can interfere with programs like 4A/DOS when it's trying to process a batch file. Some older programs cannot use all their functions on newer gear. This editor program works flawlessly. Some legacy editors have multiple selection screens and are bulky multi-part programs, or have stuff you don't need. Some of the old editors don't even remember the filename you are working on. This newly updated editor by Fred Kaal does it all, in one easy to use compact program. I simply love this editor and I think you will too! Sometimes great things come in small packages! So whatever your hardware, even TIPI's and F18A's, this editor.... "IS THE ONE". Editor_V30.zip (attached below) This ZIP contains two versions of this program. The first version, "EDIT80" is compatible with the F18A. This version works VERY WELL within the confines of the 4A/DOS environment, but can also be loaded and used like any other EA/5 program. The second version, "EDIT40" is for users who still use the original 9918 composite output. EDITOR.BIN (attached below) Used to load the program from an FR99 or FG99. This program is a converted version of the 'scratch loader' originally developed by Mark Wills with tweaks by Tursi and also with support and input from the old SWPB group and members Bill, Tim and Ben. It was converted into cartridge format by AtariAge user JediMatt42. Here, in it's uploaded form it's set to load EDIT80 from DSK1. but it can easily be modified with a sector editor to suit your individual needs. Please, download and check them out for yourself. Also, feel free to leave comments, suggestions or even click 'like' to let me know you were here. If you want a video made, please let me know that too. Editor_v30.zip EDITOR.BIN
  5. For decades, graphics on the TI-99/4A sucked by contemporary standards. As time marched on, so did the world of static images, leaving the aging TMS9918 all but abandoned for active work. Working with graphics on the TI became slow and cumbersome, compared to modern machines. This 'dual combo' is real easy to use together, and makes using graphics on the TI a viable alternative again. Click on the video for a short example. CONVERT9918 The last two video modes in Tursi’s Convert9918 program take advantage of the F18A video enhancement by Matthew Haggerty. This VGA card can display graphics never before possible on the TI… photos that can actually be recognized for what they are! If you don’t care to use the Slideshow99 program with an F18A, you can still easily use this program to obtain graphics off the Internet for use in older programs like TI-Artist, Page Pro 99 and others. SLIDESHOW99 Features: Supports any file device real or emulated, up to 12 paths allowed, as long as it can give a directory. For instance you can load all your floppy drives with images for a larger slideshow, or use the HDX, or a CF device, or whatever comes next. Number of images allowed is very large, 65,000 per path and 65,000 total. It would be slow with that many pics to sift through though. It supports three modes on the standard TMS9918A: - 2 color monochrome bitmap - 15 color standard bitmap - 225 color half-multicolor (flicker) It supports two modes on the F18A: - 16 color paletted bitmap - 3072 color scanline paletted bitmap (16 colors per line) It automatically detects each image as it's loaded, so feel free to mix and match. IN CLOSING Some of you guys might have wives that don’t relate to our little black & silver object of desire. One might actually hear, “Oh, more crap from eBay” when they see your latest addition(s). Well, the Slideshow99 program might change their feelings. Imagine what your honey will say when she walks into the room and sees photos of the children, grandchildren, your wedding photos or even… her parents cycling through on the TI's screen! She just might warm up to the old TI once and for all! Now even, if you personally think you have no use for graphics, try this program anyway, just to please the 'old lady'. LINKS Tursi’s “Slideshow99” is available at : << THIS LINK >> TI program Tursi’s “Convert9918” is available at: << THIS LINK >> PC program Tursi’s orginal writeup on the slideshow program is viewable : << HERE >> For more information on the F18A video enhancement go : << HERE >> UPDATE: 10/05/2016 Atari Age user Shift838 converted the program for use in the FLASHROM 99! You can get that version: << HERE >> THANKS CHRIS!
  6. Does anyone have a datasheet for the 9918? Is there any pinout difference between the 9918 and 9918A? Also, aside from GM2, are there any functional differences? What I am ultimately trying to determine is if the F18A can be dropped into an 99/4? Has anyone tried?
  7. Hello, I've modified MLC to compile programs for the GPU that can be found inside the marvellous F18A. Here is my very first test of it. The GPU fills 26 times the screen starting with A and on to Z. So 26 times the whole screen, this is close to 20.000 bytes written. On the video you can see that if I run this once, you only see the last "Z" because it's too fast. And if I run it 10.000 times.... just look to see how much time is needed for those 200MB written: http://www.youtube.com/watch?v=4E3sccArZRw Here is the source code for the program: $MLC F 100 10 3000 300 CALL CLEAR 310 INPUT "Number of loops:":N 320 CALL LINK("TEST",N)::END ; ; here the MLC program that will run "n" times the GPU one ; $TEST GETPARAM 1 N ; number of loops GPURUN &h4000 ; first run of GPU routine with address DO REPEAT ; little loop to wait for the GPU to finish GPUSTATE UNTIL= ; state will be "=" when GPU has finished DEC N ; decrement my counter WHILE<> GPUWAKE ; if not finished, wakes up the GPU for another display !! (SEE NOTE BELOW) LOOP KEYWAIT 0 ; wait for a key $$ ; ; here the GPU program in assembly code ; the compiler sends it to VDP location >4000, the new F18A area ; this example fills the screen with the capital letters from A to Z ; $GPU li r0,26 ; 26 letters from A to Z li r1,>A1A1 ; start with double >A1 = "A" in XB ; letter loop clr r2 ; screen address li r3,384 ; 384 words = 768 bytes = 24*32 positions ; fill loop mov r1,*r2+ ; write two letters on screen dec r3 ; decrement counter jne -3 ; if not finished, jump to fill loop ai r1,>0101 ; next letter (>A2A2, >A3A3 etc...) dec r0 ; decrement counter jne -10 ; if not finished, jump to letter loop idle ; back to idle state $$ $END NOTE: Matthew, I have a problem with the wake function. If I use it then, the GPU program can only be run 4 or 5 times and then it doesn't work correctly. If I replace GPUWAKE (writting 1 to register 56) with GPURUN &h4000 then everything is fine. I may have done something wrong, but it appears that the GPU is more stable if the routine address is reset each time. Guillaume.
  8. I noticed in the F18a spreadsheet that there's a high-resolution timer in the F18a. At least that is what the F18a Status Registers SR3-SR11 indicate. Is my assumption correct? Did anyone use this timer yet?
  9. There is a new firmware available for the F18A, V1.6. It fixes a subtle bug related to sprites and includes many new features that I hope will be utilized. If you have an F18A in your 99/4A there is a in-system software update available (requires a CF7/nanoPEB or disk system that can handle about 250K of files). I posted the full details in the F18A Resource thread here: http://atariage.com/forums/topic/207586-f18a-programming-info-and-resources/page-12?do=findComment&comment=3226312
  10. today my vga to hdmi converter arrived i ordered from ebay so i decided to plug everything together and do some games playing i had already installed the f18a the other week and know that it works fine because i have played games using it briefly to test it the games i attempted tonight that a[[eared to cause issues are the following: pong from the pong / computer space box set, this game does nothing at all. i know the game works because it works fine on the same machine using the vdp chip and still works on my French board the re release of moon patrol, this game works however it crashes in about 2 seconds once the game has started (in my case beginner mode) the issue occurs if the vga to hdmi box is connected or not can anyone confirm this or know what could be the issue? could changing the f18a jumpers offer a fix? anyone have any ideas?
  11. Regarding a recent discussion on the various aspect ratios available to the stock console (or emulations thereof), there seems to be some clarification needed on what the actual aspect ratios are of the original TI output (both 60Hz and 50Hz). I say "needed" because, firstly, this info is very hard to find, and, secondly, there is a belief among some that the TMS9918, at least, has a 4:3 aspect ratio addressable pixel area with square pixels. This is not true, and, consulting the datasheet to solidify the numbers in my own mind, it is clear that neither the TMS9918A nor the TMS9929A employ use of square pixels. Most of the emulators I've seen use square pixels. Hopefully these numbers will be of use to someone else at some point. On page 5 of a document entitled TMS 9918A 9928A 9929A VDP Preliminary Specification 1981, there's this section: The hasty handwritten figures aren't mine; that's how I found this document on the web, and boy, it is not an easy document to find. Here it is for posterity, and, from this datasheet, plus the F18A documentation here, I've put together a side-by-side comparison of the different aspect ratios offered by each VDP. Remember that all of these are designed to send their output to a 4:3 screen. With the TI's addressable pixel area being 256x192, or also 4:3, you may think that this is a great match: 4:3 addressable area to a 4:3 screen = 4:3 aspect ratio. But no, the timings of the various analogue video systems have to be respected, so extra pixel rows and columns are required to border the addressable area. The 60 Hz VDP outputs an area of 284x243, although only 256x192 pixels are addressable, while the rest of the 'pixels' are set to a solid background colour. The 50 Hz VDP outputs an area of 284x294, although, again, only 256x192 pixels are addressable. Of course, there are no actual 'pixels' in the border area, but the pixel clock is running, nonetheless, and a pixel width is used as a reference in the above datasheet for the amount of vertical or horizontal space occupied by this area. The F18A outputs square pixels, as asserted by the chip's designer. However, square pixels (1.333:1) are a slightly different 'squeeze' to what you'd get from an NTSC console (1.52:1), and very different to what you'd get from a 50 Hz console (1.82:1). Given the numbers provided by the creators of all three products, the side-by-side comparison of aspect ratios looks like the following diagram: Personally, I most prefer the NTSC shape. It's a nice fit for the available screen area. The 50 Hz (PAL) that I have access to I.R.L. is too squashed in the vertical direction (or "short"), while the F18A is too "tall" for my liking. That being said, my previous sentence is merely my opinion, and not a slight on anyone nor any reason to take offense. I'm just stating a preference, and y'all are welcome to your own! Also, please note that results may vary, depending on the knobs and settings on your old CRT. On some of them, you can adjust H-WIDTH, and even V-HEIGHT is often a possibility. Both of those will alter the aspect ratio by squeezing or stretching the image. LCDs do a better job of remaining faithful to the input signal and not chopping anything off, but, if you fiddle with the menus, you can usually override that as well, depending on the monitor. If I've made any errors, please let me know!
  12. OK, so I just installed an f18a on my ADAM a couple of days ago and it worked great...until I put my ADAM back together today and now when I turn it on I get this screen. Any ideas? I'm not looking forward to tearing the thing apart again!!!
  13. Had to say this; just installed the F18a and WOW. it was so easy to install and the picture is great! The only hard part is cutting the hole for the plug. The only program I, so far, have problems with is 'The missing link'. keep getting, 'out of memory' and Stack memory goes to 0. Since I don't use it much, don't care. on the other hand It might be my imagination but the graphics seem faster. can't wait to delve into some of the extended features.
  14. Could someone please try the attached binary on the real deal? It's an 8k cartridge ROM that runs on the unexpanded console. I've been working on enhancing my spectra2 library with some new routines and would like to check if the Hardware is recognized in a reliable way. It should test the below: 1. Check if F18A is installed 2. Check if speech synthesizer is available 3. List the VDP refresh rate 50/60Hz Thanks. test1c.bin
  15. I'm starting this thread as a means to hopefully promote some F18A development, answer specific questions about programming the F18A, and finally as place to look for links to updated documentation and eventually firmware updates. This first post will always have the latest documents and updates attached, so there is no need to go digging through the thread to find the most recent information. I also hope it will contain questions, answers, and code examples. I would like to keep this thread technical and on-topic, so if you have other general F18A questions or comments, please start a new thread or use the other existing F18A thread. * Documentation: On-going. This is something I hope to complete, but until then Rasmus has collected many of the F18A programming posts from the forum and created PDF of them (thank you Rasmus!) See the files attached to this thread, and please ask F18A technical questions in this thread. The main F18A webpage (http://codehackcreate.com/archives/30) has the main feature list, as well as an initial post to getting started with programming the F18A. As I add documentation, I will post it on the website first, then make an update here to let anyone interested know there is something new. * Register Use Spreadsheet: Libre Office / Open Office .ods format. This is the primary spreadsheet I used while developing the F18A, and all functionality was documented in the spreadsheet first, then converted into HDL. That means the spreadsheet is always up to date with respect to the F18A's functionality. While some of the F18A's features require more documentation to use, much of the functionality is very self explanatory and can be used just by looking at the spreadsheet and reading the notes. For example, it does not take much to guessing to figure out what the "horizontal scroll register" does. ************* COMPATIBILITY ************* Pin-compatible replacement for the TMS9918A, 9928, 9929, and TMS9118 Video Data Processors. The F18A has been tested in the following systems: TI-99/4A Home Computer ColecoVison Game Console* ColecoVision ADAM Computer# Toshiba HX-10 MSX1 Computer Toshiba Pasopia-IQ MSX1 Computer JVC Victor HC-7 MSX1 Computer Yamaha CX5M MSX1 [email protected] SpectraVideo 328 Computer*@ Tomy Tutor Computer*@ SEGA SG-1000 Game Console SEGA SC-1000II (replaced a TMS9118 VDP) Telegames Personal Arcade Powertran Cortex Computer * Note1: These systems are known to have the original VDP soldered directly to the system circuit board and will require desoldering and a socket installed. # Note2: The ADAM computer requires an "offset board" to keep the F18A inside the main PCB outline. This is an available option when ordering and F18A. @ Note3: These systems are known to require USR4 jumper removed because the main system uses the CPUCLK output from the VDP as the main system clock. ************************ F18A FIRMWARE Change Log ************************ F18A V1.9 Dec 31, 2018 (CRC: 147A) * Prepare for open source release. * Split up the original "core" to create a top-module for the stand-alone F18A, and a "main core" that can be used as part of a larger SoC. * Fixed the VGA horizontal timing error caused by treating the pixel time as 40ns instead of 39.68ns. Because events were being counted in "pixels", this caused the horizontal sync pulse to be slightly off, and the overall line time to be 32us instead of 31.746us. This error meant each line was around 6.4 pixels too long, and pushed the total frame rate to 59.2Hz. This error was enough to cause games to fail (Pole Position on the 99/4A), and some monitors to not sync properly when run through video converters. The timing error also caused many problems for the PAL ColecoVision. * Removed sprite-linking. This was an unused feature and helped free up FPGA resources to allow the core to better fit in the Spartan-3E 250K. * Removed programmable GROMCLK divisor. Unused feature, free up resources. * Register mode and cd_i inputs to CPU component. V1.8 - Aug 24, 2016 (CRC: F981) * Fixed sprite collision bug where sprite collisions were being incorrectly detected outside of the active display, after line 191 or 239 depending on the line mode. * Added hybrid VR write restriction to mask VR writes to three-bits when the F18A is locked, like the real 9918A does. However, if mode bit M4 is set (80-columns), writes to VRs over VR7 are *ignored* instead of masked to three-bits. This allows various 9938 programs to work (or continue to work), as well as continue to support TurboForth that writes to VRs 0..15 to set up 80-columns (if straight masking was used, VRs 8..15 would over-write VR 0..7). V1.7 - Jan 1, 2016 (CRC: A3B5) * Fixed Bitmap-Layer (BML) display bug * Fixed GPU's PIX instruction to properly calculate BML addresses * Added power-on graphic that shows the current firmware version V1.6 - Apr 26, 2015 (CRC: 40CC) * Removed fixed tile functionality * Removed border scroll limit functionality * Removed banner functionality * Removed host-side 32-bit counter * Removed host-side 32-bit RNG * Removed GPU 32-bit counter * Removed GPU 32-bit RNG * Removed the sprite "disable value" (>F8) in the sprite Y-location when ROW30 is enabled. * Added second tile layer with its own NTBA, h/v page sizes, and h/v scroll regs * Added ECM2/3 pattern table size selections for tiles and sprites. * Added host-side segmented counter with 10ns accuracy. * Added configurable HSYNC and VSYNC GPU triggers. * Added fat-pixel (2x1) with 16-color support to the bitmap layer (BML). * Added 1x1 page scroll support for T40 and T80 modes. * Added option to reset most VDP registers to their power-on values. * Added option to disable Tile Layer 1, which includes GM1, GM2, MCM, T40, and T80. Sprites, the BML, and TL2 are still active and can be enabled/disabled independently. * Added option to allow attribute byte to be fg/bg color select in T40 and T80. * Added per-position tile attribute support. * Added DMA capability to the GPU: 8xx0 - MSB src 8xx1 - LSB src 8xx2 - MSB dst 8xx3 - LSB dst 8xx4 - width 8xx5 - height 8xx6 - stride 8xx7 - 0..5 | !INC/DEC | !COPY/FILL 8xx8 - trigger FILL (active high) will read a single byte at the src address and fill the destination with that byte. src, dst, width, height, and stride are copied to dedicated counters when the DMA is triggered, thus the original values remain unchanged. * Added USR3 jumper to control GROMCLK/CPUCLK output on pin37 to provide support for 9128/29 * Added USR2 jumper to disable/enable simulated scan lines (every other VGA scan line has its color reduced by 50%.) Also controllable via a new VDP register bit. * Added a 5th sprite reporting option instead of reporting the max-sprite, which on the F18A might be different than the original VDP because all 32 sprites can be on a single scan line. * Added a new register (VR51) to limit the maximum sprite processed. This has nothing to do with the number of sprites that can be visible on a scan line, which is controlled by a separate register (VR30). This register is always active and can be used instead of the >D0 byte in the sprite Y-location, and is the only way to limit sprite processing early when ROW30 is enabled. * Changed the GPU interlock so that polling the VDP status register will not cause the GPU to pause. This should greatly increase GPU performance during heavy VDP interrupt polling. * Fixed T80 NTBA two LSbit problem. They are ignored (set to "00") when the F18A is locked to provide compatibility with the 9938 and avoid problem with software that set the two LSbits of the NTBA to other than "11" as the 9938 documentation specifies they should be. This limits the T80 name table to 4K boundaries. When the F18A is unlocked, all 4-bits of the NTBA are used and the T80 name table can be located on 1K boundaries. * Fixed the 5th number update during a scan line. As long as the 5S flag is zero, the 5th number register follows the sprite scanning sequence. Seems to be a transparent latch that follows the input (current sprite being scanned) until latched by the 5S flag. If the status register is being polled and 5S is reset mid frame, then the 5th number begins following the scanned sprites again. This bug is known to have affected Miner49er on the 99/4A. V1.5 - July 2013 Not really a *bug* fix since the problem it corrects exists on the real 9918A, and only has to do with sporadic collision bit reporting during heavy polling of the original 9918A VDP status register. This was discovered while Rasmus was writing Titanium. The 9918A was not designed to have its status register polled which is why it provides an interrupt output. I don't think the original 9918A designers took the hazard into consideration, but I decided to make this correction because it is what the original designers would have done given their preference (and I asked Karl Guttag about it). Thus, the F18A implements what you would consider the "expected behavior", and will work as expected where the original 9918A might not. I did not make this decision lightly. V1.4 - April 2013 Fixed the sprite collision bug and a GPU bug with the divide circuit. The sprite bug is mostly affected by XB when a program uses CALL COINC(ALL). Most assembly games probably don't rely on the collision bit alone for sprites and perform coordinate testing, which is most likely why the bug slipped through all the testing (and I tested with a *lot* of games on a lot of platforms). V1.3 - July 2012 Original release firmware. ******** UPDATING ******** The In-System firmware update is available for 99/4A users. I am very thankful to Rasums and Tursi for their help in making this possible. You can download the F18AUpdate_vXX.zip file below. Detailed instructions are available on my website here: http://codehackcreate.com/archives/418 Alternatively you can update your F18A in any system via a JTAG programming cable. You can purchase a JTAG programming cable for about $59 USD from Digilent: JTAG HS3 programming cable/ This is very inexpensive for a JTAG cable (my Xilinx-brand cable was over $250!), and Digilent makes quality gear. You also need the Xilinx ISE-Webpack tools: http://www.xilinx.com/support/download/index.htm This is a free download from Xilinx, but it is BIG! About 6GB the last time I checked. There is a smaller download that contains just the programming tools called "Lab Tools" and is only about 1G. I'm still looking for a smaller / simpler solution. You will have to create an account (which is free). The primary program you need is called IMPACT and is used to program the FPGA and SPI-flash. Once you get the tools installed, download and unzip the f18a_250k_vXX.zip file. In the zip file you will find the MCS file: f18a_250k_vXX.mcs The .mcs file is used to update the SPI-flash ROM attached to the FPGA. Here are the quick instructions. The term "system" means your 99/4A, ColecoVision, MSX, etc., and "PC" means the modern personal computer you are running the Xilinx tools on. 0. Make sure your system is powered OFF to begin 1. Open your system to get physical access to the F18A 2. Plug the JTAG programmer in to your PC (via USB) and the F18A (via JTAG) 3. Power ON your system 4. Launch the Xilinx IMPACT tool 5. Double-click on "Boundary Scan", then right-click in the main area and select "initialize chain" 6. The FPGA should be detected and show up in the big area. A window will open with device properties, just click "ok" 7. Above the FPGA icon should be a dotted line with "SPI/BPI ?" in it. Right-click on that box and select "Add SPI/BPI Flash..." 8. Navigate to the f18a_250k_vXX.mcs file you extracted from the .zip file and choose "Open" 9. Select "SPI PROM" and "M25P80" from the two drop-down selections and click "OK" 10. The box above the FPGA should now say "FLASH" in it. Right-click the box and select "Program" Once the programming is finished, cycle power on your system and make sure it comes up. ******** Examples ******** Included in the zip file is a demos disk that shows many of the enhanced features of the F18A. The source for all the programs are included. I did not write these programs and I am very thankful to Rasmus and Tursi for contributing them. rasmus_scroll.zip F18A documentation.pdf f18a_register_use.zip F18A_V19.zip
×
×
  • Create New...