-
Content Count
5,351 -
Joined
-
Last visited
-
Days Won
3
Posts posted by mizapf
-
-
Hi Lee,
I just tried to run it in MESS, and as you said, seems to have some issues there. How is it supposed to start up, with a welcome screen or the like? It seems to have problems reading input at the prompt.
-
I've been preferring the Cherry keyboards G80-3000L with linear characteristics for many years now, withstanding all kinds of new super-flat keyboards with almost no more key travel and weird click point feelings.
I think I know why: The TI keyboard also has a linear key travel with a quite similar feel ... maybe some kind of imprinting on me in those early days. :-)
Michael
(Cherry has an abundance of different keyboards with similar names, so if you are interested you have to carefully study the specs.)
-
Hi,
sorry for my standard reply, but it applies in this situation particularly well. If you look for some emulation running natively under Linux, I recommend MESS, since I use Linux exclusively for working on the TI/Geneve emulation within MESS. Guaranteed to work, unless your computer is too slow.
Michael
-
Ahem ... no ... not thought about this yet.
One thing to be remembered: MESS is not only about TI systems (yes, try the C64 on it, too!), and it's my work in a really modest part only. MESS is some kind of toolkit to build whole systems from, with an abundance of emulated circuits, most of them we don't need for the TI. Indeed, ALL systems are compiled into the executable, and you just need to add the required ROMs to start right away.
There have been considerations to create something like "tiny builds" where everything is thrown out that does not belong to the system you are interested in. On the other hand, this is not really more than a question a matter of the process memory that you have, and with current computers we have plenty of it. In other words, it's not really worth the effort to strip down MESS to the TI part, since the rest of the code is just never reached during runtime, just lingering in memory.
And BTW, having a choice is not always that bad. I'm sometimes a bit irritated by people (not you, here) who seem to wish they had no choice but only one for this and one for that. Give me one operating system, one writer program, one emulator, one file system type, ...
-
A=255 and B=0 as you suspect, Michael.
Yes, this is what I seem to remember. The interesting thing is how this is caused. The 32K memory expansion is organized as sixteen 16K x 1 DRAMs, which calculates as 256 KiBit or 32 KiB. Also, the card has an 8-bit interface, so why should the even addresses be handled unlike the odd ones?
Anyway, this solves the problem with the TurboPasc programs that fail to run in the emulators. What I do not remember is whether TurboPasc stopped working on my own machine once I replaced the 8-bit card with the console 32K mod (16bit directly connected). I think this was the time when I switched to c99, never to use Pascal again ...
-
1
-
-
OK, thanks for looking anyway.
It would be even more helpful if there is anyone here who could check this with the real 32K memory expansion on the TI. I cannot test it, since I have a Geneve, which cannot use the 32K.
No one here with an original 32K memory expansion?
-
1. You can print to a file. You need to "mount" a file as the "parl" file (parallel). For instance, when you start MESS with
./mess64 ti99_4a -peb:slot6 tirs232 -parl outfile.txt
you can "print" to this file, then you can take that file and actually print it with your operating system support. You can set the "parl" file in the File manager; you maybe need to create it first.
2. Please use TIImageTool to easily manage HD images. It offers some simple ways to copy files between images. TIImageTool is at http://www.ninerpedi...php/TIImageTool
Michael
-
Tursi,
have you found the schematics of the 32k card?
-
I like that solution, too. I've found schmutzig1952 on ebay, haven't emailed him yet, ...
"schmutzig"?

People do have weird nicknames... For those of you not that familiar with German: it means "dirty" in Englisch. And it has the same literal and figurative meanings. (BTW, the cognate word in English is "smut", here: "smutty").
Michael
-
BTW, to make it clear this code is not from my fingers but from @APESOFT, if I recall correctly, Anna and Johann Peschetz from Austria, who were pretty productive in those times. Learned a lot from them.
-
1
-
-
Luckily people did not try to file something like this as a patent. :-)
-
Here is the program. Texts are in German, but you should be able to figure out how it works.
-
You cannot use RUN FILE$ inside a program. This may be due to RUN cleaning the variable space, so the string is lost before it can be passed to RUN.
There are some specific utilities that try to fix this problem. One approach is to use a command like RUN "DSKx.XXXXXXXXXX" with a fixed string, and the actual drive number and the file name is CALL LOADed into the fixed string.
-
A short glance back, 2 months ... I remembered something ... and now I got TurboPasc'99 working, with WURM etc.
I said above that I thought the RAM was initialized with 0. But then ... with the 8-bit memory expansion card in the TI, wasn't it the case that you got a FF00 for each word on first access? That is, the even RAM positions are all FF at startup, and the odd ones are 00?
Could someone with a real 8-bit memory expansion please quickly verify that CALL PEEK(-24576,A,B) delivers A=255 and B=0? (or vice versa). I suppose the values of the even addresses are read/written as inverted, while the ones from the odd addresses are directly read/written.
So after I implemented that in MESS for the 32kmem component, I was able to run WURM without crash.
-
If you're tired of Wine I have some suggestion for you concerning the emulator.

