Login
Back to forumReply to this topicGo to last reply

Posted By

Litwr
on 2012-07-05
04:06:29
 recompiler

Does anybody know the exact purpose of
http://plus4world.powweb.com/software/Recompiler?

Posted By

SVS
on 2012-07-05
04:49:52
 Re: recompiler

If I well remember either:
1) Convert a C64 Basic prg into a +4 one;
2) Generate Basic lines from Austrospeed compiled code

I bet on first option...

Posted By

Litwr
on 2012-07-07
03:04:06
 Re: recompiler

I've encountered with c64 sources which require Turbo assembler improvement---Turbo Macro assembler. We have turbo assembler 6 converted by Csory but nobody has converted its macro extension. I thought that recompiler may help.

Posted By

siz
on 2012-07-07
05:44:35
 Re: recompiler

That's not true. Csory had converted the Macro version too and he also has an expanded version which works only with his 256k RAM expansion.
I have both versions and I'm very surprised that I can't find them in our database. :O
I've uploaded the 64k version to http://siz.hu/external/macroass_plus4_csory.zip

Posted By

Litwr
on 2012-07-09
02:17:04
 Re: recompiler

Wow! happy Thank you very much! This powerful program should be added to plus4world. Do our administrators read this?

Posted By

Luca
on 2012-07-09
02:29:04
 Re: recompiler

Yes, we've read and we'll add it today happy
siz: if you have the cited 256K version too, we're here ready to embrace it.

Posted By

Litwr
on 2012-07-12
01:30:06
 Re: recompiler

I've just tested this assembler. It has a bug which prevents to use any disk command---this makes it useless. Thanks to SVS ROM map I could fix this bug. The value 8 should be placed to $AE memory location. I placed the fixed version to my site (http://litwr2.atspace.eu/p4_download.html). Sorry this fix is not perfect. Some commands (e.g., ESC-4 to produce listing on screen or printer) may change current device number---somebody should place 8 to $ae manually in this case.

Turbo Macro Assembler is still developed for C64 (http://turbo.style64.org/)! happy Its main advantage is its ability to handle plain texts (sources, listings, symbol tables, etc). Its editor has undo command. It has versions for the different platforms (c+4, c64, unix-like, microsoft, ...). However Csory's convertion is dated by 1992---it is a bit old. Turbo assembler conversion quality looks better (it uses colors) than Turbo Macro Assembler.

C64 TMP has several commands (2,6, #, ^, p, ...) which are not implemented in the c+4 version. C64 TMP supports dual computer development: one is used for the work with texts and another to execute developed codes!

[SVS] I have an addition to ROM map. The subroutine at $C5A7 should be named "fill page(s)". It takes a value at AC as value to fill, a value at XR as number of pages to fill, and YR value as start page address. So with AC=$77 XR=2 YR=$20 this subroutine fills range $2000-21ff with $77. XR=0 means to fill 256 pages.

Posted By

siz
on 2012-07-12
06:28:10
 Re: recompiler

This bug is not MacroAss specific: it's present in some (badly written) other programs too (including my Zak Wizzard v2.0 - that's why I had to update it some years ago to v2.1).
The cause of the problem is the KERNAL's way of handling the 1551: it assumes device number in $AE (from a previous SETLFS call) to detect the 1551 properly. If the program uses LISTEN/TALK (serial-bus specific) commands without a prior SETLFS then it won't work with the 1551.
I've used this version of MacroAss on my plus/4 with a 1541-II for years without a problem.

Posted By

Litwr
on 2012-07-19
15:05:33
 Re: recompiler

[siz] Thank you for information. happy I thought that C1551 was better supported by ROM.
I've just fixed this assembler to work with 1551. I redirect all $8b24 calls (they invoke KERNAL $ffb7, etc) so they have to place AC to $AE at first. This fixed version is ready to download.

Posted By

siz
on 2012-07-20
00:52:28
 Re: recompiler

I had a book back then (Commodore plus/4 programozói zsebkönyv - Commodore plus/4 programmers' handbook by Gábor Babán and István Masa). I've learned assembly programming from that book. In that book the floppy drive programming chapter uses serial specific routines (TALK/TKSA/IECOUT/UNTALK, etc) to access the drive. These are the routines that don't work with the 1551 and I didn't know about this until I got my hands on YaPE. :/
I think that a lot of converted C64 programs use this method too to access the drive.

Posted By

Litwr
on 2012-07-20
04:58:50
 Re: recompiler

IMHO the problem is only with LISTN ($FFB1) KERNAL routine. I've fixed it and TMA began to work fine.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024