CyberpunX Replay Changelog: Difference between revisions

From ReplayResources
Jump to navigationJump to search
mNo edit summary
No edit summary
Line 3: Line 3:
That '''Next''' section even points to things we really plan to do or even are working on. Incredible, no? So check back here 2020!
That '''Next''' section even points to things we really plan to do or even are working on. Incredible, no? So check back here 2020!


 
(Doh, its 2021 already - time to update ...)




== Next ==
== Next ==


* Re-write the IO-Switching routines, provide proper API to functions (4.x will be the outcome)
* Re-write the IO-Switching routines, provide proper API to functions (a 4.x branch will be the outcome)
** POSSIBLY even gain SuperSnapshot compatibility?
* Port all the good stuff to the new API
* Port all the good stuff to the new API


** time passes
* continue work on the filecopy selector (postponed until 4.x - needs rewrite)
 
** Improve filecopy to work with more than 32 files at once and be more comfortable. This fileselector will probably be used for TASS,etc as well then.
* continue work on the filecopy selector (cancelled until 4.x - needs rewrite)
* Improve filecopy to work with more than 32 files at once and be more comfortable. This fileselector will probably be used for TASS as well then.


* add D64 Send/Receive (without destroying C64 RAM) (likely using codenet)
* add Codenet - D64 Send/Receive (without destroying C64 RAM)
* SilverSurfer receive routines (64 KB roms ONLY !) - plain ''ssget'' is available. RS-232 support is currently sort of ''frozen''.
* SilverSurfer receive routines (64 KB roms ONLY !) - plain ''ssget'' is available. RS-232 support is currently sort of ''frozen''.
* Ninja plans to improve the load routines to do automatic-dir changes and some more small stuff :)
* Ninja plans to improve the load routines to do automatic-dir changes and some more small stuff :)
 
* Danzig will provide a Sprite/Char-Editor :)
Known Odd Bugs:
* fix a bug reported by Frank Kontros (again...hehe) which affects the track/sector ID. Frank supplied the patch already, so it will be done soon.
* BUG reported by Jack Alien & HOK (reproducable on plain AR and new RRs):
** enter monitor
** write a little ML save routine (which saves some area, ffba, ffbd, ffd8)
** G start (file should be saved fine)
** hit F3 for directory (RetroReplay ROMs crash HERE)
** @s:file (ActionReplay V6 crashes HERE) ... to be fixed - happens only on monitor ! (sys routine, f3, etc in basic seems to work fine)
 
 
 


Stuff we are planning TO DO (ordered):
Stuff we are planning TO DO (ordered):


* Cancel 32KB releases - there is a maintenance release coming up mainly to satisfy _my_ original ''Action Replay'' hardware.
* Sprite&char editor - for 4.x (hopefully)
* Fix load/save in freeze mode to handle files from $0000-$ffff  
* Fix load/save in freeze mode to handle files from $0000-$ffff  
* FD fastsave compatibility
* FD fastsave compatibility
Line 48: Line 34:
* Advanced Disk Monitor
* Advanced Disk Monitor
* A note maker !!! (requested by bugme:Deekay) dobbelblocknoter looks funny
* A note maker !!! (requested by bugme:Deekay) dobbelblocknoter looks funny
* and probably as its 2021 - some ''filebrowser'' for you new age devices...
== Known Bugs==
* fix a bug reported by Frank Kontros (again...hehe) which affects the track/sector ID. Frank supplied the patch already, so it will be done soon.
* BUG reported by Jack Alien & HOK (reproducable on plain AR and new RRs):
** enter monitor
** write a little ML save routine (which saves some area, ffba, ffbd, ffd8)
** G start (file should be saved fine)
** hit F3 for directory (RetroReplay ROMs crash HERE)
** @s:file (ActionReplay V6 crashes HERE) ... to be fixed - happens only on monitor ! (sys routine, f3, etc in basic seems to work fine)
* https://csdb.dk/forums/?roomid=11&topicid=45925 describes a drive bug found by GRG and Soci (also: https://www.lemon64.com/forum/viewtopic.php?t=61787).
  To reproduce it load a file from a device != 8, send "UI" and then check the error channel.
  E.g. ''@9 - /file - @UI - @9'' leads to "device not present".
  The same will happen on fast save and fast format. The current ROM has space to fix the issue but the layout of the routines leaves too many error cases on which the problem would not reliably get fixed. The alternative, to M-W after each such operation doesn't sound too well either. So be it - problem will remain for the moment :)