As for transferring files to your TI you can use TIImageTool and run some Terminal emulator on the TI side like TELCO. It features an XModem implementation so you can easily push files over a serial line. No need to use an emulator in this case, but TELCO or similar programs must already be present on the TI side.
FIAD is another name for a TIFILES file which encapsulates the TI file information with its contents. DOAD is what is generally called a disk image.
-
Robert,
locate the 60 in the first PAB, change it to 00. This is the "screen offset" (see Editor/Assembler manual p. 253). Or get into TI BASIC (not Extended Basic) and there you can use the CALL LOAD and CALL LINK subprograms (when the Editor/Assembler cartridge is plugged in).
Michael
-
1
-
-
the assembled program that mizapf shared seems to work, but the cassette prompts don't display from some reason - good thing I have them memorized
)I don't fully remember, but you can run it either within Editor/Assembler or TI BASIC; in one case you will not get screen output. The reason is that TI BASIC shifts its pattern definitions so you have a character offset.
Michael
-
Use this as a template. It was a program I wrote aeons ago to copy my Scott Adams adventures from cassette to disk
-
2
-
-
Hi Willsy, there are some prebuilt Windows binaries at http://mamedev.org/release.html . You have to download the MAME package and then drop the mess.exe from the separate MESS package into the folder where you unpacked MAME.
Michael
-
I found the control of Munch Man not that unresponsive. Mind that Munch Man is running much faster in the maze than Pac Man. I quickly learned to pull the joystick a fraction of a second before reaching a crossroads and could easily navigate this way. Luckily this still works perfectly with a Joystick-to-USB adapter I got some time ago and Munch Man running on MESS ... brings back the authentic feeling

-
Remembering Infocom ... the parser even recognized object references, something like GET THE KEY AND UNLOCK THE DOOR WITH IT. I think there were different versions of the parser; the earlier ones were less powerful.
I still have the original Zork II, III, and Deadline packages here. There were still a lot of games I always wanted to play but never got them. My absolute favorites were Planetfall and Stationfall. I can still remember the scenes, although they were in my head only.
And, who of you did not hesitate to get the PC games Return to Zork, Zork Nemesis, and Zork Grand Inquisitor?
-
Definitely the 64K address limit of the 8-bit CPUs, and even the 9900, was a detriment and some sort of built-in standard banking was absolutely necessary. The MSX has a memory mapper built-in which makes standard expansion much easier. I also think that is the main advantage the 8088 and 8086 had over other CPUs of the day (a 20-bit address space) and contributed to the domination of the "PC".
Right. The problem persists in the Geneve architecture, due to the 9995 being just an improvement of the 9900, not another architecture. While the Geneve comes with 640 KiB RAM, you can only access 64 KiB at a time, just like the TI. We do have a mapper that is used to map 8 KiB portions of the complete memory into the address space at 8 K boundaries, so one might think that this should allow for using all of the space in a free way, but this is actually not possible without explicit control. That is, memory access is not transparent to the program; we need to include commands to change the mapper values.
The magic comes with the address width. The PC, for a long time, had a larger address space than real memory. This is what you need to implement virtual memory management. In recent years, we can now buy PCs with more than 4 GiB of RAM, which exceeds the 32 bit width of the ALU; this is an incentive to go for newer 64 bit systems. On the other side, the TI with its memory expansions, and the Geneve always had a smaller address space than memory.
-
I think TB goes up the list because of file I/O. As I said, I also included reading from floppy. The first lines show the stereotypical way of looping: MOVB, DEC, JNE. I think we should have made more use of MOV, DECT, JNE.
-
OK, done. This is the result of starting the TI-99/4A, entering Editor/Assembler, load and run the soft-scrolling demo, then exit, plug in Munchman, start the game, exit after 15 seconds. Note that I did not differentiate between word and byte commands in the last statistics. (Hmm ... why didn't I do it this way the last time?)
2625576 MOVB
2084218 JNE
1538164 DEC
882559 JEQ
785892 MOV
567033 ANDI
537855 LI
515825 B
445086 TB
431942 SWPB
357957 SRL
281136 CLR
232614 LIMI
230950 JMP
225351 SETO
206597 LDCR
199537 JOC
191009 INC
190570 INV
189890 JLT
189008 STCR
185686 SZC
177939 BL
165085 SLA
143935 C
133256 CB
117836 AI
106403 ORI
95228 INCT
91591 CI
73058 JGT
58933 A
53266 SZCB
52223 JL
35656 SBO
35552 SOC
35496 DECT
26751 MPY
24161 DIV
22233 SRA
17970 COC
16262 JNC
14322 AB
12958 JH
12379 LWPI
12232 S
9776 JHE
5255 RTWP
5125 ABS
3645 SRC
3605 CZC
3018 STST
2875 BLWP
2624 STWP
1491 SBZ
1158 SB
899 XOR
851 JLE
504 NEG
300 JNO
273 SOCB
24 X
-
1
-

XB256 with Sound List Compiler
in TI-99/4A Development
Posted
Would a text file to DIS/VAR 80 conversion be OK? You can find that in TIImageTool. You can use "Import from text editor", paste the whole file into the window, and save as a file to the disk image. Then you can save the file in TIFILES format. The next version (to be released soon) offers direct import of the text file and get a DIS/VAR 80 on the image.