Quote from: GUNHED on 16:42, 28 April 20The different versions alphabetically sorted:
1. What are the differences between the two versions:
- Demomaker's Delight
- Or EcstaticEndeavour
Is one just the actual release, while the other is the actual newest version. Or is there more to that?
QuoteHow do you check bugs aren't introduced in such a big program? Answer:
2. What are NRTs?
QuoteA source file (encoded).
3. What is an .o file?
Quote from: HAL 6128 on 00:02, 28 April 20Nice new graphics dump feature and step by step emulated execution.
Quote from: m_dr_m on 22:17, 30 April 20That's great. Now, I do have a feature request which would really boost Orgams beyond everything else. Because it doesn't exist in that way (sadly, AFAIK).
In a near future, you'll be able to take snapshot of the memory and do a diff between past & present.
#### New features ####
--- General ---
* Multi-sources.
- In the editor, use CONTROL-f1 to CONTROL-f9 to open isolated "tabs".
- In each tab, you can load a distinct source.
- Warning, if you load a same source in different tabs, make sure you know what you are doing. There isn't automatic synchronisation.
* Comes with Z80 instruction set timing & advanced flag behavior (Z80.o).
* Comes with |BURN (for X-MEM WinBond)
* Versioned ROMs (mainly for me, to be able to have 2 distincts Orgams version in ROM).
Also, prevent messy state if you burn a new version in different slots.
* Power user mode (quite unnecessary now with multi source):
Custom base bank: |org,bk (eg &ef, &e7, &df, &e7 ...)
-> Each would be a separate instance.
That's a temporary poor-man solution to handle several files
or do some side tests.
Warning, no overlap verification is made. Using 128k per
instance (that is, &cf, &df, &ef and the default &ff) would be safe.
You should always save sensitive work, but at last you can
save loadings.
Now, if one of this non-default page is corrupted, |ORGAMS won't help you.
Instead, clear the page via Monogams (default instance via |M):
>b&da (or &df)
>clearpage (or clp)
--- Editor ---
* Deluxe status board.
- Soon to welcome new information.
* CONTROL-% Cycle through IF/THEN/ELSE, MACRO/ENDM and repetition blocks.
• CONTROL-ENTER works in comments (most of the time! bug #F4).
* COPY-G twice to go to *end* of bloc.
* SHIFT-CLR and SHIFT-DEL work when editing fields (filename etc).
• Comments are shaded.
* "repeat n" and "rend" from rasm are supported (but *not* "repeat n,cnt")
--- Assembler ---
* New directive: LOAD"file.bin"
* load"her" ; insert raw bytes at current pos ($$)
--- Monogams ---
* Dedicated status bar
* RSXs without parameters are accepted. [[[todos#ca]]]
* Can select non-X-MEM banks. E.g. b&7cc4 for CPC's internal RAM, b&7eff for RAM outside first 512k.
* SHIFT-CLR and SHIFT-DEL work.
* CTRL-LEFT / RIGHT for graphical dump (gr).
--- Trace ---
* CTRL-ESC working even from DUMP mode.
* Don't display blank lines, for improved source coverage.
* Show call stack (navigate with U/D). E.g., for the code:
call aa
ret
aa call bb
ret
bb BRK
It will display:
? <- Nevermind
aa
bb
#### Change ####
--- General ---
* No more display message for BRICBRAC.ROM (|BURN).
--- Monogams ---
* Use default screen dimensions.
#### Bug Fix ####
--- General ---
* |burn,"file" : handle headerless files.
--- Editor ---
• Markers correction corrected (#E3, #E4)
* Label search (CTRL L, *, ENTER) much faster.
* Stored line (CONTROL-DEL) still present for new source (todo #D0)
* Line per line scrolling speed fixed (x1.4 from Demomaker's Delight).
* COPY now really acts a dead key.
* Shortcuts ok for EN / ES keyboard (CONTROL-; rather than CONTROL-%)
--- Trace ----
* BRK: Exact capture of RMR (+ ROM #) when firmware is used. (#105a)
* BRK + Multiface 2: Exact capture of MMR (at least all 7Fxx connections. 7Cxx to 7Exx not handled). (#106)
• Trace visu lost less often (#C0)
• Fix clipping (#E0)
#### Regression ####
--- General ---
• Requires 4 ROMs instead of 3.
--- Editor ---
* Slower to compute number of lines (post loading).
* Page navigation (Control up/down) is 30% slower.
--- Monogams ---
• Slightly slower (access, display, clear, skip zeros in memory dump).
--- Trace ---
* Slower display / navigation.
Quote from: m_dr_m on 19:00, 15 January 21
Thanks Mr Ghan!
Well, Pyradev and Maxam have "includes" (coming soon in Orgams). If you don't have a ROM Board (X-Mem or else), DAMS remains the most convenient and powerful. Or maybe TurboAss!
Quote from: m_dr_m on 17:20, 16 May 21Trying to assess how important/necessary it is to update English documentation.Another idea would be to ditch the French documentation, and only keep the English one.
Quote from: Targhan on 20:19, 16 May 21Je suggère l'inverse.
Another idea would be to ditch the French documentation, and only keep the English one.
Quote from: Targhan on 21:28, 16 May 21Well, believe it or not, but the Arkos Tracker doc is in English only, and I never had any complaint from French people (and yes, some are using it).That's because all AT users have already capitulated to the empire.
Quote from: Targhan on 20:19, 16 May 21Another idea would be to ditch the French documentation, and only keep the English one.Ich mag die Erlangen Geometrieschule.
Quote from: HAL 6128 on 22:30, 16 May 21Me. Would be great to have a complete translation.Oh yes, nice!
Quote from: m_dr_m on 17:20, 16 May 21Of Course! French is nice (as much as I like German), but English is what we all understand.
Are there Orgams users that doesn't speak French?
Trying to assess how important/necessary it is to update English documentation.
Quote from: HAL 6128 on 23:09, 18 May 21"by pressing the circuit breaker switch"
Quote from: HAL 6128 on 23:09, 18 May 21"La première chose que vous voudrez faire, c'est écouter 6:33."If it makes you fell better, even French people might miss my jokes. Even I, don't understand them after some times.
Quote from: Otto on 10:08, 19 May 21 Don't miss the online translator: https://deepl.com/ It's much better than Google. Haven't it tested with French, but for English <-> German translations it's excellent, and it covers most European languages.
Quote from: eto on 09:17, 19 May 212) Cultural references, which others don't understand, are generally problematic.
init ; global init
call ui.init
call player.init
if use_mock
import "fakemus"
else
import "shapmus"
end
[...]
; Also have to adapt prefix: fakemus.iter vs shapmus.iter
if use_mock
import "fakemus" as mus
else
import "shapmus" as mus
end
[...]
call mus.iter
module Player
init
[...]
update
.loop
[...]
djnz .loop
ret
display
[...]
endmodule
module Monsters
init
[...]
update
.loop
[...]
djnz .loop
ret
display
[...]
endmodule
[...]
call Player.update
module mus
if use_mock
import "fakemus"
else
import "shapmus"
end
endmodule
Quote from: Cwiiis on 00:23, 05 August 21- What's the format of the .ROM files?
- Are there any handy tools for making .cpr files? (I can easily write a Python script to do this, but maybe someone already has?)
- Does C4CPC already have support for something that makes all of what I'm asking pointless?
- How is everyone else going about using this? I see all this talk about burning, I assume this is referring to some kind of ROM replacement or add-in? Is this the X-MEM device I've seen referred to?
Quote from: andycadley on 22:37, 05 August 21
You might need a hacked BASIC/Firmware ROM inside the CPR in order to initialize ROMs that are located in the cartridge ROM space as opposed to the "usual" ones. I don't know if there is one floating around, but I suspect there probably is as I'm sure I've seen carts that include some ROMs already.
Quote from: Cwiiis on 00:38, 06 August 21@Dragon : did that before. See here: https://www.cpcwiki.eu/forum/programming/futureos-corner/msg134987/#msg134987 (https://www.cpcwiki.eu/forum/programming/futureos-corner/msg134987/#msg134987)
Yes, I plan on building a ROM like the ones provided on the C4CPC page, but including Orgams, Starkos and some kind of paint program to make it easy to do development on a stock 6128+ (and probably excluding Burning Rubber :) ).
Quote from: GUNHED on 17:34, 06 August 21Cheers :) I guess things work in that case as FutureOS is Plus-aware(?) I need to take a look at FutureOS for sure. For now, I've contacted TotO to get an X-MEM board, but it'd be nice to come back and figure this out properly - I got as far as finding arnoldemu's work of patching the OS to load from cartridge banks instead of the lower ROM banks, but it didn't behave quite right and debugging it is probably slightly beyond me (or rather, that's more time than I want to spend on something like that, rather than just using the machine!) I did at least finish a tool to build cpr files, hopefully someone finds that useful at some point.
@Dragon : did that before. See here: https://www.cpcwiki.eu/forum/programming/futureos-corner/msg134987/#msg134987 (https://www.cpcwiki.eu/forum/programming/futureos-corner/msg134987/#msg134987)
There are better links, I just don't find them right now.
However his great work may be helpful to you.
(Nice banjo btw).
/*
ld hl,#4000
ld de,#4001
ld bc,#3fff
ld (hl),l
ldir
*/
ld hl,#c000 ; this instruction will be assembled.
if 0
ld hl,#4000
ld de,#4001
ld bc,#3fff
ld (hl),l
ldir
end
clear_screen = 0
display_tm = 1
dev_checks = 1
[...]
if clear_screen
ld hl,#4000
ld de,#4001
ld bc,#3fff
ld (hl),l
ldir
end
Quote from: GUNHED on 15:53, 11 August 21Or get out of the 50ies. Let the Editor care about what's comment and what's not.
On screen show code and comments in different colors or in regular and italics. Something like that.
This would save as from strange comment characters like ";" or "/*".
MACRO LINE_INT n
MAP_PLUS(1)
ld a,n
ld (&6800),a
MAP_PLUS(0)
ENDM
Quote from: m_dr_m on 01:12, 16 August 21No idea what happened, but I uncommented it and it just works now. Previously it was complaining that the parameter label didn't exist... Who knows!
Hypothesis: there is a syntax error in MAP_PLUS(1), and a bug about the reported line.
What happen if you put a NOP before ld a,n?
Quote from: Cwiiis on 19:41, 18 August 21Previously it was complaining that the parameter label didn't exist...That can happen when the passed expression cannot be resolved at invocation time (e.g. forward reference).
LINE_INT(defined_after)
[...]
defined_after = 4
Quote from: Cwiiis on 19:41, 18 August 21Another question, are there greater than/less than predicates?Not yet! I can explain how to add them :)
Quote from: Cwiiis on 19:41, 18 August 21it resets back to basicOrgams is pretty much crash-safe (at worse, some assert/breakpoint might be triggered, which would switch to debugger page).
Quote from: Cwiiis on 02:16, 26 August 21then it also imports thousands of lines of nothing...Which DOS are you using?
Quote from: Cwiiis on 23:58, 11 August 21I think my number 1 feature request would be to show all 8 bitsDone!
Quote from: Cwiiis on 02:16, 26 August 21So I guess somehow Orgams is missing the end of the fileFixed!
Quote from: GUNHED on 15:52, 12 August 21The world is not ready for my ideaThe world was ready decades ago. It's called WYSIWYG, and that's usually in a pain in the ass.
gen_mesh
ld b,width
.loopx
[...]
djnz loopx
[...]
display_mesh
ld b,width
.loopx
[...]
djnz loopx
[...]
ld b,width2
jr gen_mesh.loopx
module Player
init
[...]
update
.loop
[...]
djnz .loop
ret
display
[...]
endmodule
call Player.init
jr Player.update.loop
call Player::init
jr Player::update.loop
import "math.i"
import "math.o"
ld hl,math.i::PI
call math.o::cos
module math_i
import "math.i"
endmodule
module math_o
import "math.o"
endmodule