== Beta 3.99 (64kb Rev.) (in the works) ==
even more time passed and 32kb ROM support for old Action/Nordic Replay hardware is now dropped completely.
* re-added ''VIEW SPRITES'' with some small changes
* re-added ''FILE COPIER'' with the previously removed WARP option changed to a ''REPLACE FILES'' option
* detection routines for PAL/NTSC, REU size, machine and kernal type and clockport add-ons were added - mostly to be utilised still
* more




Line 57: Line 71:
== Beta 3.1 (32/64kb Rev.) (important bugfix)==
== Beta 3.1 (32/64kb Rev.) (important bugfix)==


* broken J command fixed !!!
* broken J command fixed
* added a new monitor command: W (no options)
* added a new monitor command: W (no options)
**This only works in freezemode monitor and displays the freeze and breakpoints to you. Freezepoints are colored white, breakpoints are colored gray. a disassemble of the shown locations will show you the jsr $dxxx for the freezepoint or a BRK and (if set basically correct) 1 or 2 junkbytes, which are leftovers from the original command. Nevermind, when restarting programs the locations will be reset to their original value and the program is restarted as it should be. Just make sure (as noted in the manual) to pass the freezepoint correctly and not crash into it. The JRS to the Freezepoint may be changing depending on the version. You can assemble the JSR manually, but should check for the correct value using a normal SF (Set Freeze) on the freeze mon.
**This only works in freezemode monitor and displays the freeze and breakpoints to you. Freezepoints are colored white, breakpoints are colored gray. a disassemble of the shown locations will show you the jsr $dxxx for the freezepoint or a BRK and (if set basically correct) 1 or 2 junkbytes, which are leftovers from the original command. Nevermind, when restarting programs the locations will be reset to their original value and the program is restarted as it should be. Just make sure (as noted in the manual) to pass the freezepoint correctly and not crash into it. The JSR to the Freezepoint may be changing depending on the ROM version. You can assemble the JSR manually, but should check for the correct value using a normal SF (Set Freeze) on the freeze monitor.
* Improved ZAP to work much better. Now the adresses from $0800 to $0803 are restored after zap, while clearing of lower pages was improved. This leads into basically this: load a program with fastload, zap and run it ... improves compatibility a little more. BEWARE though, the pointers for basic program ends and variables will not be set, so it is recommended to load very tricky basic stuff after ZAP without the fastload or after normal reset (only if the program refuses to work with AR/RR all this applies ofcourse ... :) )
* Improved ZAP to work much better. Now the adresses from $0800 to $0803 are restored after zap, while clearing of lower pages was improved. This leads into basically this: load a program with fastload, zap and run it ... improves compatibility a little more. BEWARE though, the pointers for basic program ends and variables will not be set, so it is recommended to load very tricky basic stuff after ZAP without the fastload or after normal reset (only if the program refuses to work with AR/RR all this applies ofcourse :) )




