Jump to content

Willsy

Members
  • Content Count

    3,144
  • Joined

  • Last visited

Posts posted by Willsy


  1. Almost finished with the changes mentioned in my last post, when I realized the three source files I had been working on had been trashed by my ailing free “upgrade” to Win10Pro. I am going to have to take the time to roll back to Win7Pro before any more damage is done. I may be awhile! :skull:

     

    ...lee

    Wow I'm so glad I didn't upgrade to Win10. The icon is still there next to the clock. In fact, just today a pop-up came up and said that I could still upgrade to Windows10 for free, "for a limited time". Thanks Microsoft but after reading all the reports on how it spies on users and sends data back to The Deathstar Microsoft, my next change of OS will be to Linux.


  2. Noted :)

     

    I've already produced a stripped-down TF cart image (just 16K at the moment) that has a single Jetpac entry on the cart selection screen. It boots straight into TF. The auto boot code has been removed. It will simply execute a single word in the dictionay (i.e. JETPAC) upon startup and the game will start. I'll probably finish it this weekend. If the game had some sort of secret keypress on the game selection screen to drop out of the game you'd land in the full TF environment and would be able to write Forth programs!

     

    Too cool :-)

    • Like 4

  3. Regarding export from a blocks file to a DV80 file. I am inclined to do it only two different ways—one, with block headers and line numbers to facilitate easier reading and printing, much as with Appendix J in the manual—and, the other, with straight output of lines as they appear in the blocks file to facilitate editing for import into the same or another blocks file.

     

    Yes, that's how I'd do it. If you look at the various source listings in publications such as Forth Dimensions, all the Forth systems of the day exported their block output in this way.


  4. @Tursi,

     

    You're correct of course, however, in TF, the cartridge has two entries on the cart menu - one for 40 column mode and one for 80 column mode. Each bank would still have two identical cart headers, but with only one entry (the 40 column entry) defined in each bank, rather than two. :)


  5. Okay thanks guys. Nothing exciting Omega, just looking at ways of saving code. If the power-up address was honoured in ROMs in cartridges then multibank carts could be simplified. For example, in an 8 bank cart, banks 1 to 7 could have power-up routines defined that actually changed the bank to bank 0 and did a cold reset. It would be a nice means of dealing with carts that don't start in bank 0.


  6. There's code in TF which scans the keyboard at start up and loads BLOCKS from a drive according to the key pressed, or bypasses booting if enter is pressed at startup. I guess I'd strip that out first. That might be enough. Also only one cartridge header is required. Probably all the block related words could be removed since it wouldn't need to do any disk access. Plenty of scope to do it.


  7. As Lee says the first thing to do is remove some stuff from TF that Jetpac doesn't need to make room for the bootstrap code. The bootstrap code will copy a routine into pad ram which in turn banks in the appropriate banks in the eprom and copies the contents to CPU ram.


  8.  

    Yeah, I see that. The import of DV80 files to a blocks file does expect lines of not more than 64 characters and no headers. The export with block-number headers makes it nicer for the reader, but won't work very well for import. The export does not appear to list line numbers as I previously thought.

     

    ...lee

    You can toggle headers with HDR.

    As you noted, my code truncates incoming DV80 lines where they are > 80 characters.


  9. Start with the buffers. They'll normally be at the bottom of the board, next to the edge connector. I'm assuming of course that it has buffer chips!

     

    Also, the voltage regulators. Lastly, any "can" type capacitors should be changed. 30 year old electrolytic capacitors are going to be way off spec by now. I see this in guitar amplifiers and vintage guitar effect pedals all the time!

     

    There's probably not much wrong with it at all.

    • Like 1

  10. Having played the Vic20, BBC Micro and ZX Spectrum versions, I think I can say that this version compares best with the original. This was also true of SabreWulf and Jet Set Willy, it seems that the 4a is well suited to Spectrum conversions.

     

    Yes. The spectrum and the TI have the exact same screen resolution: 256x192. That makes things a lot easier.


  11. I quickly checked the source code and saw that it's using json format for cartridges and a windows file dialog if you select a tifile for your DSK. So I would customize the code a bit in order to feed it with a certain program / object automatically.

     

    Rasmus may be able to develop an API to allow you to supply the program/object. That way you don't end up forking the software, and save yourself work when you want to use the latest version of JS99er.


  12.  

    I of course then wonder, is it time for the battle of the basics ? Just kidding... But I can't resist doing a little computation test...

     

    For Cortex Basic computing primes from 1 to 100 with my non-optimized implementation takes 1 minute and 56 seconds.

    80  REM TAKES 1:56 ON 4A
    90  PRINT 1
    100  FOR I=2 TO 100
    105   P=0
    110   FOR J=2 TO (I-1)
    111    D=I/J
    112    E=INT[I/J]
    120    IF D=E THEN P=1
    130   NEXT J
    135   IF P=0 THEN PRINT I
    140  NEXT I
    

    For extended basic (using xb2.7) basically the same code took 2 minutes and 31 seconds

    100 REM TAKES 2:31 IN XB ON 4A
    110 PRINT 1
    120 FOR I=2 TO 100
    130 P=0
    140 FOR J=2 TO (I-1)
    150 D=I/J
    160 E=INT(I/J)
    170 IF D=E THEN P=1
    180 NEXT J
    190 IF P=0 THEN PRINT I
    200 NEXT I
    
    

    Without wishing to derail the thread, TurboForth takes about 0.5 seconds!

     

    Wanna see it? Load TurboForth from Classic99. After it has booted type

     

    DEMOS

     

    You'll see "Prime numbers to 1000" on block 15.

     

    Type:

     

    15 LOAD

     

    It will show you the prime numbers to 1000 (which takes ~2.5 seconds)

     

    Then type:

     

    PAGE

     

    (this will clear the screen)

     

    Then type:

     

    100 primes

     

    Ta dah!

     

    Okay. As you were.... :)

×
×
  • Create New...