Jump to content
IGNORED

Dumb Question (Programming without Native Hardware)


AtariK2

Recommended Posts

Is anyone programming (assembly) exclusively on non-native TI hardware (strictly through emulation only)?

 

...or is that not possible and instead requires a 32k Memory Extension, Assembler/Editor Cartridge/ Mini-Memory Cartridge, Floppy Drive, etc.?

 

Thank you!

Link to comment
Share on other sites

I'm not sure I understand the question exactly. To program in assembly on the real hardware requires an understanding of a few things.

 

First, the stock console (no PEB or sidecars attached) only has 256 *BYTES* of RAM on the CPU's address bus, known as "scratchpad" RAM. This RAM is also the only RAM in the whole system that is on the 9900's 16-bit address bus. The ROMs are also on the 16-bit bus, but obviously you can't change their contents. All other RAM or ROM access goes through the 16-to-8 bit multiplexer that interfaces the 9900's 16-bit bus to an 8-bit bus, and adds wait-states to the memory access.

 

The only other RAM in the stock console is the 16K of VDP RAM, called VRAM. You have full access to this RAM, but you have to read and write to it by going *through* the VDP, one byte at a time. This makes it very slow and cumbersome compared to directly attached RAM. The VRAM is where BASIC (and XB without a PEB) stores programs, which is one of the contributing factors as to why it is so slow.

 

Thus, to program in assembly, you need somewhere to store you programs so they can be executed by the 9900 CPU. GPL aside, the 9900 can only execute code from memory that is attached to the CPU's address bus. That eliminates the VRAM and only leaves the system ROM and tiny scratchpad RAM in a stock console. If you plug in a cartridge, then it *might* have some RAM in it, and you *might* be able to use it, but usually not.

 

Thus, to realistically program in assembly on the 99/4A, you need the 32K RAM expansion, and if you are working on real hardware you will need a disk drive as well. Also, some sort of editor and of course an assembler is nice to have. The Editor/Assembler cartridge, along with the associated editor and assembler programs (stored on floppy disk) are pretty much the defacto standard for coding on the hardware itself.

 

Another option for programming assembly on real hardware is the mini-memory cartridge. It has 4K of battery-backed RAM inside of it, as well as a line-by-line assembler. So, with just a stock console and the mini-memory cart, you *can* program assembly, and many people have (or still do?) However, IMO it is painful.

 

Thus, any emulator that you use to program assembly will need to emulate the PEB with 32K RAM, floppy disk drive, and E/A cartridge. Classic99 is an example of an emulator that will do that. Also, with Classic99 you can use an external assembler (like the asm99a assembler, etc.) to compile and load and run the object code into Classic99. Using an external assembler allows you to use a modern text editor on your PC to write you code, assembly quickly, and run via the emulator. It makes for a very nice code/assemble/test/debug cycle.

 

There is a thread here in the 99/4A A.A. forum about using emulators to program in assembly. It includes step-by-step instructions for getting all set up for 100% emulator programming.

 

I think most people writing in assembly for the 99/4A are doing so in emulation, at least for the bulk of the work, and only test on real hardware. The only die-hard "program 100% on hardware" person that I know of, converted some time ago to emulation once he realized how much easier it was.

 

Hope this helps.

Edited by matthew180
Link to comment
Share on other sites

Actually I believe Marc Hull still programs in assembly on real hardware only. Crazy Marvin's Great Escape is one such (BTW extremely well coded and highly addictive) recent example from him. While I love my hardware, it simply cannot compete in efficiency and reliability with emulation when it comes to programming. Besides, since I will soon be moving to downtown Chicago and thus have far less space available, I'm not even sure I can maintain a full blown system :( Thankfully, with the availability of the CF7 sidecar and the FA18 VGA upgrade, I will probably be able to get by with just a console and a flat screen monitor which I can even share with my PC.

Link to comment
Share on other sites

I like both ways of programming. My real hardware setup is always on my desk and ready to be used.

 

The real console gives me this nostalgic feeling.

 

It depends on my mood: do I just want to code for fun and try out something? Then both is possible.

 

If I am having a ti99 programming session together with my brother, we always prefer the real hardware then.

 

But in any case I need my netbook with all those nice pdf book files about assembler or basic/xbasic.

Link to comment
Share on other sites

Actually I believe Marc Hull still programs in assembly on real hardware only. Crazy Marvin's Great Escape is one such (BTW extremely well coded and highly addictive) recent example from him. While I love my hardware, it simply cannot compete in efficiency and reliability with emulation when it comes to programming. Besides, since I will soon be moving to downtown Chicago and thus have far less space available, I'm not even sure I can maintain a full blown system :( Thankfully, with the availability of the CF7 sidecar and the FA18 VGA upgrade, I will probably be able to get by with just a console and a flat screen monitor which I can even share with my PC.

 

The esteemed Mr. Hull is not the ony one... There are several more of us insane aliens still active. ;)

Link to comment
Share on other sites

The esteemed Mr. Hull is not the ony one... There are several more of us insane aliens still active. ;)

 

Wooooohoooo!!!!!!! :dunce:

 

 

I stepped in some esteem once. took a month to get the stink off ;-)..........

 

Seems Miss information has struck again. Maybe it's time for another poll so we can get the real scoop. hehehe

Link to comment
Share on other sites

Yeah, he did .... Sometimes99er answered his question quite admirably. He was wanting to know if anyone was coding assembly on emulators only.

I would'nt mind getting into Assembly at some point. Although having being discombobulated after looking at Forth, I doubt with me it is possible?! :)

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...