Line 81: Line 95:
** any plain decimal combination as used in the original basic command   
** any plain decimal combination as used in the original basic command   
** combinations of decimal and hex like: $ff,250 - 4096,$fe - $fff,100 the hex numbers are checked here for correct size. the 16 bit value before the comma can have 1 to 4 chars, the 8 bit value 1 or 2 chars.   
** combinations of decimal and hex like: $ff,250 - 4096,$fe - $fff,100 the hex numbers are checked here for correct size. the 16 bit value before the comma can have 1 to 4 chars, the 8 bit value 1 or 2 chars.   
** complete hex entries - incorrect entries will result into an errormessage or will be ignored.
** complete hex entries - incorrect entries will result into an error message or will be ignored.
* After FREEZE+RESTART channel 3 of SID was always disabled - fixed
* After FREEZE+RESTART channel 3 of SID was always disabled - fixed
* Added a little delay loop before checking for CTRL and CBM straight after reset. Mainly to be able to press one of these keys before the emulator has finished the reset. While ''CCS'' allows to have a key pressed during the reset routine, ''VICE'' doesn't seem to have that option (yet).
* Added a little delay loop before checking for CTRL and CBM straight after reset. Mainly to be able to press one of these keys before the emulator has finished the reset. While ''CCS'' allows to have a key pressed during the reset routine, ''VICE'' doesn't seem to have that option (yet).
* A deeper digging into the freeze routine made me check the $dd00 related part of it aswell. (Thanks to Krill/Plush for some hints and pointing me to an obvious crap up.) Basically I changed the behaviour of the screen switching routines and of the reset/ freeze-setup routine to not touch the upper bits of $dd00 to prevent freezed loaders being crashed when restarting. This doesn't happen to all loaders and doesn't happen always, so it's a little tricky to test this. Nevertheless stability on freezing wicked stuff should increase a little. On the other hand, fuckups everywhere! Test, test, test ... :)
* A deeper digging into the freeze routine made me check the $dd00 related part of it aswell. (Thanks to Krill/Plush for some hints and pointing me to an obvious crap up.) Basically we changed the behaviour of the screen switching routines and of the reset/freeze-setup routine to not touch the upper bits of $dd00 to prevent freezed loaders being crashed when restarting. This doesn't happen to all loaders and doesn't happen always, so it's a little tricky to test this. Nevertheless stability on freezing wicked stuff should increase a little. On the other hand, fuckups everywhere! Test, test, test ... :)




Line 92: Line 106:
* Sprite Viewer removed - The Editor will be added as soon as it's finished
* Sprite Viewer removed - The Editor will be added as soon as it's finished
* A newly introducd bug on the F4 key removed ... leading into a new command as side-effect:
* A newly introducd bug on the F4 key removed ... leading into a new command as side-effect:
* new disk-command function added: @#(device) changes device without reading the error channel.
** new disk-command function added: @#(device) changes device without reading the error channel.
* Fixed all disk command related operations to work from device 8-30 (I hope)
* Fixed all disk command related operations to work from device 8-30 (hopefully)
* Found the Collision Killer to be faulty. Basically it was always looking for BOTH collision types, instead of the chosen one ... FIXED.
* Found the Collision Killer to be faulty. Basically it was always looking for BOTH collision types, instead of the chosen one. FIXED.
* Toolkit, Freeze Save Menu and device changes in freeze menu are now changed to work on device 8-30 aswell. These menus will scan the IEC bus for available devices though. If it fails on one of your hardware pieces, lemme know.
* Toolkit, Freeze Save Menu and device changes in freeze menu are now changed to work on device 8-30 aswell. These menus will scan the IEC bus for available devices though. If it fails on one of your hardware pieces, contact us!
* The state of freezing (Monitor mode or menu mode) is now remembered correctly. This means, freeze, Monitor, Exit, Restart and Re-freeze will take you to the freeze menu, instead of the monitor. On the other hand, freezing a program started from the freeze mode monitor (G, G XXXX), will take you directly back to the monitor. ... okay ?? :)
* The state of freezing (Monitor mode or menu mode) is now remembered correctly. This means, freeze, Monitor, Exit, Restart and Re-freeze will take you to the freeze menu, instead of the monitor. On the other hand, freezing a program started from the freeze mode monitor (G, G XXXX), will take you directly back to the monitor.
* Wildcard Hunt for monitor added (See Section 7.0)
* Wildcard Hunt for monitor added (See manual Section 7.0)
* Fixed a bug on the fastformat option. Although this was in Beta1 already, nobody complained about it ... great
* Fixed a bug on the fastformat option. Was in Beta1 already, sigh


* found back an NTSC rom image. Fixing the current code to work on NTSC only took an hour, but PAL and NTSC on the same rom is somewhat tricky. Anyways, it's a few bytes fix and now we are WORLDWIDE. :)
* found back an NTSC rom image. Fixing the current code to work on NTSC only took an hour, but PAL and NTSC on the same rom is somewhat tricky. Anyways, it's a few bytes fix and now we are WORLDWIDE. :)


* /$ %$ and other load commands acted like LOAD"$",x,1 ... fixed to display dir now.
* /$ %$ and other load commands acted like LOAD"$",x,1 - fixed to display dir now.
* Minor fixes on monitor and basic behaviour
* Minor fixes on monitor and basic behaviour
* Fixed the device change lasting forever bug on no-drive systems :)
* Fixed the device change lasting forever bug on no-drive systems :)
Line 119: Line 133:
* (T.*)-Extensions (from tape removed). Extensions (E.*) from disk of course remain.
* (T.*)-Extensions (from tape removed). Extensions (E.*) from disk of course remain.
* ''Are You Sure ?'' got lost
* ''Are You Sure ?'' got lost


Stuff that was ADDED, PATCHED, FIXED, IMPROVED:
Stuff that was ADDED, PATCHED, FIXED, IMPROVED:
Line 130: Line 145:
* @H will re-read the drive buffer and displays the correct header without @I.
* @H will re-read the drive buffer and displays the correct header without @I.
* @= checked for 1581 and 1541 - FD uses the same ZP addies. Should work.
* @= checked for 1581 and 1541 - FD uses the same ZP addies. Should work.
* Various changes on the monitor affecting: ''Fill'', ''Compare'', ''Assemble'', ''I/I*-Display'' and Set/Clear Freeze- and Breakpoints. See Section 7.1 and 7.2 !!!
* Various changes on the monitor affecting: ''Fill'', ''Compare'', ''Assemble'', ''I/I*-Display'' and Set/Clear Freeze- and Breakpoints. See Section 7.1 and 7.2 of the manual!
* Pokefinder now searches for any value between 1 and 255.
* Pokefinder now searches for any value between 1 and 255.
* New Keys at the Powerup screen (See Section 1.4)
* New Keys at the Powerup screen (See manual)
* d011 speedup on reset and config
* d011 speedup on reset and config
* Saveland Bitmap Saver fixed ... silly bug by myself
* Saveland Bitmap Saver fixed ... silly bug


[[Category:CyberpunX_Replay]]
[[Category:CyberpunX_Replay]]

Revision as of 20:40, 11 April 2021

This is the original Changelog in proper order as some people requested it :)

That Next section even points to things we really plan to do or even are working on. Incredible, no? So check back here 2020!

(Doh, its 2021 already - time to update ...)


Next

  • Re-write the IO-Switching routines, provide proper API to functions (a 4.x branch will be the outcome)
    • POSSIBLY even gain SuperSnapshot compatibility?
  • Port all the good stuff to the new API
  • continue work on the filecopy selector (postponed until 4.x - needs rewrite)
    • Improve filecopy to work with more than 32 files at once and be more comfortable. This fileselector will probably be used for TASS,etc as well then.
  • add Codenet - D64 Send/Receive (without destroying C64 RAM)
  • SilverSurfer receive routines (64 KB roms ONLY !) - plain ssget is available. RS-232 support is currently sort of frozen.
  • Ninja plans to improve the load routines to do automatic-dir changes and some more small stuff :)
  • Danzig will provide a Sprite/Char-Editor :)

Stuff we are planning TO DO (ordered):

  • Fix load/save in freeze mode to handle files from $0000-$ffff
  • FD fastsave compatibility
    • Ninja checked this out a little closer and we took a closer look at the routines aswell, but the necessary changes would eat a lot of memory. A work-around bugfix is still planned though. Stay tuned.
  • Add a Lock/Unlock File and Disk function (@L)
  • List Ascii Files from Disk (@T)
  • Add a new directory routine which displays Track/Sector and Starting Adress of Files without loosing Ram contents
  • Add a new format routine for 1541 disks, which displays the number of unusable sectors, aswell as their location and which automatically maps out these sectors. This idea is coming from Graham, who told me he got that routine done already... :)
  • WVL/Xenon started working on packing/crunching algorithms, which will be implemented.
  • illegal opcodes for monitor --- yieks
  • Add Turbo Assembler Macro
  • Advanced Disk Monitor
  • A note maker !!! (requested by bugme:Deekay) dobbelblocknoter looks funny
  • and probably as its 2021 - some filebrowser for you new age devices...


Known Bugs

  • fix a bug reported by Frank Kontros (again...hehe) which affects the track/sector ID. Frank supplied the patch already, so it will be done soon.
  • BUG reported by Jack Alien & HOK (reproducable on plain AR and new RRs):
    • enter monitor
    • write a little ML save routine (which saves some area, ffba, ffbd, ffd8)
    • G start (file should be saved fine)
    • hit F3 for directory (RetroReplay ROMs crash HERE)
    • @s:file (ActionReplay V6 crashes HERE) ... to be fixed - happens only on monitor ! (sys routine, f3, etc in basic seems to work fine)
 To reproduce it load a file from a device != 8, send "UI" and then check the error channel.
 E.g. @9 - /file - @UI - @9 leads to "device not present".
 The same will happen on fast save and fast format. The current ROM has space to fix the issue but the layout of the routines leaves too many error cases on which the problem would not reliably get fixed. The alternative, to M-W after each such operation doesn't sound too well either. So be it - problem will remain for the moment :)


Beta 3.99 (64kb Rev.) (in the works)

even more time passed and 32kb ROM support for old Action/Nordic Replay hardware is now dropped completely.

  • re-added VIEW SPRITES with some small changes
  • re-added FILE COPIER with the previously removed WARP option changed to a REPLACE FILES option
  • detection routines for PAL/NTSC, REU size, machine and kernal type and clockport add-ons were added - mostly to be utilised still
  • more


Beta 3.8A,B,Y (64kb Rev.)

  • time has passed --- quite a few things got changed - wonder were the list went...


Beta 3.1 (32/64kb Rev.) (important bugfix)

  • broken J command fixed
  • added a new monitor command: W (no options)
    • This only works in freezemode monitor and displays the freeze and breakpoints to you. Freezepoints are colored white, breakpoints are colored gray. a disassemble of the shown locations will show you the jsr $dxxx for the freezepoint or a BRK and (if set basically correct) 1 or 2 junkbytes, which are leftovers from the original command. Nevermind, when restarting programs the locations will be reset to their original value and the program is restarted as it should be. Just make sure (as noted in the manual) to pass the freezepoint correctly and not crash into it. The JSR to the Freezepoint may be changing depending on the ROM version. You can assemble the JSR manually, but should check for the correct value using a normal SF (Set Freeze) on the freeze monitor.
  • Improved ZAP to work much better. Now the adresses from $0800 to $0803 are restored after zap, while clearing of lower pages was improved. This leads into basically this: load a program with fastload, zap and run it ... improves compatibility a little more. BEWARE though, the pointers for basic program ends and variables will not be set, so it is recommended to load very tricky basic stuff after ZAP without the fastload or after normal reset (only if the program refuses to work with AR/RR all this applies ofcourse :) )


Beta 3 (32/64kb Rev.)

Evaluated the source code to 64 KB romsize. Necessary changes towards the bankswitching routines were made and they worked fine - NOT - a major flaw went unseen for a very long time ...

  • Implemented FIND !!! Thanks again to Arndt Dettke for the sources. The MANUAL contains a closer look at the command.
  • Fixed the fastsave routine! Now filling a disk with 664 blocks works fine.
  • Changed the monitor-internal directory routine to go by the same routine used by the ordinary fastload (F3 on direct mode). This changes:
    • monitor directory display doesn't reset to the root directory on 1581, but displays the correct sub-directory as expected.
    • command stacking using $(device8-30) works as well (but not much further).
    • saved some bytes...
  • DEL command (in basic) fixed to work again. Was broken on Beta 2 already, but no reports. Is nobody using basic anymore ?
  • added TASS... 64 KB only. The basic command TASS envokes turbo assembler 5.2 (some autodrive hack which has more or less proven to be stable). The program is copied to $9000-$cf00 and called with a JMP $9000. nothing is optimized or added in an AR way at all. The good thing though: killing TASS and re-envoking it doesn't kill your source.
  • fixed broken filename on saving koala pictures
  • added RENUMBER for basic toolkit
  • fixed the MERGE command to work again. was broken on Beta 2 due to a resource bug.
  • made the POKE function on the freezer accept hex/dec entries. possible combinations are:
    • any plain decimal combination as used in the original basic command
    • combinations of decimal and hex like: $ff,250 - 4096,$fe - $fff,100 the hex numbers are checked here for correct size. the 16 bit value before the comma can have 1 to 4 chars, the 8 bit value 1 or 2 chars.
    • complete hex entries - incorrect entries will result into an error message or will be ignored.
  • After FREEZE+RESTART channel 3 of SID was always disabled - fixed
  • Added a little delay loop before checking for CTRL and CBM straight after reset. Mainly to be able to press one of these keys before the emulator has finished the reset. While CCS allows to have a key pressed during the reset routine, VICE doesn't seem to have that option (yet).
  • A deeper digging into the freeze routine made me check the $dd00 related part of it aswell. (Thanks to Krill/Plush for some hints and pointing me to an obvious crap up.) Basically we changed the behaviour of the screen switching routines and of the reset/freeze-setup routine to not touch the upper bits of $dd00 to prevent freezed loaders being crashed when restarting. This doesn't happen to all loaders and doesn't happen always, so it's a little tricky to test this. Nevertheless stability on freezing wicked stuff should increase a little. On the other hand, fuckups everywhere! Test, test, test ... :)


Beta 2 (32kb Rev.)

  • All Tape occurences removed. Loading from tape has to be done using the kernal functions now
  • Sprite Viewer removed - The Editor will be added as soon as it's finished
  • A newly introducd bug on the F4 key removed ... leading into a new command as side-effect:
    • new disk-command function added: @#(device) changes device without reading the error channel.
  • Fixed all disk command related operations to work from device 8-30 (hopefully)
  • Found the Collision Killer to be faulty. Basically it was always looking for BOTH collision types, instead of the chosen one. FIXED.
  • Toolkit, Freeze Save Menu and device changes in freeze menu are now changed to work on device 8-30 aswell. These menus will scan the IEC bus for available devices though. If it fails on one of your hardware pieces, contact us!
  • The state of freezing (Monitor mode or menu mode) is now remembered correctly. This means, freeze, Monitor, Exit, Restart and Re-freeze will take you to the freeze menu, instead of the monitor. On the other hand, freezing a program started from the freeze mode monitor (G, G XXXX), will take you directly back to the monitor.
  • Wildcard Hunt for monitor added (See manual Section 7.0)
  • Fixed a bug on the fastformat option. Was in Beta1 already, sigh
  • found back an NTSC rom image. Fixing the current code to work on NTSC only took an hour, but PAL and NTSC on the same rom is somewhat tricky. Anyways, it's a few bytes fix and now we are WORLDWIDE. :)
  • /$ %$ and other load commands acted like LOAD"$",x,1 - fixed to display dir now.
  • Minor fixes on monitor and basic behaviour
  • Fixed the device change lasting forever bug on no-drive systems :)


Beta 1 (32kb Rev.) (unreleased)

32 KB REV. Beta 1

Stuff that was REMOVED completely:

  • Printer Dump on Freezer
  • LOADER Saving on the Utility Menu
  • Novaload Transfer Message
  • Tape Slideshow
  • (T.*)-Extensions (from tape removed). Extensions (E.*) from disk of course remain.
  • Are You Sure ? got lost


Stuff that was ADDED, PATCHED, FIXED, IMPROVED:

  • ZAP is back ... FUCK CBM :))) (See Section 6.5)
  • SAVELAND in Freezer. Check it out !
  • Various changes on the Texteditor (Check the F-Keys)
  • F4 setting on the Fastload Toolkit now changes Devices, not colors.
  • SHIFT-Run/Stop does %0:* (CR) and loads directly off Device 8 on powerup.
  • File and Disk copy can be quit using R/S on the menu aswell.
  • @H will re-read the drive buffer and displays the correct header without @I.
  • @= checked for 1581 and 1541 - FD uses the same ZP addies. Should work.
  • Various changes on the monitor affecting: Fill, Compare, Assemble, I/I*-Display and Set/Clear Freeze- and Breakpoints. See Section 7.1 and 7.2 of the manual!
  • Pokefinder now searches for any value between 1 and 255.
  • New Keys at the Powerup screen (See manual)
  • d011 speedup on reset and config
  • Saveland Bitmap Saver fixed ... silly bug